All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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