- java.lang.Object
-
- org.refcodes.tabular.AbstractColumn<Date>
-
- org.refcodes.tabular.DateColumn
-
- All Implemented Interfaces:
Cloneable,org.refcodes.mixin.KeyAccessor<String>,org.refcodes.mixin.TypeAccessor<Date>,Column<Date>
public class DateColumn extends AbstractColumn<Date> implements Cloneable
DateColumnimplements theColumnwith support for theDatetype 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 Object,B extends org.refcodes.mixin.KeyAccessor.KeyBuilder<K,B>>, org.refcodes.mixin.KeyAccessor.KeyMutator<K extends Object>, org.refcodes.mixin.KeyAccessor.KeyProperty<K extends Object>
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.TypeAccessor
org.refcodes.mixin.TypeAccessor.TypeBuilder<T extends Object,B extends org.refcodes.mixin.TypeAccessor.TypeBuilder<T,B>>, org.refcodes.mixin.TypeAccessor.TypeMutator<T extends Object>, org.refcodes.mixin.TypeAccessor.TypeProperty<T extends Object>
-
-
Constructor Summary
Constructors Constructor Description DateColumn(String aKey)Constructor of theDateColumnwith support for the defaultSimpleDateFormatinstances as defined in theDateFormats.DEFAULT_DATE_FORMATS.DateColumn(String aKey, DateTimeFormatter... aDateFormats)Constructor of theDateColumnwith support for the providedSimpleDateFormatinstances.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectclone()DatefromStorageStrings(String[] aStringValues)AColumnimplementation can provide its own text exchange format for the given objects.StringtoPrintable(Date aValue)AColumnimplementation 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).String[]toStorageStrings(Date aValue)AColumnimplementation can provide its own text exchange format for the given objects.-
Methods inherited from class org.refcodes.tabular.AbstractColumn
contains, fromStorageString, get, getKey, getType, remove, toStorageString
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.refcodes.tabular.Column
getValue, toStorageString_
-
-
-
-
Constructor Detail
-
DateColumn
public DateColumn(String aKey)
Constructor of theDateColumnwith support for the defaultSimpleDateFormatinstances as defined in theDateFormats.DEFAULT_DATE_FORMATS.- Parameters:
aKey- The key to be used.
-
DateColumn
public DateColumn(String aKey, DateTimeFormatter... aDateFormats)
Constructor of theDateColumnwith support for the providedSimpleDateFormatinstances.- Parameters:
aKey- The key to be used.aDateFormats- TheSimpleDateFormatinstances used for parsing date strings.
-
-
Method Detail
-
toStorageStrings
public String[] toStorageStrings(Date aValue)
AColumnimplementation can provide its own text exchange format for the given objects. This method enables theColumnto convert a value of the given type to aStringarray and viaColumn.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 storageStringrepresentations of the elements in that array may be placed in dedicated entries of the returnedStringarray. In case T is not an array type then the returnedStringarray 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 methodColumn.toStorageString(Object)may be used instead.- Specified by:
toStorageStringsin interfaceColumn<Date>- Parameters:
aValue- the element to be converted to aStringarray.- Returns:
- The
Stringarray representation of the value.
-
fromStorageStrings
public Date fromStorageStrings(String[] aStringValues) throws ParseException
AColumnimplementation can provide its own text exchange format for the given objects. This method enables theColumnto convert aStringarray value to a value of the given type and viaColumn.toStorageStrings(Object)back to theStringarray (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 storageStringrepresentations of the elements in that array may be placed in dedicated entries of the providedStringarray. In case T is not an array type then the passedStringarray 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 methodColumn.fromStorageString(String)may be used instead.- Specified by:
fromStorageStringsin interfaceColumn<Date>- Parameters:
aStringValues- The value to be converted to a type instance.- Returns:
- The type representation of the value.
- Throws:
ParseException- in case parsing theStringwas not possible
-
toPrintable
public String toPrintable(Date aValue)
AColumnimplementation 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 theColumnto convert a value of the given type to a human readable text. The human readable text, in comparison to the methodObject.toString()(orColumn.toStorageString(Object)) is not intended to be converted back to the actual value (not bijective). This method may be used aHeaderinstance's methodHeaderRow.toPrintable(Record).- Specified by:
toPrintablein interfaceColumn<Date>- Overrides:
toPrintablein classAbstractColumn<Date>- Parameters:
aValue- the element to be converted to a human readable text.- Returns:
- The human readable representation of the value.
-
clone
public Object clone() throws CloneNotSupportedException
- Overrides:
clonein classAbstractColumn<Date>- Throws:
CloneNotSupportedException
-
-