CreateTableGenerator.java
package ru.volnenko.maven.plugin.databasedoc.generator.impl;
import lombok.NonNull;
import ru.volnenko.maven.plugin.databasedoc.generator.ICreateTableGenerator;
import ru.volnenko.maven.plugin.databasedoc.model.impl.CreateTable;
import ru.volnenko.maven.plugin.databasedoc.util.StringUtil;
public final class CreateTableGenerator extends AbstractGenerator implements ICreateTableGenerator {
@NonNull
private CreateTable createTable = new CreateTable();
@NonNull
private String serviceName = "";
@NonNull
private String dataBaseInfo = "";
@NonNull
@Override
public ICreateTableGenerator createTable(@NonNull final CreateTable createTable) {
this.createTable = createTable;
return this;
}
@NonNull
@Override
public ICreateTableGenerator serviceName(@NonNull final String serviceName) {
this.serviceName = serviceName;
return this;
}
@NonNull
@Override
public ICreateTableGenerator dataBaseInfo(@NonNull final String dataBaseInfo) {
this.dataBaseInfo = dataBaseInfo;
return this;
}
@NonNull
@Override
public StringBuilder append(@NonNull final StringBuilder stringBuilder) {
stringBuilder.append("=== Сущность \"" + StringUtil.format(createTable.getTableName()) + "\"\n");
stringBuilder.append("\n");
stringBuilder.append("==== Общие сведения\n");
stringBuilder.append("\n");
stringBuilder.append("[cols=\"20,80\"]\n");
stringBuilder.append("|===\n");
stringBuilder.append("\n");
stringBuilder.append("|*Физ. название*:\n");
stringBuilder.append("|" + StringUtil.format(createTable.getTableName()) + "\n");
stringBuilder.append("\n");
stringBuilder.append("|*Лог. название*:\n");
stringBuilder.append("|" + StringUtil.format(createTable.getRemarks()) + "\n");
{
@NonNull final String name = StringUtil.format(serviceName);
if (!name.isEmpty()) {
stringBuilder.append("\n");
stringBuilder.append("|*Сервис*:\n");
stringBuilder.append("|" + name + "\n");
}
}
{
@NonNull final String name = StringUtil.format(createTable.getCatalogName());
if (!name.isEmpty()) {
stringBuilder.append("\n");
stringBuilder.append("|*База данных*:\n");
stringBuilder.append("|" + name + "\n");
}
}
{
@NonNull final String text = StringUtil.format(dataBaseInfo);
if (!text.isEmpty()) {
stringBuilder.append("\n");
stringBuilder.append("|*Доп. сведения*:\n");
stringBuilder.append("|" + text + "\n");
}
}
{
@NonNull final String name = StringUtil.format(createTable.getSchemaName());
if (!name.isEmpty()) {
stringBuilder.append("\n");
stringBuilder.append("|*Схема*:\n");
stringBuilder.append("|" + name + "\n");
}
}
stringBuilder.append("\n");
stringBuilder.append("|===\n");
stringBuilder.append("\n");
return stringBuilder;
}
}