Class StringsColumn

  • All Implemented Interfaces:
    java.lang.Cloneable, org.refcodes.mixin.KeyAccessor<java.lang.String[]>, org.refcodes.mixin.TypeAccessor<java.lang.String[]>, Column<java.lang.String[]>


    public class StringsColumn
    extends AbstractColumn<java.lang.String[]>
    implements java.lang.Cloneable
    Implementation of the Column interface for working with String arrays, being Cloneable.
    • 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
      StringsColumn​(java.lang.String aKey)
      Creates a StringsColumn managing String array instances.
    • Constructor Detail

      • StringsColumn

        public StringsColumn​(java.lang.String aKey)
        Creates a StringsColumn managing String array instances.
        Parameters:
        aKey - The key for the StringsColumn.
    • Method Detail

      • toStorageStrings

        public java.lang.String[] toStorageStrings​(java.lang.String[] 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.lang.String[]>
        Parameters:
        aValue - the element to be converted to a String array.
        Returns:
        The String array representation of the value.
      • fromStorageStrings

        public java.lang.String[] 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.lang.String[]>
        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
      • clone

        public java.lang.Object clone​()
                               throws java.lang.CloneNotSupportedException
        Overrides:
        clone in class AbstractColumn<java.lang.String[]>
        Throws:
        java.lang.CloneNotSupportedException