Add some javadoc

This commit is contained in:
James Agnew 2019-07-19 13:42:01 -04:00
parent d304a8fb6c
commit 03918fe29a
1 changed files with 85 additions and 79 deletions

View File

@ -117,6 +117,53 @@ public class BaseMigrationTasks<T extends Enum> {
addTask(task); addTask(task);
} }
public class BuilderAddTableRawSql {
private final AddTableRawSqlTask myTask;
protected BuilderAddTableRawSql(String theTableName) {
myTask = new AddTableRawSqlTask();
myTask.setTableName(theTableName);
addTask(myTask);
}
public BuilderAddTableRawSql addSql(DriverTypeEnum theDriverTypeEnum, @Language("SQL") String theSql) {
myTask.addSql(theDriverTypeEnum, theSql);
return this;
}
public void addSql(@Language("SQL") String theSql) {
myTask.addSql(theSql);
}
}
public class BuilderAddTableByColumns extends BuilderWithTableName implements IAcceptsTasks {
private final AddTableByColumnTask myTask;
public BuilderAddTableByColumns(IAcceptsTasks theSink, String theTableName, String thePkColumnName) {
super(theSink, theTableName);
myTask = new AddTableByColumnTask();
myTask.setTableName(theTableName);
myTask.setPkColumn(thePkColumnName);
theSink.addTask(myTask);
}
@Override
public BuilderWithTableName.BuilderAddColumnWithName addColumn(String theColumnName) {
return new BuilderWithTableName.BuilderAddColumnWithName(theColumnName, this);
}
@Override
public void addTask(BaseTask<?> theTask) {
if (theTask instanceof AddColumnTask) {
myTask.addAddColumnTask((AddColumnTask) theTask);
} else {
super.addTask(theTask);
}
}
}
public static class BuilderWithTableName implements IAcceptsTasks { public static class BuilderWithTableName implements IAcceptsTasks {
private final String myTableName; private final String myTableName;
private final IAcceptsTasks mySink; private final IAcceptsTasks mySink;
@ -161,7 +208,7 @@ public class BaseMigrationTasks<T extends Enum> {
@Override @Override
public void addTask(BaseTask<?> theTask) { public void addTask(BaseTask<?> theTask) {
((BaseTableTask<?>)theTask).setTableName(myTableName); ((BaseTableTask<?>) theTask).setTableName(myTableName);
mySink.addTask(theTask); mySink.addTask(theTask);
} }
@ -177,6 +224,12 @@ public class BaseMigrationTasks<T extends Enum> {
return renameColumn(theOldName, theNewName, false, false); return renameColumn(theOldName, theNewName, false, false);
} }
/**
* @param theOldName The old column name
* @param theNewName The new column name
* @param theAllowNeitherColumnToExist Setting this to true means that it's not an error if neither column exists
* @param theDeleteTargetColumnFirstIfBothEixst Setting this to true causes the migrator to be ok with the target column existing. It will make sure that there is no data in the column with the new name, then delete it if so in order to make room for the renamed column. If there is data it will still bomb out.
*/
public BuilderWithTableName renameColumn(String theOldName, String theNewName, boolean theAllowNeitherColumnToExist, boolean theDeleteTargetColumnFirstIfBothEixst) { public BuilderWithTableName renameColumn(String theOldName, String theNewName, boolean theAllowNeitherColumnToExist, boolean theDeleteTargetColumnFirstIfBothEixst) {
RenameColumnTask task = new RenameColumnTask(); RenameColumnTask task = new RenameColumnTask();
task.setTableName(myTableName); task.setTableName(myTableName);
@ -217,47 +270,6 @@ public class BaseMigrationTasks<T extends Enum> {
} }
} }
public static class BuilderAddColumnWithName {
private final String myColumnName;
private final IAcceptsTasks myTaskSink;
public BuilderAddColumnWithName(String theColumnName, IAcceptsTasks theTaskSink) {
myColumnName = theColumnName;
myTaskSink = theTaskSink;
}
public BuilderAddColumnWithNameNullable nullable() {
return new BuilderAddColumnWithNameNullable(true);
}
public BuilderAddColumnWithNameNullable nonNullable() {
return new BuilderAddColumnWithNameNullable(false);
}
public class BuilderAddColumnWithNameNullable {
private final boolean myNullable;
public BuilderAddColumnWithNameNullable(boolean theNullable) {
myNullable = theNullable;
}
public void type(AddColumnTask.ColumnTypeEnum theColumnType) {
type(theColumnType, null);
}
public void type(AddColumnTask.ColumnTypeEnum theColumnType, Integer theLength) {
AddColumnTask task = new AddColumnTask();
task.setColumnName(myColumnName);
task.setNullable(myNullable);
task.setColumnType(theColumnType);
if (theLength != null) {
task.setColumnLength(theLength);
}
myTaskSink.addTask(task);
}
}
}
public class BuilderModifyColumnWithName { public class BuilderModifyColumnWithName {
private final String myColumnName; private final String myColumnName;
@ -341,51 +353,45 @@ public class BaseMigrationTasks<T extends Enum> {
} }
} }
} }
}
public class BuilderAddTableRawSql { public static class BuilderAddColumnWithName {
private final String myColumnName;
private final IAcceptsTasks myTaskSink;
private final AddTableRawSqlTask myTask; public BuilderAddColumnWithName(String theColumnName, IAcceptsTasks theTaskSink) {
myColumnName = theColumnName;
myTaskSink = theTaskSink;
}
protected BuilderAddTableRawSql(String theTableName) { public BuilderAddColumnWithNameNullable nullable() {
myTask = new AddTableRawSqlTask(); return new BuilderAddColumnWithNameNullable(true);
myTask.setTableName(theTableName); }
addTask(myTask);
}
public BuilderAddColumnWithNameNullable nonNullable() {
return new BuilderAddColumnWithNameNullable(false);
}
public BuilderAddTableRawSql addSql(DriverTypeEnum theDriverTypeEnum, @Language("SQL") String theSql) { public class BuilderAddColumnWithNameNullable {
myTask.addSql(theDriverTypeEnum, theSql); private final boolean myNullable;
return this;
}
public void addSql(@Language("SQL") String theSql) { public BuilderAddColumnWithNameNullable(boolean theNullable) {
myTask.addSql(theSql); myNullable = theNullable;
} }
}
public class BuilderAddTableByColumns extends BuilderWithTableName implements IAcceptsTasks { public void type(AddColumnTask.ColumnTypeEnum theColumnType) {
private final AddTableByColumnTask myTask; type(theColumnType, null);
}
public BuilderAddTableByColumns(IAcceptsTasks theSink, String theTableName, String thePkColumnName) { public void type(AddColumnTask.ColumnTypeEnum theColumnType, Integer theLength) {
super(theSink, theTableName); AddColumnTask task = new AddColumnTask();
myTask = new AddTableByColumnTask(); task.setColumnName(myColumnName);
myTask.setTableName(theTableName); task.setNullable(myNullable);
myTask.setPkColumn(thePkColumnName); task.setColumnType(theColumnType);
theSink.addTask(myTask); if (theLength != null) {
} task.setColumnLength(theLength);
}
@Override myTaskSink.addTask(task);
public BuilderWithTableName.BuilderAddColumnWithName addColumn(String theColumnName) { }
return new BuilderWithTableName.BuilderAddColumnWithName(theColumnName, this);
}
@Override
public void addTask(BaseTask<?> theTask) {
if (theTask instanceof AddColumnTask) {
myTask.addAddColumnTask((AddColumnTask) theTask);
} else {
super.addTask(theTask);
} }
} }
} }