Package org.ametys.cms.data.type.impl
Class ReferenceRepositoryElementType
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.core.model.type.AbstractModelItemType
-
- org.ametys.core.model.type.AbstractElementType<Reference>
-
- org.ametys.cms.data.type.AbstractReferenceElementType
-
- org.ametys.cms.data.type.impl.ReferenceRepositoryElementType
-
- All Implemented Interfaces:
ComplexRepositoryElementType<Reference>
,RepositoryElementType<Reference>
,RepositoryModelItemType
,ElementType<Reference>
,ModelItemType
,LogEnabled
,PluginAware
,Component
,Serviceable
- Direct Known Subclasses:
ReferenceContentElementType
public class ReferenceRepositoryElementType extends AbstractReferenceElementType implements ComplexRepositoryElementType<Reference>
Class for reference type of elements stored in the repository
-
-
Field Summary
-
Fields inherited from class org.ametys.cms.data.type.AbstractReferenceElementType
__SEPARATOR
-
Fields inherited from class org.ametys.core.model.type.AbstractElementType
_jsonUtils
-
Fields inherited from interface org.ametys.plugins.repository.data.type.ComplexRepositoryElementType
TYPE_ID_DATA_NAME
-
Fields inherited from interface org.ametys.plugins.repository.data.type.RepositoryModelItemType
EMPTY_METADATA_SUFFIX
-
-
Constructor Summary
Constructors Constructor Description ReferenceRepositoryElementType()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private String
_getStringValue(RepositoryData repositoryData, String name)
private boolean
_isStringValueEmpty(RepositoryData referenceData, String name)
void
emptySingleValue(ModifiableRepositoryData parentData, String name)
Empties the single value into the given repositoryData This method is called by theComplexRepositoryElementType.write(ModifiableRepositoryData, String, Object)
method, when the given value isnull
String
getRepositoryDataType()
Retrieves the type of repository data used for this typeboolean
isCompatible(RepositoryData parentData, String name)
Checks if the value in the given repository data is compatible with the item typeboolean
isSingleValueEmpty(RepositoryData referenceData)
Checks if the single value is emptyReference
readSingleValue(RepositoryData singleValueData)
Read the single value in the given repository datavoid
writeSingleValue(ModifiableRepositoryData parentData, String name, Reference value)
Write the single value into the given repository data This method is called by theComplexRepositoryElementType.write(ModifiableRepositoryData, String, Object)
method, once for each value if the value is an array-
Methods inherited from class org.ametys.cms.data.type.AbstractReferenceElementType
_compareMultipleValues, _compareSingleValues, _singleValueFromXML, _singleValueToJSON, _singleValueToSAX, _useJSONForEdition, convertValue, fromJSONForClient, isSimple, toString
-
Methods inherited from class org.ametys.core.model.type.AbstractElementType
_getValueAttributes, _isValueFromXMLMultiple, _valueToSAX, _valueToSAX, _valueToSAXForEdition, castValue, compareValues, getManagedClass, getManagedClassArray, isCompatible, parseConfiguration, service, valueFromXML, valueToJSONForClient, valueToSAX, valueToSAXForEdition
-
Methods inherited from class org.ametys.core.model.type.AbstractModelItemType
_getContextAttributes, 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.plugins.repository.data.type.ComplexRepositoryElementType
hasNonEmptyValue, read, removeValueBeforeWritingIt, write
-
Methods inherited from interface org.ametys.runtime.model.type.ElementType
castValue, compareValues, fromJSONForClient, getManagedClass, getManagedClassArray, isCompatible, isSimple, parseConfiguration, toString, valueFromXML, valueToJSONForClient
-
Methods inherited from interface org.ametys.runtime.model.type.ModelItemType
getId, valueToSAX, valueToSAX, valueToSAXForEdition
-
Methods inherited from interface org.ametys.runtime.plugin.component.PluginAware
setPluginInfo
-
Methods inherited from interface org.ametys.plugins.repository.data.type.RepositoryElementType
externalizableValueToSAX
-
Methods inherited from interface org.ametys.plugins.repository.data.type.RepositoryModelItemType
hasValue, isMultiple, remove
-
-
-
-
Constructor Detail
-
ReferenceRepositoryElementType
public ReferenceRepositoryElementType()
-
-
Method Detail
-
isSingleValueEmpty
public boolean isSingleValueEmpty(RepositoryData referenceData)
Description copied from interface:ComplexRepositoryElementType
Checks if the single value is empty- Specified by:
isSingleValueEmpty
in interfaceComplexRepositoryElementType<Reference>
- Parameters:
referenceData
- repository data containing the value to check- Returns:
true
if the value is empty,false
otherwise
-
_isStringValueEmpty
private boolean _isStringValueEmpty(RepositoryData referenceData, String name)
-
readSingleValue
public Reference readSingleValue(RepositoryData singleValueData)
Description copied from interface:ComplexRepositoryElementType
Read the single value in the given repository data- Specified by:
readSingleValue
in interfaceComplexRepositoryElementType<Reference>
- Parameters:
singleValueData
- repository data containing the value- Returns:
- the value. Can return null if the given data does not contain the necessary elements
-
_getStringValue
private String _getStringValue(RepositoryData repositoryData, String name)
-
emptySingleValue
public void emptySingleValue(ModifiableRepositoryData parentData, String name)
Description copied from interface:ComplexRepositoryElementType
Empties the single value into the given repositoryData This method is called by theComplexRepositoryElementType.write(ModifiableRepositoryData, String, Object)
method, when the given value isnull
- Specified by:
emptySingleValue
in interfaceComplexRepositoryElementType<Reference>
- Parameters:
parentData
- repository where to empty the single value.name
- the name of the element to empty
-
writeSingleValue
public void writeSingleValue(ModifiableRepositoryData parentData, String name, Reference value)
Description copied from interface:ComplexRepositoryElementType
Write the single value into the given repository data This method is called by theComplexRepositoryElementType.write(ModifiableRepositoryData, String, Object)
method, once for each value if the value is an array- Specified by:
writeSingleValue
in interfaceComplexRepositoryElementType<Reference>
- Parameters:
parentData
- repository where to store the single value.name
- the name of the element to writevalue
- the single value to write. Can be null. In this case, an empty data must be created
-
isCompatible
public boolean isCompatible(RepositoryData parentData, String name) throws UnknownDataException
Description copied from interface:RepositoryModelItemType
Checks if the value in the given repository data is compatible with the item type- Specified by:
isCompatible
in interfaceComplexRepositoryElementType<Reference>
- Specified by:
isCompatible
in interfaceRepositoryModelItemType
- Parameters:
parentData
- repository data containing the data to checkname
- the name of the data to check- Returns:
true
if the data type matches the current type,false
otherwise- Throws:
UnknownDataException
- if there is no data in the parent repository data with this name
-
getRepositoryDataType
public String getRepositoryDataType()
Description copied from interface:RepositoryModelItemType
Retrieves the type of repository data used for this type- Specified by:
getRepositoryDataType
in interfaceRepositoryModelItemType
- Returns:
- the type of repository data used for this type
-
-