Class ObjectColumn<T>

  • Type Parameters:
    T - The type managed by the Column.
    All Implemented Interfaces:
    java.lang.Cloneable, org.refcodes.mixin.KeyAccessor<T>, org.refcodes.mixin.TypeAccessor<T>, Column<T>


    public class ObjectColumn<T>
    extends AbstractColumn<T>
    implements java.lang.Cloneable
    Implementation of a Column supporting Object instances, being Cloneable. The storage String instance is converted from and back using serialization; the serialized byte arrays are converted using base64 encoding to a String.
    • 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
      ObjectColumn​(java.lang.String aKey, java.lang.Class<T> aType)
      Creates a ObjectColumn managing String instances.
    • Constructor Detail

      • ObjectColumn

        public ObjectColumn​(java.lang.String aKey,
                            java.lang.Class<T> aType)
        Creates a ObjectColumn managing String instances.
        Parameters:
        aKey - The key for the ObjectColumn.
        aType - The type to be used.
    • Method Detail

      • toStorageStrings

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

        public T fromStorageStrings​(java.lang.String[] aStringValues)
                             throws java.text.ParseException
        From storage strings.
        Specified by:
        fromStorageStrings in interface Column<T>
        Parameters:
        aStringValues - the string values
        Returns:
        the t
        Throws:
        java.text.ParseException - the parse exception
      • clone

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