All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.objectos.schema.info.TableInfoBuilderPojo Maven / Gradle / Ivy

The newest version!
package br.com.objectos.schema.info;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import javax.annotation.Generated;

@Generated({
    "br.com.objectos.pojo.compiler.PojoCompiler",
    "br.com.objectos.pojo.plugin.ListPlugin",
    "br.com.objectos.pojo.plugin.OptionalPlugin",
    "br.com.objectos.pojo.plugin.StandardBuilderPropertyAction"
})
final class TableInfoBuilderPojo implements TableInfoBuilder, TableInfoBuilder.TableInfoBuilderTableName, TableInfoBuilder.TableInfoBuilderColumnInfoList, TableInfoBuilder.TableInfoBuilderPrimaryKeyInfo, TableInfoBuilder.TableInfoBuilderForeignKeyInfoList {
  private TableName tableName;

  private List columnInfoList;

  private Optional primaryKeyInfo;

  private List foreignKeyInfoList;

  public TableInfoBuilderPojo() {
  }

  @Override
  public TableInfo build() {
    return new TableInfoPojo(this);
  }

  @Override
  public TableInfoBuilder.TableInfoBuilderTableName tableName(TableName tableName) {
    if (tableName == null) {
      throw new NullPointerException();
    }
    this.tableName = tableName;
    return this;
  }

  TableName ___get___tableName() {
    return tableName;
  }

  @Override
  public TableInfoBuilder.TableInfoBuilderColumnInfoList columnInfoList(List columnInfoList) {
    if (columnInfoList == null) {
      throw new NullPointerException();
    }
    this.columnInfoList = columnInfoList;
    return this;
  }

  List ___get___columnInfoList() {
    return columnInfoList;
  }

  @Override
  public TableInfoBuilder.TableInfoBuilderColumnInfoList columnInfoList(ColumnInfo... elements) {
    if (elements == null) {
      throw new NullPointerException();
    }
    List columnInfoList = new ArrayList<>(elements.length);
    for (int i = 0; i < elements.length; i++) {
      ColumnInfo e = elements[i];
      if (e == null) {
        throw new NullPointerException();
      }
      columnInfoList.add(e);
    }
    this.columnInfoList = Collections.unmodifiableList(columnInfoList);
    return this;
  }

  @Override
  public TableInfoBuilder.TableInfoBuilderPrimaryKeyInfo primaryKeyInfo(Optional primaryKeyInfo) {
    if (primaryKeyInfo == null) {
      throw new NullPointerException();
    }
    this.primaryKeyInfo = primaryKeyInfo;
    return this;
  }

  Optional ___get___primaryKeyInfo() {
    return primaryKeyInfo;
  }

  @Override
  public TableInfoBuilder.TableInfoBuilderPrimaryKeyInfo primaryKeyInfo() {
    this.primaryKeyInfo = Optional.empty();
    return this;
  }

  @Override
  public TableInfoBuilder.TableInfoBuilderPrimaryKeyInfo primaryKeyInfoOf(PrimaryKeyInfo primaryKeyInfo) {
    this.primaryKeyInfo = Optional.of(primaryKeyInfo);
    return this;
  }

  @Override
  public TableInfoBuilder.TableInfoBuilderPrimaryKeyInfo primaryKeyInfoOfNullable(PrimaryKeyInfo primaryKeyInfo) {
    this.primaryKeyInfo = Optional.ofNullable(primaryKeyInfo);
    return this;
  }

  @Override
  public TableInfoBuilder.TableInfoBuilderForeignKeyInfoList foreignKeyInfoList(List foreignKeyInfoList) {
    if (foreignKeyInfoList == null) {
      throw new NullPointerException();
    }
    this.foreignKeyInfoList = foreignKeyInfoList;
    return this;
  }

  List ___get___foreignKeyInfoList() {
    return foreignKeyInfoList;
  }

  @Override
  public TableInfoBuilder.TableInfoBuilderForeignKeyInfoList foreignKeyInfoList(ForeignKeyInfo... elements) {
    if (elements == null) {
      throw new NullPointerException();
    }
    List foreignKeyInfoList = new ArrayList<>(elements.length);
    for (int i = 0; i < elements.length; i++) {
      ForeignKeyInfo e = elements[i];
      if (e == null) {
        throw new NullPointerException();
      }
      foreignKeyInfoList.add(e);
    }
    this.foreignKeyInfoList = Collections.unmodifiableList(foreignKeyInfoList);
    return this;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy