Class ColumnDefinition<TYPE>

java.lang.Object
com.illumon.dataobjects.generated.DefaultColumnDefinition
com.illumon.dataobjects.ColumnDefinition<TYPE>
All Implemented Interfaces:
com.fishlib.base.Copyable<DefaultColumnDefinition>, com.fishlib.base.log.LogOutputAppendable, com.fishlib.base.SafeCloneable<DefaultColumnDefinition>, com.fishlib.dataobjects.persistence.WObjectStreamConstants, com.fishlib.dataobjects.WAbstractDataObject, Externalizable, Serializable, Cloneable
Direct Known Subclasses:
ImporterColumnDefinition

public class ColumnDefinition<TYPE> extends DefaultColumnDefinition
Column definition for all Iris columns. Adds non-stateful functionality to DefaultColumnDefinition.
See Also:
  • Field Details

    • ZERO_LENGTH_COLUMN_DEFINITION_ARRAY

      public static final ColumnDefinition[] ZERO_LENGTH_COLUMN_DEFINITION_ARRAY
    • COLUMN_TYPE_FORMATTER

      public static final com.fishlib.base.formatters.EnumFormatter COLUMN_TYPE_FORMATTER
    • ENCODING_FORMATTER

      public static final com.fishlib.base.formatters.EnumFormatter ENCODING_FORMATTER
  • Constructor Details

    • ColumnDefinition

      public ColumnDefinition()
    • ColumnDefinition

      public ColumnDefinition(String name, Class<TYPE> dataType)
    • ColumnDefinition

      public ColumnDefinition(String name, Class<TYPE> dataType, int columnType)
    • ColumnDefinition

      public ColumnDefinition(String name, Class<TYPE> dataType, int columnType, boolean isVarSizeString)
    • ColumnDefinition

      public ColumnDefinition(ColumnDefinition source)
  • Method Details

    • clone

      public ColumnDefinition clone()
      Specified by:
      clone in interface com.fishlib.dataobjects.WAbstractDataObject
      Overrides:
      clone in class DefaultColumnDefinition
    • getDataType

      public Class<TYPE> getDataType()
      Overrides:
      getDataType in class DefaultColumnDefinition
    • isGrouping

      public boolean isGrouping()
    • isPartitioning

      public boolean isPartitioning()
    • isDirect

      public boolean isDirect()
    • isCompatible

      public boolean isCompatible(ColumnDefinition other)
      Compares two ColumnDefinitions somewhat more permissively than equals, disregarding matters of storage and derivation.
      Parameters:
      other - - The ColumnDefinition to compare to.
      Returns:
      True if the ColumnDefinition defines a column whose data is compatible with this ColumnDefinition.
    • describeDifferences

      public void describeDifferences(@NotNull @NotNull List<String> differences, @NotNull @NotNull ColumnDefinition other, @NotNull @NotNull String lhs, @NotNull @NotNull String rhs, @NotNull @NotNull String prefix)
      Enumerate the differences between this ColumnDefinition, and another one. Lines will be of the form "lhs attribute 'value' does not match rhs attribute 'value'.
      Parameters:
      differences - an array to which differences can be added
      other - the ColumnDefinition under comparison
      lhs - what to call "this" definition
      rhs - what to call the other definition
      prefix - begin each difference with this string
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class DefaultColumnDefinition
    • rename

      public ColumnDefinition rename(String newName)
    • withPartitioning

      public ColumnDefinition<?> withPartitioning()
    • withGrouping

      public ColumnDefinition<?> withGrouping()
    • getSymbolTableType

      public ColumnDefinition.SymbolTableType getSymbolTableType()
    • getEncodingInfo

      public com.fishlib.base.string.EncodingInfo getEncodingInfo()
    • getEncodingInfo

      public static com.fishlib.base.string.EncodingInfo getEncodingInfo(int encoding)
    • getObjectCodecType

      public ColumnDefinition.ObjectCodecType getObjectCodecType()
      Get the appropriate ObjectCodecType for this column definition.
      Returns:
      The StandardObjectCodec, or null if none is appropriate
    • isFixedWidthObjectType

      public boolean isFixedWidthObjectType()
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Specified by:
      readExternal in interface Externalizable
      Overrides:
      readExternal in class DefaultColumnDefinition
      Throws:
      IOException
      ClassNotFoundException
    • beginPersistentSerialization

      public static void beginPersistentSerialization()
    • endPersistentSerialization

      public static void endPersistentSerialization()
    • doingPersistentSerialization

      public static boolean doingPersistentSerialization()
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Overrides:
      writeExternal in class DefaultColumnDefinition
      Throws:
      IOException