Interface ModelLessDataHolder
- All Superinterfaces:
DataHolder
- All Known Subinterfaces:
MetadataAwareSitemapElement
,ModelLessComposite
,ModelLessDataAwareAmetysObject
,ModelLessJCRAmetysObject
,ModifiableModelLessComposite
,ModifiableModelLessDataAwareAmetysObject
,ModifiableModelLessDataHolder
,ModifiablePage
,ModifiableZone
,ModifiableZoneItem
,Page
,Zone
,ZoneItem
- All Known Implementing Classes:
AbstractConfigurableVirtualPage
,AbstractOdfPage
,AbstractProgramItemPage
,AbstractSitemapElement
,AbstractSurveyElement
,Activity
,CMISRootResourcesCollection
,ConfigurableVirtualZone
,ConfigurableVirtualZoneItem
,CoursePage
,DefaultLink
,DefaultModelLessComposite
,DefaultModelLessDataHolder
,DefaultModifiableModelLessComposite
,DefaultModifiableModelLessDataHolder
,DefaultPage
,DefaultZone
,DefaultZoneItem
,FirstLevelPage
,JCRProjectMember
,JCRResourcesCollection
,OrgUnitPage
,ProgramPage
,Project
,RedirectPage
,SecondLevelPage
,Sitemap
,StaticZoneItem
,Survey
,SurveyPage
,SurveyQuestion
,Thesaurus
,TransitionalPage
,UGCPage
,UGCTransitionalPage
,UserPage
,UserZoneItem
Interface for data containers without models
-
Method Summary
Modifier and TypeMethodDescriptionConvert the data contained in thisDataHolder
dataToJSON
(DataContext context) Convert the data contained in thisDataHolder
default void
dataToSAX
(ContentHandler contentHandler) Generates SAX events for data contained in thisDataHolder
void
dataToSAX
(ContentHandler contentHandler, DataContext context) Generates SAX events for data contained in thisDataHolder
getComposite
(String compositePath) Retrieves the composite at the given pathProvide the ModelItemTypeExtensionPoint linked with the DataHolderOptional<? extends ModelLessDataHolder>
Retrieves the optional parent of the currentDataHolder
There can be no parent if the currentDataHolder
is the rootRetrieves theDataHolder
that is the root of the current oneRetrieves the type of the data at the given path<T> T
Retrieves the value of the data at the given path The type of the value will be deduced from the stored data.<T> T
Retrieves the value of the data at the given path if exists and is not empty, or the default value<T> T
getValueOfType
(String dataPath, String dataTypeId) Retrieves the value of the data at the given path<T> T
getValueOfType
(String dataPath, String dataTypeId, T defaultValue) Retrieves the value of the data at the given path if exists and is not empty, or the default valueboolean
hasDifferences
(Map<String, Object> values) Check if there are differences between the given values and the current onesboolean
Checks if there is a non empty value for the data at the given pathboolean
Checks if there is a non empty value for the data at the given pathboolean
hasValueOrEmpty
(String dataPath) Checks if there is a value, even empty, for the data at the given pathboolean
isMultiple
(String dataPath) Checks if the value of the data at the given path is multipleboolean
isMultiple
(String dataPath, String dataTypeId) Checks if the value of the data at the given path is multipleMethods inherited from interface org.ametys.plugins.repository.data.holder.DataHolder
copyTo, copyTo, dataToJSON, dataToJSON, dataToSAX, dataToSAX, getDataNames, getRepositoryData
-
Method Details
-
getComposite
ModelLessComposite getComposite(String compositePath) throws IllegalArgumentException, BadItemTypeException, BadDataPathCardinalityException Retrieves the composite at the given path- Specified by:
getComposite
in interfaceDataHolder
- Parameters:
compositePath
- path of the composite to retrieve- Returns:
- the composite or
null
if not exists or is empty - Throws:
BadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multipleIllegalArgumentException
- if the given composite path is null or emptyBadItemTypeException
- if the stored value at the given path is not a composite
-
hasValue
Checks if there is a non empty value for the data at the given path- Specified by:
hasValue
in interfaceDataHolder
- Parameters:
dataPath
- path of the data- Returns:
true
if there is a non empty value for the data,false
otherwise- Throws:
BadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multipleIllegalArgumentException
- if the given data path is null or empty
-
hasValue
boolean hasValue(String dataPath, String dataTypeId) throws IllegalArgumentException, UnknownTypeException, BadDataPathCardinalityException Checks if there is a non empty value for the data at the given path- Parameters:
dataPath
- path of the datadataTypeId
- type identifier of the data- Returns:
true
if there is a non empty value for the data,false
otherwise- Throws:
IllegalArgumentException
- if the given data path is null or emptyUnknownTypeException
- if the given type isn't available for this data holder's type extension pointBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
hasValueOrEmpty
boolean hasValueOrEmpty(String dataPath) throws IllegalArgumentException, BadDataPathCardinalityException Checks if there is a value, even empty, for the data at the given path- Specified by:
hasValueOrEmpty
in interfaceDataHolder
- Parameters:
dataPath
- path of the data- Returns:
true
if there is value, even empty, for the data,false
otherwise- Throws:
BadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multipleIllegalArgumentException
- if the given data path is null or empty
-
getValue
<T> T getValue(String dataPath) throws IllegalArgumentException, UnknownTypeException, NotUniqueTypeException, BadItemTypeException, BadDataPathCardinalityException Retrieves the value of the data at the given path The type of the value will be deduced from the stored data. In some cases, the type can be wrong. For example, it is impossible to know if a stored date is a date or a date time- Type Parameters:
T
- type of the value to retrieve. Should match the given data type- Parameters:
dataPath
- path of the data- Returns:
- the value of the data or
null
if not exists or is empty. The object returned may be of a generic class defined by the storage. For example, an url may be returned as a String. Use the 2 arguments version to ensure to get the right kind of Object. - Throws:
IllegalArgumentException
- if the given data path is null or emptyUnknownTypeException
- if there is no compatible type with the data at the given data pathNotUniqueTypeException
- if there are many compatible types (there is no way to determine which type is the good one)BadItemTypeException
- if value at the sub data path of the given one is not a compositeBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
getValue
<T> T getValue(String dataPath, T defaultValue) throws IllegalArgumentException, UnknownTypeException, NotUniqueTypeException, BadItemTypeException, BadDataPathCardinalityException Retrieves the value of the data at the given path if exists and is not empty, or the default value- Type Parameters:
T
- type of the value to retrieve. Should match the given data type- Parameters:
dataPath
- path of the datadefaultValue
- default value- Returns:
- the value of the data,
null
if the data exists but is empty, or the given default value - Throws:
IllegalArgumentException
- if the given data path is null or emptyUnknownTypeException
- if there is no compatible type with the data at the given data pathNotUniqueTypeException
- if there are many compatible types (there is no way to determine which type is the good one)BadItemTypeException
- if value at the sub data path of the given one is not a compositeBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
getValueOfType
<T> T getValueOfType(String dataPath, String dataTypeId) throws IllegalArgumentException, UnknownTypeException, BadItemTypeException, BadDataPathCardinalityException Retrieves the value of the data at the given path- Type Parameters:
T
- type of the value to retrieve. Should match the given data type- Parameters:
dataPath
- path of the datadataTypeId
- type identifier of the data- Returns:
- the value of the data or
null
if not exists or is empty - Throws:
IllegalArgumentException
- if the given data path is null or emptyUnknownTypeException
- if the given type isn't available for this data holder's type extension pointBadItemTypeException
- if the given type doesn't match the type of the stored value at the given pathBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
getValueOfType
<T> T getValueOfType(String dataPath, String dataTypeId, T defaultValue) throws IllegalArgumentException, UnknownTypeException, BadItemTypeException, BadDataPathCardinalityException Retrieves the value of the data at the given path if exists and is not empty, or the default value- Type Parameters:
T
- type of the value to retrieve. Should match the given data type- Parameters:
dataPath
- path of the datadataTypeId
- type identifier of the datadefaultValue
- default value- Returns:
- the value of the data,
null
if the data exists but is empty, or the given default value - Throws:
IllegalArgumentException
- if the given data path is null or emptyUnknownTypeException
- if the given type isn't available for this data holder's type extension pointBadItemTypeException
- if the given type doesn't match the type of the stored value at the given pathBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
isMultiple
boolean isMultiple(String dataPath) throws IllegalArgumentException, UnknownDataException, UnknownTypeException, NotUniqueTypeException, BadItemTypeException, BadDataPathCardinalityException Checks if the value of the data at the given path is multiple- Parameters:
dataPath
- path of the data to check- Returns:
true
if the value of the data is multiple,false
otherwise- Throws:
IllegalArgumentException
- if the given data path is null or emptyUnknownDataException
- the data at the given path does not existUnknownTypeException
- if there is no compatible type with the data at the given data pathNotUniqueTypeException
- if there are many compatible types (there is no way to determine which type is the good one)BadItemTypeException
- if value at the sub data path of the given one is not a compositeBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
isMultiple
boolean isMultiple(String dataPath, String dataTypeId) throws IllegalArgumentException, UnknownDataException, UnknownTypeException, BadItemTypeException, BadDataPathCardinalityException Checks if the value of the data at the given path is multiple- Parameters:
dataPath
- path of the data to checkdataTypeId
- type identifier of the data- Returns:
true
if the value of the data is multiple,false
otherwise- Throws:
IllegalArgumentException
- if the given data path is null or emptyUnknownDataException
- the data at the given path does not existUnknownTypeException
- if there is no compatible type with the data at the given data pathBadItemTypeException
- if value at the sub data path of the given one is not a compositeBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
getType
RepositoryModelItemType getType(String dataPath) throws IllegalArgumentException, UnknownDataException, UnknownTypeException, NotUniqueTypeException, BadDataPathCardinalityException Retrieves the type of the data at the given path- Parameters:
dataPath
- path of the data- Returns:
- the type of the data
- Throws:
IllegalArgumentException
- if the given data path is null or emptyUnknownDataException
- if there is no data stored at the given pathUnknownTypeException
- if there is no compatible type with the data at the given data path or if the data is a repeater entry but the composite type is not availableNotUniqueTypeException
- if there are many compatible types (there is no way to determine which type is the good one)BadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
dataToSAX
default void dataToSAX(ContentHandler contentHandler) throws SAXException, UnknownTypeException, NotUniqueTypeException Generates SAX events for data contained in thisDataHolder
- Parameters:
contentHandler
- theContentHandler
that will receive the SAX events- Throws:
SAXException
- if an error occurs during the SAX events generationUnknownTypeException
- if there is no compatible type with the saxed valueNotUniqueTypeException
- if there are many compatible types (there is no way to determine which type is the good one) with the saxed value
-
dataToSAX
void dataToSAX(ContentHandler contentHandler, DataContext context) throws SAXException, UnknownTypeException, NotUniqueTypeException Generates SAX events for data contained in thisDataHolder
- Parameters:
contentHandler
- theContentHandler
that will receive the SAX eventscontext
- The context of the data to SAX- Throws:
SAXException
- if an error occurs during the SAX events generationUnknownTypeException
- if there is no compatible type with the saxed valueNotUniqueTypeException
- if there are many compatible types (there is no way to determine which type is the good one) with the saxed value
-
dataToJSON
Convert the data contained in thisDataHolder
- Returns:
- The data of the current
DataHolder
as JSON - Throws:
UnknownTypeException
- if there is no compatible type with the value to convertNotUniqueTypeException
- if there are many compatible types (there is no way to determine which type is the good one) with the value to convert
-
dataToJSON
Map<String,Object> dataToJSON(DataContext context) throws UnknownTypeException, NotUniqueTypeException Convert the data contained in thisDataHolder
- Parameters:
context
- The context of the data to convert- Returns:
- The data of the current
DataHolder
as JSON - Throws:
UnknownTypeException
- if there is no compatible type with the value to convertNotUniqueTypeException
- if there are many compatible types (there is no way to determine which type is the good one) with the value to convert
-
hasDifferences
boolean hasDifferences(Map<String, Object> values) throws UnknownTypeException, NotUniqueTypeExceptionCheck if there are differences between the given values and the current ones- Parameters:
values
- the values to check- Returns:
true
if there are differences,false
otherwise- Throws:
UnknownTypeException
- if there is no available type compatible with a given value for this data holder's type extension pointNotUniqueTypeException
- if there is more than one available types compatibles with the a value for this data holder's type extension point
-
getParentDataHolder
Optional<? extends ModelLessDataHolder> getParentDataHolder()Description copied from interface:DataHolder
Retrieves the optional parent of the currentDataHolder
There can be no parent if the currentDataHolder
is the root- Specified by:
getParentDataHolder
in interfaceDataHolder
- Returns:
- the parent of the current
DataHolder
-
getRootDataHolder
Description copied from interface:DataHolder
Retrieves theDataHolder
that is the root of the current one- Specified by:
getRootDataHolder
in interfaceDataHolder
- Returns:
- the root
DataHolder
-
getModelItemTypeExtensionPoint
Provide the ModelItemTypeExtensionPoint linked with the DataHolder- Returns:
- the extension point
-