com.flexive.shared.value
Class FxDateRange

java.lang.Object
  extended by com.flexive.shared.value.FxValue<DateRange,FxDateRange>
      extended by com.flexive.shared.value.FxDateRange
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<FxValue>

public class FxDateRange
extends FxValue<DateRange,FxDateRange>
implements java.io.Serializable

A multilingual Date range, internally represented as java.util.Date; EMPTY is a Date with a timestamp of 0 (usually 01/01/1970)

Author:
Markus Plesser (markus.plesser@flexive.com), UCS - unique computing solutions gmbh (http://www.ucs.at)
See Also:
Serialized Form

Field Summary
static DateRange EMPTY
           
 
Fields inherited from class com.flexive.shared.value.FxValue
DEFAULT_MULTILANGUAGE, defaultLanguage, emptyTranslations, multiLanguage, singleValue, translations, VALUE_NODATA
 
Constructor Summary
FxDateRange(boolean multiLanguage, DateRange value)
          Constructor
FxDateRange(boolean multiLanguage, long defaultLanguage, DateRange value)
          Constructor
FxDateRange(boolean multiLanguage, long defaultLanguage, java.util.Map<java.lang.Long,DateRange> translations)
          Constructor
FxDateRange(boolean multiLanguage, java.util.Map<java.lang.Long,DateRange> translations)
          Constructor
FxDateRange(DateRange value)
          Constructor
FxDateRange(FxValue<DateRange,FxDateRange> clone)
          Constructor
FxDateRange(long defaultLanguage, boolean multiLanguage)
          Constructor
FxDateRange(long defaultLanguage, DateRange value)
          Constructor
FxDateRange(long defaultLanguage, java.util.Map<java.lang.Long,DateRange> translations)
          Constructor
FxDateRange(java.util.Map<java.lang.Long,DateRange[]> translations, int pos)
          Constructor - create value from an array of translations
FxDateRange(java.util.Map<java.lang.Long,DateRange> translations)
          Constructor
 
Method Summary
 int compareTo(FxValue o)
          A generic comparable implementation based on the value's string representation.
 FxDateRange copy()
          Creates a copy of the given object (useful if the actual type is unknown).
protected  DateRange copyValue(DateRange value)
          Implement this method for data types that return false from FxValue.isImmutableValueType().
 DateRange fromString(java.lang.String value)
          Evaluates the given string value to an object of type T.
 DateRange getEmptyValue()
          Returns an empty value object for this FxValue type.
 java.lang.String getSqlValue()
          Format this FxValue for inclusion in a SQL statement.
 java.lang.String getStringValue(DateRange value)
          Converts the given instance of T to a string that can be parsed again by FxValue.fromString(String).
 java.lang.Class<DateRange> getValueClass()
          Return the class instance of the value type.
 
Methods inherited from class com.flexive.shared.value.FxValue
clearDefaultLanguage, clearValueData, equals, fromPortableString, getBestTranslation, getBestTranslation, getBestTranslation, getBestTranslation, getDefaultLanguage, getDefaultTranslation, getErrorValue, getIsEmpty, getMaxInputLength, getPortableStringValue, getSelectedLanguage, getTranslatedLanguages, getTranslation, getTranslation, getValueData, getValueDataRaw, getXPath, getXPathName, hasDefaultLanguage, hashCode, hasValueData, isAcceptsEmptyDefaultTranslations, isDefaultLanguage, isEmpty, isImmutableValueType, isMultiLanguage, isReadOnly, isTranslationEmpty, isTranslationEmpty, isValid, isValid, isValid, removeLanguage, setChangeListener, setDefaultLanguage, setDefaultLanguage, setDefaultTranslation, setEmpty, setEmpty, setMaxInputLength, setReadOnly, setSelectedLanguage, setTranslation, setTranslation, setValue, setValueData, setXPath, setXPath, toString, translationExists
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY

public static final DateRange EMPTY
Constructor Detail

FxDateRange

public FxDateRange(long defaultLanguage,
                   boolean multiLanguage)
Constructor

Parameters:
multiLanguage - multilanguage value?
defaultLanguage - the default language

FxDateRange

public FxDateRange(boolean multiLanguage,
                   long defaultLanguage,
                   java.util.Map<java.lang.Long,DateRange> translations)
Constructor

Parameters:
multiLanguage - multilanguage value?
defaultLanguage - the default language
translations - HashMap containing language->translation mapping

FxDateRange

public FxDateRange(long defaultLanguage,
                   java.util.Map<java.lang.Long,DateRange> translations)
Constructor

Parameters:
defaultLanguage - the default language
translations - HashMap containing language->translation mapping

FxDateRange

public FxDateRange(boolean multiLanguage,
                   java.util.Map<java.lang.Long,DateRange> translations)
Constructor

Parameters:
multiLanguage - multilanguage value?
translations - HashMap containing language->translation mapping

FxDateRange

public FxDateRange(java.util.Map<java.lang.Long,DateRange> translations)
Constructor

Parameters:
translations - HashMap containing language->translation mapping

FxDateRange

public FxDateRange(java.util.Map<java.lang.Long,DateRange[]> translations,
                   int pos)
Constructor - create value from an array of translations

Parameters:
translations - HashMap containing language->translation mapping
pos - position (index) in the array to use

FxDateRange

public FxDateRange(boolean multiLanguage,
                   long defaultLanguage,
                   DateRange value)
Constructor

Parameters:
multiLanguage - multilanguage value?
defaultLanguage - the default language
value - single initializing value

FxDateRange

public FxDateRange(long defaultLanguage,
                   DateRange value)
Constructor

Parameters:
defaultLanguage - the default language
value - single initializing value

FxDateRange

public FxDateRange(boolean multiLanguage,
                   DateRange value)
Constructor

Parameters:
multiLanguage - multilanguage value?
value - single initializing value

FxDateRange

public FxDateRange(DateRange value)
Constructor

Parameters:
value - single initializing value

FxDateRange

public FxDateRange(FxValue<DateRange,FxDateRange> clone)
Constructor

Parameters:
clone - original FxValue to be cloned
Method Detail

fromString

public DateRange fromString(java.lang.String value)
Evaluates the given string value to an object of type T.

Specified by:
fromString in class FxValue<DateRange,FxDateRange>
Parameters:
value - string value to be evaluated
Returns:
the value interpreted as T

getStringValue

public java.lang.String getStringValue(DateRange value)
Converts the given instance of T to a string that can be parsed again by FxValue.fromString(String).

Overrides:
getStringValue in class FxValue<DateRange,FxDateRange>
Parameters:
value - the value to be converted
Returns:
a string representation of the given value that can be parsed again using FxValue.fromString(String).

getSqlValue

public java.lang.String getSqlValue()
Format this FxValue for inclusion in a SQL statement. For example, a string is wrapped in single quotes and escaped properly (' --> ''). For multilanguage values the default translation is used. If the value is empty (@link #isEmpty()), a runtime exception is thrown.

Overrides:
getSqlValue in class FxValue<DateRange,FxDateRange>
Returns:
the formatted value

copy

public FxDateRange copy()
Creates a copy of the given object (useful if the actual type is unknown).

Specified by:
copy in class FxValue<DateRange,FxDateRange>
Returns:
a copy of the given object (useful if the actual type is unknown).

copyValue

protected DateRange copyValue(DateRange value)
Implement this method for data types that return false from FxValue.isImmutableValueType().

The default implementation returns the argument as-is and throws an IllegalArgumentException when the container class has mutable value types.

Overrides:
copyValue in class FxValue<DateRange,FxDateRange>
Parameters:
value - the value to be copied (not null)
Returns:
an independent copy of value

getValueClass

public java.lang.Class<DateRange> getValueClass()
Return the class instance of the value type.

Specified by:
getValueClass in class FxValue<DateRange,FxDateRange>
Returns:
the class instance of the value type.

compareTo

public int compareTo(FxValue o)
Description copied from class: FxValue
A generic comparable implementation based on the value's string representation.

Specified by:
compareTo in interface java.lang.Comparable<FxValue>
Overrides:
compareTo in class FxValue<DateRange,FxDateRange>
Parameters:
o - the other object
Returns:
see Comparable.compareTo(T).

getEmptyValue

public DateRange getEmptyValue()
Returns an empty value object for this FxValue type.

Specified by:
getEmptyValue in class FxValue<DateRange,FxDateRange>
Returns:
an empty value object for this FxValue type.