ChangeBuilder.java
package ru.volnenko.maven.plugin.databasedoc.builder.impl;
import lombok.NonNull;
import ru.volnenko.maven.plugin.databasedoc.builder.IChangeBuilder;
import ru.volnenko.maven.plugin.databasedoc.model.impl.Change;
import ru.volnenko.maven.plugin.databasedoc.model.impl.Root;
public final class ChangeBuilder implements IChangeBuilder {
@NonNull
private final ChangeSetItemBuilder changeSetItemBuilder;
@NonNull
private final Change change = new Change();
public ChangeBuilder(@NonNull ChangeSetItemBuilder changeSetItemBuilder) {
this.changeSetItemBuilder = changeSetItemBuilder;
changeSetItemBuilder.changeSet().add(change);
}
@NonNull
@Override
public CreateTableBuilder createTable() {
return new CreateTableBuilder(this);
}
@NonNull
@Override
public CreateTypeBuilder createType() {
return new CreateTypeBuilder(this);
}
@NonNull
@Override
public Change change() {
return change;
}
@NonNull
@Override
public Root root() {
return changeSetItemBuilder.root();
}
@Override
@NonNull
public ChangeBuilder and() {
return new ChangeBuilder(changeSetItemBuilder);
}
}