Class ColumnConfig

  • All Implemented Interfaces:
    LiquibaseSerializable
    Direct Known Subclasses:
    AddColumnConfig, LoadDataColumnConfig

    public class ColumnConfig
    extends AbstractLiquibaseSerializable
    The standard configuration used by Change classes to represent a column. It is not required that a column-based Change uses this class, but parsers should look for it so it is a helpful convenience. The definitions of "defaultValue" and "value" will vary based on the Change and may not be applicable in all cases.
    • Constructor Detail

      • ColumnConfig

        public ColumnConfig​(Column columnSnapshot)
        Create a ColumnConfig object based on a Column snapshot. It will attempt to set as much as possible based on the information in the snapshot.
      • ColumnConfig

        public ColumnConfig()
        Create am empty ColumnConfig object. Boolean and other object values will default to null.
    • Method Detail

      • getName

        public String getName()
        The name of the column.
      • getComputed

        public Boolean getComputed()
      • getValue

        public String getValue()
        The String value to set this column to. If you do not want the value set by setValue(String) use a more specific function like getValueNumeric() or the more generic getValueObject()

        If performing an data manipulation operation, the setValue* functions should be used to set what the columns should be set to. If performing a data definition operation, this setValue* functions should be used to set what existing rows should be set to (may be different than the default value for new rows)
      • setValue

        public ColumnConfig setValue​(String value)
        Sets the string value this column should be set to. If you are trying to set a value type other than a string, use the more specific functions like setValueNumeric(Number). This method does no processing of the string. Any trimming is expected to be done beforehand. It does not convert the string "null" to null so that you can set the string "null" as a value if you are feeling particularly crazy.
      • getValueNumeric

        public Number getValueNumeric()
        Return the numeric value this column should be set to.
        See Also:
        setValue(String)
      • setValueNumeric

        public ColumnConfig setValueNumeric​(String valueNumeric)
        Set the number this column should be set to. Supports integers and decimals, and strips off any wrapping parentheses. If the passed value cannot be parsed as a number in US locale, it is assumed to be a function that returns a number. If the value "null" is passed, it will set a null value.
      • getValueBoolean

        public Boolean getValueBoolean()
        Return the boolean value this column should be set to.
        See Also:
        setValue(String)
      • setValueBoolean

        public ColumnConfig setValueBoolean​(String valueBoolean)
        Set the valueBoolean based on a given string. If the passed value cannot be parsed as a boolean, it is assumed to be a function that returns a boolean. If the string "null" or an empty string is passed, it will set a null value. If "1" is passed, defaultValueBoolean is set to true. If 0 is passed, defaultValueBoolean is set to false
      • getValueDate

        public Date getValueDate()
        Return the date value this column should be set to.
        See Also:
        setValue(String)
      • setValueDate

        public ColumnConfig setValueDate​(String valueDate)
                                  throws DateParseException
        Set the date this column should be set to. Supports any of the date or datetime formats handled by ISODateFormat. If the passed value cannot be parsed as a date, it is assumed to be a function that returns a date. If the string "null" is passed, it will set a null value.
        Parameters:
        valueDate - the Date Value to use (may be null or "null", or start with "now" or "today").
        Throws:
        DateParseException - if the columnType isn't supported for "now" or "today" values.
      • getValueBlobFile

        public String getValueBlobFile()
        Return the file containing the data to load into a BLOB.
        See Also:
        setValue(String)
      • getValueClobFile

        public String getValueClobFile()
        Return the file containing the data to load into a CLOB.
        See Also:
        setValue(String)
      • getEncoding

        public String getEncoding()
        Return encoding of a file, referenced via valueClobFile.
      • getValueObject

        public Object getValueObject()
        Return the value from whatever setValue* function was called. Will return null if none were set.
      • setDefaultValue

        public ColumnConfig setDefaultValue​(String defaultValue)
        Sets the string default value to assign to this column. If you are trying to set a default value type other than a string, use the more specific functions like setDefaultValueNumeric(Number). This method does no processing of the string. Any trimming is expected to be done beforehand. It does not convert the string "null" to null so that you can set the string "null" as a value if you are feeling particularly crazy.
      • getDefaultValueNumeric

        public Number getDefaultValueNumeric()
        Return the numeric value this column should default to.
        See Also:
        setDefaultValue(String)
      • setDefaultValueNumeric

        public ColumnConfig setDefaultValueNumeric​(String defaultValueNumeric)
        Set the number this column should use as its default. Supports integers and decimals, and strips off any wrapping parentheses. If the passed value cannot be parsed as a number, it is assumed to be a function that returns a number. If the value "null" is passed, it will set a null value.

        A special case is made for "GENERATED_BY_DEFAULT" which simply sets the ColumnConfig object to autoIncrement.
      • setDefaultValueNumeric

        public ColumnConfig setDefaultValueNumeric​(Number defaultValueNumeric)
      • getDefaultValueDate

        public Date getDefaultValueDate()
        Return the date value this column should default to.
        See Also:
        setDefaultValue(String)
      • setDefaultValueDate

        public ColumnConfig setDefaultValueDate​(Date defaultValueDate)
      • setDefaultValueDate

        public ColumnConfig setDefaultValueDate​(String defaultValueDate)
        Set the date this column should default to. Supports any of the date or datetime formats handled by ISODateFormat. If the passed value cannot be parsed as a date, it is assumed to be a function that returns a date. If the string "null" or an empty string is passed, it will set a null value.
      • getDefaultValueBoolean

        public Boolean getDefaultValueBoolean()
        Return the boolean value this column should default to.
        See Also:
        setDefaultValue(String)
      • setDefaultValueBoolean

        public ColumnConfig setDefaultValueBoolean​(String defaultValueBoolean)
        Set the defaultValueBoolean based on a given string. If the passed value cannot be parsed as a boolean, it is assumed to be a function that returns a boolean. If the string "null" or an empty string is passed, it will set a null value. If "1" is passed, defaultValueBoolean is set to true. If 0 is passed, defaultValueBoolean is set to false
      • setDefaultValueBoolean

        public ColumnConfig setDefaultValueBoolean​(Boolean defaultValueBoolean)
      • getDefaultValueObject

        public Object getDefaultValueObject()
        Return the value to set this column's default to according to the setDefaultValue* function that was called. If none were called, this function returns null.
      • getConstraints

        public ConstraintsConfig getConstraints()
        Returns the ConstraintsConfig this ColumnConfig is using. Returns null if nho constraints have been assigned yet.
      • isAutoIncrement

        public Boolean isAutoIncrement()
        Returns true if this Column should be set to be auto increment. Returns null if auto-increment hasn't been explicitly assigned.
      • getStartWith

        public BigInteger getStartWith()
        Return the number to start auto incrementing with.
      • getIncrementBy

        public BigInteger getIncrementBy()
        Return the amount to auto increment by.
      • hasDefaultValue

        public boolean hasDefaultValue()
        Returns true if any of the setDefaultValue* functions have had a non-null value set
      • getRemarks

        public String getRemarks()
        Return the remarks to apply to this column.
      • getDescending

        public Boolean getDescending()
      • getDefaultOnNull

        public Boolean getDefaultOnNull()
      • getGenerationType

        public String getGenerationType()
      • getSerializedObjectName

        public String getSerializedObjectName()
      • getDefaultValueConstraintName

        public String getDefaultValueConstraintName()
      • setDefaultValueConstraintName

        public void setDefaultValueConstraintName​(String defaultValueConstraintName)
      • getSerializedObjectNamespace

        public String getSerializedObjectNamespace()