Class FirstLevelPageFactory
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.plugins.odfweb.repository.AbstractOdfPageFactory
-
- org.ametys.plugins.odfweb.repository.FirstLevelPageFactory
-
- All Implemented Interfaces:
AmetysObjectFactory<Page>
,VirtualAmetysObjectFactory<Page>
,LogEnabled
,Component
,Serviceable
public class FirstLevelPageFactory extends AbstractOdfPageFactory implements VirtualAmetysObjectFactory<Page>
AmetysObjectFactory
handlingFirstLevelPage
. This factory is referenced by an ODF root page.
-
-
Field Summary
-
Fields inherited from class org.ametys.plugins.odfweb.repository.AbstractOdfPageFactory
_ametysObjectFactoryEP, _manager, _odfPageHandler, _pageCache, _pageDataTypeExtensionPoint, _resolver, _serviceExtensionPoint
-
-
Constructor Summary
Constructors Constructor Description FirstLevelPageFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private String
_extractChildName(String id)
private Page
_extractRoot(String id)
private Optional<Map.Entry<String,String>>
_findFirstLevelValueEntry(Map<String,String> firstLevelValues, String levelCode)
private Optional<Map.Entry<String,String>>
_findFirstLevelValueEntry(Page rootPage, String levelCode)
private boolean
_hasFirstLevelValue(Page rootPage, String level1Code)
private FirstLevelPage
_toFirstLevelPage(Page rootPage, Map.Entry<String,String> firstLevelValueEntry)
private ProgramPage
_toProgramPage(Program program, Page root)
Page
getAmetysObjectById(String id)
Page
getChild(JCRAmetysObject parent, String childName)
Returns a namedAmetysObject
.AmetysObjectIterable<Page>
getChildren(JCRAmetysObject parent)
Returns the "root" objects of this virtual factory, hosted in the Ametys hierarchy under aTraversableAmetysObject
, which is backed by a concrete JCR Node.String
getScheme()
Returns the protocol of this factory, used to construct unique ids.boolean
hasAmetysObjectForId(String id)
Return true if the specified id correspond to an existingAmetysObject
.boolean
hasChild(JCRAmetysObject parent, String childName)
Returns true if the namedAmetysObject
exists.-
Methods inherited from class org.ametys.plugins.odfweb.repository.AbstractOdfPageFactory
getCoursePageFactory, getFirstLevelPageFactory, getODFPageCache, getODFPageHandler, getPageDataTypeEP, getProgramPageFactory, getResolver, getSecondLevelPageFactory, getServiceEP, getZoneDataTypeEP, getZoneItemDataTypeEP, service
-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
-
-
-
Constructor Detail
-
FirstLevelPageFactory
public FirstLevelPageFactory()
-
-
Method Detail
-
getScheme
public String getScheme()
Description copied from interface:AmetysObjectFactory
Returns the protocol of this factory, used to construct unique ids.- Specified by:
getScheme
in interfaceAmetysObjectFactory<Page>
- Returns:
- the protocol of this factory.
-
getAmetysObjectById
public Page getAmetysObjectById(String id) throws AmetysRepositoryException
Description copied from interface:AmetysObjectFactory
- Specified by:
getAmetysObjectById
in interfaceAmetysObjectFactory<Page>
- Parameters:
id
- the identifier.- Returns:
- the corresponding
AmetysObject
. - Throws:
AmetysRepositoryException
- if an error occurs.
-
_extractRoot
private Page _extractRoot(String id)
-
_extractChildName
private String _extractChildName(String id)
-
_findFirstLevelValueEntry
private Optional<Map.Entry<String,String>> _findFirstLevelValueEntry(Page rootPage, String levelCode)
-
_findFirstLevelValueEntry
private Optional<Map.Entry<String,String>> _findFirstLevelValueEntry(Map<String,String> firstLevelValues, String levelCode)
-
_toFirstLevelPage
private FirstLevelPage _toFirstLevelPage(Page rootPage, Map.Entry<String,String> firstLevelValueEntry)
-
_toProgramPage
private ProgramPage _toProgramPage(Program program, Page root)
-
hasAmetysObjectForId
public boolean hasAmetysObjectForId(String id) throws AmetysRepositoryException
Description copied from interface:AmetysObjectFactory
Return true if the specified id correspond to an existingAmetysObject
. Id are like<protocol>://<protocol-specific-part>
.- Specified by:
hasAmetysObjectForId
in interfaceAmetysObjectFactory<Page>
- Parameters:
id
- the identifier.- Returns:
- true if the specified id correspond to an existing
AmetysObject
. - Throws:
AmetysRepositoryException
- if an error occurs.
-
getChild
public Page getChild(JCRAmetysObject parent, String childName)
Description copied from interface:VirtualAmetysObjectFactory
Returns a namedAmetysObject
.- Specified by:
getChild
in interfaceVirtualAmetysObjectFactory<Page>
- Parameters:
parent
- theJCRAmetysObject
"hosting" this factory.childName
- the name of the virtual child.- Returns:
- the corresponding
AmetysObject
.
-
getChildren
public AmetysObjectIterable<Page> getChildren(JCRAmetysObject parent)
Description copied from interface:VirtualAmetysObjectFactory
Returns the "root" objects of this virtual factory, hosted in the Ametys hierarchy under aTraversableAmetysObject
, which is backed by a concrete JCR Node.- Specified by:
getChildren
in interfaceVirtualAmetysObjectFactory<Page>
- Parameters:
parent
- theJCRAmetysObject
"hosting" this factory.- Returns:
- the root objects of this virtual factory.
-
hasChild
public boolean hasChild(JCRAmetysObject parent, String childName)
Description copied from interface:VirtualAmetysObjectFactory
Returns true if the namedAmetysObject
exists.- Specified by:
hasChild
in interfaceVirtualAmetysObjectFactory<Page>
- Parameters:
parent
- theJCRAmetysObject
"hosting" this factory.childName
- the name of the virtual child.- Returns:
- true if the named
AmetysObject
exists.
-
_hasFirstLevelValue
private boolean _hasFirstLevelValue(Page rootPage, String level1Code) throws AmetysRepositoryException
- Throws:
AmetysRepositoryException
-
-