Package org.ametys.core.model.type
Class AbstractDateElementType
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.core.model.type.AbstractModelItemType
-
- org.ametys.core.model.type.AbstractElementType<LocalDate>
-
- org.ametys.core.model.type.AbstractDateElementType
-
- All Implemented Interfaces:
ElementType<LocalDate>
,ModelItemType
,LogEnabled
,PluginAware
- Direct Known Subclasses:
DateRepositoryElementType
,DateXMLElementType
public abstract class AbstractDateElementType extends AbstractElementType<LocalDate>
Abstract class for date element types
-
-
Constructor Summary
Constructors Constructor Description AbstractDateElementType()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Stream<Triple<DataChangeType,DataChangeTypeDetail,String>>
_compareSingleValues(LocalDate value1, LocalDate value2)
Compares the given single values and retrieves the changes as a stream ofTriple
s.protected Object
_singleValueToJSON(LocalDate value)
Convert the single value into a JSON objectLocalDate
castValue(String value)
Cast an untyped value (string) to an object of the corresponding typeObject
fromJSONForClient(Object json)
Convert the given client side JSON object to the types valueboolean
isSimple()
Determines if this type is simple or not.String
toString(LocalDate value)
Cast a typed value to a String-
Methods inherited from class org.ametys.core.model.type.AbstractElementType
_compareMultipleValues, _getValueAttributes, _isValueFromXMLMultiple, _singleValueFromXML, _singleValueToSAX, compareValues, getManagedClass, getManagedClassArray, isCompatible, parseConfiguration, valueFromXML, valueToJSONForClient, valueToSAX
-
Methods inherited from class org.ametys.core.model.type.AbstractModelItemType
getId, setPluginInfo
-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.runtime.model.type.ModelItemType
getId
-
Methods inherited from interface org.ametys.runtime.plugin.component.PluginAware
setPluginInfo
-
-
-
-
Constructor Detail
-
AbstractDateElementType
public AbstractDateElementType()
-
-
Method Detail
-
castValue
public LocalDate castValue(String value) throws BadItemTypeException
Description copied from interface:ElementType
Cast an untyped value (string) to an object of the corresponding type- Parameters:
value
- the value to cast- Returns:
- An object of the parameterized type representing the given value. Returns null if value cannot be cast
- Throws:
BadItemTypeException
- if the String value can't be cast to the type
-
toString
public String toString(LocalDate value)
Description copied from interface:ElementType
Cast a typed value to a String- Specified by:
toString
in interfaceElementType<LocalDate>
- Overrides:
toString
in classAbstractElementType<LocalDate>
- Parameters:
value
- the value to cast- Returns:
- the String representation of the value
-
fromJSONForClient
public Object fromJSONForClient(Object json)
Description copied from interface:ElementType
Convert the given client side JSON object to the types value- Parameters:
json
- the JSON object to convert- Returns:
- the typed value corresponding to the JSON object
-
_singleValueToJSON
protected Object _singleValueToJSON(LocalDate value)
Description copied from class:AbstractElementType
Convert the single value into a JSON object- Overrides:
_singleValueToJSON
in classAbstractElementType<LocalDate>
- Parameters:
value
- the value to convert- Returns:
- The value as JSON
-
_compareSingleValues
protected Stream<Triple<DataChangeType,DataChangeTypeDetail,String>> _compareSingleValues(LocalDate value1, LocalDate value2) throws IOException
Description copied from class:AbstractElementType
Compares the given single values and retrieves the changes as a stream ofTriple
s. TheTriple
contains:- the general type of the change (added, modified or removed) as a
DataChangeType
, - some details about this change if possible (after or before for a date, more or less for a number, ...) as a
DataChangeTypeDetail
- The data concerned by this change if not the element itself (or an empty String)
- Overrides:
_compareSingleValues
in classAbstractElementType<LocalDate>
- Parameters:
value1
- the 1st single valuevalue2
- the 2nd single value- Returns:
- the changes between the two given single values as a stream of
Triple
. Retrieves an empty stream if there is no change - Throws:
IOException
- if an error occurs while comparing values using the I/O API
- the general type of the change (added, modified or removed) as a
-
isSimple
public boolean isSimple()
Description copied from interface:ElementType
Determines if this type is simple or not. A simple element type is a type of elements that can be edited in a grid- Returns:
true
if the type is simple,false
otherwise
-
-