CreateTableBuilder.java
package ru.volnenko.maven.plugin.databasedoc.builder.impl;
import lombok.NonNull;
import ru.volnenko.maven.plugin.databasedoc.builder.ICreateTableBuilder;
import ru.volnenko.maven.plugin.databasedoc.model.impl.CreateTable;
import ru.volnenko.maven.plugin.databasedoc.model.impl.Root;
public final class CreateTableBuilder implements ICreateTableBuilder {
@NonNull
private final ChangeBuilder changeBuilder;
@NonNull
private final CreateTable createTable = new CreateTable();
public CreateTableBuilder(@NonNull ChangeBuilder changeBuilder) {
this.changeBuilder = changeBuilder;
changeBuilder.change().setCreateTable(createTable);
}
@NonNull
@Override
public ColumnBuilder column() {
return new ColumnBuilder(this);
}
@NonNull
@Override
public CreateTableBuilder tablespace(@NonNull final String tablespace) {
createTable.setTablespace(tablespace);
return this;
}
@NonNull
@Override
public CreateTableBuilder catalogName(@NonNull final String catalogName) {
createTable.setCatalogName(catalogName);
return this;
}
@NonNull
@Override
public CreateTableBuilder tableName(@NonNull final String tableName) {
createTable.setTableName(tableName);
return this;
}
@NonNull
@Override
public CreateTableBuilder remarks(@NonNull final String remarks) {
createTable.setRemarks(remarks);
return this;
}
@NonNull
@Override
public CreateTable createTable() {
return createTable;
}
@NonNull
@Override
public Root root() {
return changeBuilder.root();
}
@NonNull
@Override
public ChangeBuilder change() {
return changeBuilder.and();
}
}