Package org.ametys.core.model.type
Class AbstractStringElementType
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.core.model.type.AbstractModelItemType
-
- org.ametys.core.model.type.AbstractElementType<String>
-
- org.ametys.core.model.type.AbstractStringElementType
-
- All Implemented Interfaces:
ElementType<String>
,ModelItemType
,LogEnabled
,PluginAware
- Direct Known Subclasses:
StringRepositoryElementType
,StringXMLElementType
public abstract class AbstractStringElementType extends AbstractElementType<String>
Abstract class for string element types
-
-
Constructor Summary
Constructors Constructor Description AbstractStringElementType()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Stream<Triple<DataChangeType,DataChangeTypeDetail,String>>
_compareSingleValues(String value1, String value2)
Compares the given single values and retrieves the changes as a stream ofTriple
s.String
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.protected Object
passwordValueToJSONForClient(Object value)
Specific implementation of valueToJSONForClient used for passwordsString
toString(String value)
Cast a typed value to a String-
Methods inherited from class org.ametys.core.model.type.AbstractElementType
_compareMultipleValues, _getValueAttributes, _isValueFromXMLMultiple, _singleValueFromXML, _singleValueToJSON, _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
-
AbstractStringElementType
public AbstractStringElementType()
-
-
Method Detail
-
castValue
public String castValue(String value)
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
-
toString
public String toString(String value) throws BadItemTypeException
Description copied from interface:ElementType
Cast a typed value to a String- Specified by:
toString
in interfaceElementType<String>
- Overrides:
toString
in classAbstractElementType<String>
- Parameters:
value
- the value to cast- Returns:
- the String representation of the value
- Throws:
BadItemTypeException
-
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
-
passwordValueToJSONForClient
protected Object passwordValueToJSONForClient(Object value)
Specific implementation of valueToJSONForClient used for passwords- Parameters:
value
- the value to convert- Returns:
- The value as JSON
-
_compareSingleValues
protected Stream<Triple<DataChangeType,DataChangeTypeDetail,String>> _compareSingleValues(String value1, String 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<String>
- 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
-
-