
com.blossomproject.generator.configuration.StringFieldBuilder Maven / Gradle / Ivy
package com.blossomproject.generator.configuration;
import com.blossomproject.generator.configuration.model.Field;
import com.blossomproject.generator.configuration.model.impl.StringField;
public class StringFieldBuilder extends FieldBuilder {
private Integer maxLength;
private boolean notBlank;
private boolean isLob;
StringFieldBuilder(FieldsBuilder parent, String name) {
super(parent, name, String.class, "varchar");
}
public StringFieldBuilder maxLength(Integer maxLength) {
this.maxLength = maxLength;
this.jdbcType = "varchar(" + maxLength + ")";
return this;
}
public StringFieldBuilder notBlank(boolean notBlank) {
this.notBlank = notBlank;
return this;
}
public StringFieldBuilder isLob(boolean isLob) {
this.isLob = isLob;
this.jdbcType = "clob";
return this;
}
@Override
Field build() {
return new StringField(name, columnName, className, jdbcType, required, updatable, nullable,
defaultValue, searchable, notBlank, maxLength, isLob);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy