Class DateColumnImpl

  • All Implemented Interfaces:
    java.lang.Cloneable, org.refcodes.mixin.KeyAccessor<java.util.Date>, org.refcodes.mixin.TypeAccessor<java.util.Date>, Column<java.util.Date>


    public class DateColumnImpl
    extends AbstractColumn<java.util.Date>
    implements java.lang.Cloneable
    DateColumnImpl implements the Column with support for the Date type and various default or custom date formats.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.refcodes.mixin.KeyAccessor

        org.refcodes.mixin.KeyAccessor.KeyBuilder<K extends java.lang.Object,B extends org.refcodes.mixin.KeyAccessor.KeyBuilder<K,B>>, org.refcodes.mixin.KeyAccessor.KeyMutator<K extends java.lang.Object>, org.refcodes.mixin.KeyAccessor.KeyProperty<K extends java.lang.Object>
      • Nested classes/interfaces inherited from interface org.refcodes.mixin.TypeAccessor

        org.refcodes.mixin.TypeAccessor.TypeMutator<T extends java.lang.Object>, org.refcodes.mixin.TypeAccessor.TypeProperty<T extends java.lang.Object>
    • Constructor Summary

      Constructors 
      Constructor Description
      DateColumnImpl​(java.lang.String aKey)
      Constructor of the DateColumnImpl with support for the default SimpleDateFormat instances as defined in the DateFormats.DEFAULT_DATE_FORMATS.
      DateColumnImpl​(java.lang.String aKey, java.time.format.DateTimeFormatter[] aDateFormats)
      Constructor of the DateColumnImpl with support for the provided SimpleDateFormat instances.
    • Constructor Detail

      • DateColumnImpl

        public DateColumnImpl​(java.lang.String aKey)
        Constructor of the DateColumnImpl with support for the default SimpleDateFormat instances as defined in the DateFormats.DEFAULT_DATE_FORMATS.
        Parameters:
        aKey - The key to be used.
      • DateColumnImpl

        public DateColumnImpl​(java.lang.String aKey,
                              java.time.format.DateTimeFormatter[] aDateFormats)
        Constructor of the DateColumnImpl with support for the provided SimpleDateFormat instances.
        Parameters:
        aKey - The key to be used.
        aDateFormats - The SimpleDateFormat instances used for parsing date strings.
    • Method Detail

      • toStorageStrings

        public java.lang.String[] toStorageStrings​(java.util.Date aValue)
        A Column implementation can provide its own text exchange format for the given objects. This method enables the Column to convert a value of the given type to a String array and via Column.fromStorageStrings(String[]) back to the value (bijective). This method supports data sinks (such as Amazon's SimpleDb) which provide dedicated support for multiple values in a row's entry: In case T is an array type, then the storage String representations of the elements in that array may be placed in dedicated entries of the returned String array. In case T is not an array type then the returned String array may contain just one value. In case data sinks (such as relational databases) are to be addressed which allow only a single value in a row's entry, then the method Column.toStorageString(Object) may be used instead.
        Specified by:
        toStorageStrings in interface Column<java.util.Date>
        Parameters:
        aValue - the element to be converted to a String array.
        Returns:
        The String array representation of the value.
      • fromStorageStrings

        public java.util.Date fromStorageStrings​(java.lang.String[] aStringValues)
                                          throws java.text.ParseException
        A Column implementation can provide its own text exchange format for the given objects. This method enables the Column to convert a String array value to a value of the given type and via Column.toStorageStrings(Object) back to the String array (bijective). This method supports data sinks (such as Amazon's SimpleDb) which provide dedicated support for multiple values in a row's entry: In case T is an array type, then the storage String representations of the elements in that array may be placed in dedicated entries of the provided String array. In case T is not an array type then the passed String array may contain just one value. In case data sinks (such as relational databases) are to be addressed which allow only a single value in a row's entry, then the method Column.fromStorageString(String) may be used instead.
        Specified by:
        fromStorageStrings in interface Column<java.util.Date>
        Parameters:
        aStringValues - The value to be converted to a type instance.
        Returns:
        The type representation of the value.
        Throws:
        java.text.ParseException - in case parsing the String was not possible
      • toPrintable

        public java.lang.String toPrintable​(java.util.Date aValue)
        A Column implementation can provide its own printable format of the given objects; for example a human readable text representation of the value (or in very specialized cases even enriched with ANSI escape codes). This method enables the Column to convert a value of the given type to a human readable text. The human readable text, in comparison to the method Object.toString() (or Column.toStorageString(Object)) is not intended to be converted back to the actual value (not bijective). This method may be used a Header instance's method HeaderRow.toPrintable(Record).
        Specified by:
        toPrintable in interface Column<java.util.Date>
        Overrides:
        toPrintable in class AbstractColumn<java.util.Date>
        Parameters:
        aValue - the element to be converted to a human readable text.
        Returns:
        The human readable representation of the value.
      • clone

        public java.lang.Object clone​()
                               throws java.lang.CloneNotSupportedException
        Overrides:
        clone in class AbstractColumn<java.util.Date>
        Throws:
        java.lang.CloneNotSupportedException