Interface ModelLessDataAwareAmetysObject
-
- All Superinterfaces:
AmetysObject
,DataAwareAmetysObject
,DataHolder
,ModelLessDataHolder
- All Known Subinterfaces:
MetadataAwarePagesContainer
,ModelLessJCRAmetysObject
,ModifiableModelLessDataAwareAmetysObject
,ModifiablePage
,ModifiableZone
,ModifiableZoneItem
,Page
,Zone
,ZoneItem
- All Known Implementing Classes:
AbstractBlogPage
,AbstractLevelPage
,AbstractOdfPage
,AbstractSurveyElement
,CoursePage
,CourseZone
,CourseZoneItem
,DefaultLink
,DefaultPage
,DefaultZone
,DefaultZoneItem
,FirstLevelPage
,FirstLevelZone
,FirstLevelZoneItem
,JCRProjectMember
,OrgUnitPage
,OrgUnitZone
,OrgUnitZoneItem
,PostListZone
,PostListZoneItem
,PostZone
,PostZoneItem
,ProgramPage
,ProgramZone
,ProgramZoneItem
,Project
,RedirectPage
,SecondLevelPage
,SecondLevelZone
,SecondLevelZoneItem
,Sitemap
,StaticZone
,StaticZoneItem
,Survey
,SurveyPage
,SurveyQuestion
,TransitionalPage
,TransitionalZone
,TransitionalZoneItem
,UGCPage
,UGCTransitionalPage
,UGCTransitionalZone
,UGCTransitionalZoneItem
,UGCZone
,UGCZoneItem
,UserPage
,UserZone
,UserZoneItem
,VirtualMonthPage
,VirtualPostPage
,VirtualPostsPage
,VirtualTagPage
,VirtualTagsPage
,VirtualYearPage
,VirtualYearsPage
public interface ModelLessDataAwareAmetysObject extends DataAwareAmetysObject, ModelLessDataHolder
Model lessAmetysObject
that can handle data.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
dataToSAX(ContentHandler contentHandler, DataContext context)
Generates SAX events for data contained in thisDataHolder
default ModelLessComposite
getComposite(String compositePath)
Retrieves the composite at the given pathModelLessDataHolder
getDataHolder()
Returns theDataHolder
of thisAmetysObject
.default Optional<? extends ModelLessDataHolder>
getParentDataHolder()
Retrieves the optional parent of the currentDataHolder
There can be no parent if the currentDataHolder
is the rootdefault ModelLessDataHolder
getRootDataHolder()
Retrieves theDataHolder
that is the root of the current onedefault RepositoryModelItemType
getType(String dataPath)
Retrieves the type of the data at the given pathdefault <T> T
getValue(String dataPath)
Retrieves the value of the data at the given path The type of the value will be deduced from the stored data.default <T> T
getValue(String dataPath, T defaultValue)
Retrieves the value of the data at the given path if exists and is not empty, or the default valuedefault <T> T
getValueOfType(String dataPath, String dataTypeId)
Retrieves the value of the data at the given pathdefault <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 valuedefault boolean
hasValue(String dataPath)
Checks if there is a non empty value for the data at the given pathdefault boolean
hasValueOrEmpty(String dataPath)
Checks if there is a value, even empty, for the data at the given pathdefault boolean
isMultiple(String dataPath)
Checks if the value of the data at the given path is multiple-
Methods inherited from interface org.ametys.plugins.repository.AmetysObject
equals, getId, getName, getParent, getParentPath, getPath, hashCode
-
Methods inherited from interface org.ametys.plugins.repository.data.ametysobject.DataAwareAmetysObject
copyTo, dataToSAX, dataToSAX, getDataNames, getRepositoryData
-
Methods inherited from interface org.ametys.plugins.repository.data.holder.ModelLessDataHolder
dataToSAX
-
-
-
-
Method Detail
-
getDataHolder
ModelLessDataHolder getDataHolder()
Description copied from interface:DataAwareAmetysObject
Returns theDataHolder
of thisAmetysObject
.- Specified by:
getDataHolder
in interfaceDataAwareAmetysObject
- Returns:
- the
DataHolder
of thisAmetysObject
-
getComposite
default ModelLessComposite getComposite(String compositePath) throws IllegalArgumentException, BadItemTypeException, BadDataPathCardinalityException
Description copied from interface:DataHolder
Retrieves the composite at the given path- Specified by:
getComposite
in interfaceDataAwareAmetysObject
- Specified by:
getComposite
in interfaceDataHolder
- Specified by:
getComposite
in interfaceModelLessDataHolder
- Parameters:
compositePath
- path of the composite to retrieve- Returns:
- the composite or
null
if not exists or is empty - Throws:
IllegalArgumentException
- if the given composite path is null or emptyBadItemTypeException
- if the stored value at the given path is not a compositeBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
hasValue
default boolean hasValue(String dataPath) throws IllegalArgumentException, BadDataPathCardinalityException
Description copied from interface:DataHolder
Checks if there is a non empty value for the data at the given path- Specified by:
hasValue
in interfaceDataAwareAmetysObject
- Specified by:
hasValue
in interfaceDataHolder
- Specified by:
hasValue
in interfaceModelLessDataHolder
- Parameters:
dataPath
- path 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 emptyBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
hasValueOrEmpty
default boolean hasValueOrEmpty(String dataPath) throws IllegalArgumentException, BadDataPathCardinalityException
Description copied from interface:DataHolder
Checks if there is a value, even empty, for the data at the given path- Specified by:
hasValueOrEmpty
in interfaceDataAwareAmetysObject
- Specified by:
hasValueOrEmpty
in interfaceDataHolder
- Specified by:
hasValueOrEmpty
in interfaceModelLessDataHolder
- Parameters:
dataPath
- path of the data- Returns:
true
if there is value, even empty, for the data,false
otherwise- Throws:
IllegalArgumentException
- if the given data path is null or emptyBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
getValue
default <T> T getValue(String dataPath) throws IllegalArgumentException, UnknownTypeException, NotUniqueTypeException, BadDataPathCardinalityException
Description copied from interface:ModelLessDataHolder
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- Specified by:
getValue
in interfaceModelLessDataHolder
- 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)BadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
getValue
default <T> T getValue(String dataPath, T defaultValue) throws IllegalArgumentException, UnknownTypeException, NotUniqueTypeException, BadDataPathCardinalityException
Description copied from interface:ModelLessDataHolder
Retrieves the value of the data at the given path if exists and is not empty, or the default value- Specified by:
getValue
in interfaceModelLessDataHolder
- 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)BadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
getValueOfType
default <T> T getValueOfType(String dataPath, String dataTypeId) throws IllegalArgumentException, UnknownTypeException, BadItemTypeException, BadDataPathCardinalityException
Description copied from interface:ModelLessDataHolder
Retrieves the value of the data at the given path- Specified by:
getValueOfType
in interfaceModelLessDataHolder
- 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
default <T> T getValueOfType(String dataPath, String dataTypeId, T defaultValue) throws IllegalArgumentException, UnknownTypeException, BadItemTypeException, BadDataPathCardinalityException
Description copied from interface:ModelLessDataHolder
Retrieves the value of the data at the given path if exists and is not empty, or the default value- Specified by:
getValueOfType
in interfaceModelLessDataHolder
- 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
default boolean isMultiple(String dataPath) throws IllegalArgumentException, UnknownDataException, BadDataPathCardinalityException
Description copied from interface:ModelLessDataHolder
Checks if the value of the data at the given path is multiple- Specified by:
isMultiple
in interfaceModelLessDataHolder
- 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 existBadDataPathCardinalityException
- if the value of a part of the data path is multiple. Only the last part can be multiple
-
getType
default RepositoryModelItemType getType(String dataPath) throws IllegalArgumentException, UnknownDataException, UnknownTypeException, NotUniqueTypeException, BadDataPathCardinalityException
Description copied from interface:ModelLessDataHolder
Retrieves the type of the data at the given path- Specified by:
getType
in interfaceModelLessDataHolder
- 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, DataContext context) throws SAXException, UnknownTypeException, NotUniqueTypeException
Description copied from interface:ModelLessDataHolder
Generates SAX events for data contained in thisDataHolder
- Specified by:
dataToSAX
in interfaceModelLessDataHolder
- 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
-
getParentDataHolder
default 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 interfaceDataAwareAmetysObject
- Specified by:
getParentDataHolder
in interfaceDataHolder
- Specified by:
getParentDataHolder
in interfaceModelLessDataHolder
- Returns:
- the parent of the current
DataHolder
-
getRootDataHolder
default ModelLessDataHolder getRootDataHolder()
Description copied from interface:DataHolder
Retrieves theDataHolder
that is the root of the current one- Specified by:
getRootDataHolder
in interfaceDataAwareAmetysObject
- Specified by:
getRootDataHolder
in interfaceDataHolder
- Specified by:
getRootDataHolder
in interfaceModelLessDataHolder
- Returns:
- the root
DataHolder
-
-