Class FieldSpec

    • Field Detail

      • DEFAULT_DIMENSION_NULL_VALUE_OF_INT

        public static final Integer DEFAULT_DIMENSION_NULL_VALUE_OF_INT
      • DEFAULT_DIMENSION_NULL_VALUE_OF_LONG

        public static final Long DEFAULT_DIMENSION_NULL_VALUE_OF_LONG
      • DEFAULT_DIMENSION_NULL_VALUE_OF_FLOAT

        public static final Float DEFAULT_DIMENSION_NULL_VALUE_OF_FLOAT
      • DEFAULT_DIMENSION_NULL_VALUE_OF_DOUBLE

        public static final Double DEFAULT_DIMENSION_NULL_VALUE_OF_DOUBLE
      • DEFAULT_DIMENSION_NULL_VALUE_OF_BOOLEAN

        public static final Integer DEFAULT_DIMENSION_NULL_VALUE_OF_BOOLEAN
      • DEFAULT_DIMENSION_NULL_VALUE_OF_TIMESTAMP

        public static final Long DEFAULT_DIMENSION_NULL_VALUE_OF_TIMESTAMP
      • DEFAULT_DIMENSION_NULL_VALUE_OF_STRING

        public static final String DEFAULT_DIMENSION_NULL_VALUE_OF_STRING
        See Also:
        Constant Field Values
      • DEFAULT_DIMENSION_NULL_VALUE_OF_JSON

        public static final String DEFAULT_DIMENSION_NULL_VALUE_OF_JSON
        See Also:
        Constant Field Values
      • DEFAULT_DIMENSION_NULL_VALUE_OF_BYTES

        public static final byte[] DEFAULT_DIMENSION_NULL_VALUE_OF_BYTES
      • DEFAULT_DIMENSION_NULL_VALUE_OF_BIG_DECIMAL

        public static final BigDecimal DEFAULT_DIMENSION_NULL_VALUE_OF_BIG_DECIMAL
      • DEFAULT_METRIC_NULL_VALUE_OF_INT

        public static final Integer DEFAULT_METRIC_NULL_VALUE_OF_INT
      • DEFAULT_METRIC_NULL_VALUE_OF_LONG

        public static final Long DEFAULT_METRIC_NULL_VALUE_OF_LONG
      • DEFAULT_METRIC_NULL_VALUE_OF_FLOAT

        public static final Float DEFAULT_METRIC_NULL_VALUE_OF_FLOAT
      • DEFAULT_METRIC_NULL_VALUE_OF_DOUBLE

        public static final Double DEFAULT_METRIC_NULL_VALUE_OF_DOUBLE
      • DEFAULT_METRIC_NULL_VALUE_OF_BIG_DECIMAL

        public static final BigDecimal DEFAULT_METRIC_NULL_VALUE_OF_BIG_DECIMAL
      • DEFAULT_METRIC_NULL_VALUE_OF_BYTES

        public static final byte[] DEFAULT_METRIC_NULL_VALUE_OF_BYTES
      • _name

        protected String _name
      • _isSingleValueField

        protected boolean _isSingleValueField
      • _defaultNullValue

        protected Object _defaultNullValue
      • _virtualColumnProvider

        protected String _virtualColumnProvider
    • Constructor Detail

      • FieldSpec

        public FieldSpec()
      • FieldSpec

        public FieldSpec​(String name,
                         FieldSpec.DataType dataType,
                         boolean isSingleValueField,
                         int maxLength,
                         @Nullable
                         Object defaultNullValue)
    • Method Detail

      • getName

        public String getName()
      • setName

        public void setName​(String name)
      • isSingleValueField

        public boolean isSingleValueField()
      • setSingleValueField

        public void setSingleValueField​(boolean isSingleValueField)
      • getMaxLength

        public int getMaxLength()
      • setMaxLength

        public void setMaxLength​(int maxLength)
      • getVirtualColumnProvider

        public String getVirtualColumnProvider()
      • setVirtualColumnProvider

        public void setVirtualColumnProvider​(String virtualColumnProvider)
      • isVirtualColumn

        public boolean isVirtualColumn()
        Returns whether the column is virtual. Virtual columns are constructed while loading the segment, thus do not exist in the record, nor should be persisted to the disk.

        Identify a column as virtual if the virtual column provider is configured.

      • getDefaultNullValue

        public Object getDefaultNullValue()
      • getDefaultNullValueString

        public String getDefaultNullValueString()
      • getStringValue

        protected static String getStringValue​(Object value)
        Helper method to return the String value for the given object. This is required as not all data types have a toString() (eg byte[]).
        Parameters:
        value - Value for which String value needs to be returned
        Returns:
        String value for the object.
      • setDefaultNullValue

        public void setDefaultNullValue​(@Nullable
                                        Object defaultNullValue)
      • getTransformFunction

        @Deprecated
        public String getTransformFunction()
        Deprecated.
        Transform function if defined else null. Deprecated. Use TableConfig -> IngestionConfig -> TransformConfigs
      • setTransformFunction

        @Deprecated
        public void setTransformFunction​(@Nullable
                                         String transformFunction)
        Deprecated.
        Deprecated. Use TableConfig -> IngestionConfig -> TransformConfigs
      • toJsonObject

        public com.fasterxml.jackson.databind.node.ObjectNode toJsonObject()
        Returns the ObjectNode representing the field spec.

        Only contains fields with non-default value.

        NOTE: here we use ObjectNode to preserve the insertion order.

      • appendDefaultNullValue

        protected void appendDefaultNullValue​(com.fasterxml.jackson.databind.node.ObjectNode jsonNode)
      • appendTransformFunction

        protected void appendTransformFunction​(com.fasterxml.jackson.databind.node.ObjectNode jsonNode)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • isBackwardCompatibleWith

        public boolean isBackwardCompatibleWith​(FieldSpec oldFieldSpec)
        Return true if it is backward compatible with the old FieldSpec. Backward compatibility requires all other fields except DefaultNullValue and Max Length should be retained.
        Parameters:
        oldFieldSpec -
        Returns: