public class ProgramPage extends Object implements Page
Program or a SubProgram.| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
ProgramPage.AbstractTreeIterator<T>
Breadth first search iterator for tree structure
Each node can provide an iterator that will be put in the end of the queue.
|
(package private) static class |
ProgramPage.ProgramPartTraverser
Program part traverser.
|
Page.LinkType, Page.PageType| Modifier and Type | Field and Description |
|---|---|
private OdfPageHandler |
_odfPageHandler |
private Program |
_parent |
private Page |
_parentPage |
private String |
_path |
private AbstractProgram |
_program |
private AmetysObjectResolver |
_resolver |
private Page |
_root |
| Constructor and Description |
|---|
ProgramPage(AmetysObjectResolver resolver,
OdfPageHandler odfPageHandler,
Page root,
AbstractProgram program,
String path,
Program parent,
Page parentPage)
Constructor for program page holding a
Program or SubProgram |
ProgramPage(AmetysObjectResolver resolver,
OdfPageHandler odfPageHandler,
Page root,
Program program,
Page parentPage)
Constructor for program page holding a
Program. |
| Modifier and Type | Method and Description |
|---|---|
(package private) String |
_computeLevelsPath()
Compute the path from the root odf page, representing the first and second level pages.
|
private boolean |
_filterByName(ProgramItem programItem,
String name) |
private Optional<ProgramItem> |
_findChild(TraversableProgramPart parent,
String name) |
private Optional<Page> |
_getChildPage(TraversableProgramPart parent,
String name) |
private CoursePage |
_toChildCoursePage(Course course) |
private Page |
_toChildPage(ProgramItem child) |
private ProgramPage |
_toChildProgramPage(SubProgram child) |
private Stream<ProgramItem> |
_traverseChildren(TraversableProgramPart parent) |
<A extends AmetysObject> |
getChild(String path)
Retrieves a given child from its relative path.
|
Page |
getChildPageAt(int index)
Gets the child
Page at the given position |
AmetysObjectIterable<? extends Page> |
getChildren()
Retrieves children of the current object.
|
AmetysObjectIterable<? extends Page> |
getChildrenPages()
Retrieves child pages.
|
AmetysObjectIterable<? extends Page> |
getChildrenPages(boolean includeInvisiblePages)
Retrieves child pages.
|
int |
getDepth()
Get the page depth
|
String |
getId()
Retrieves the unique identifier of this AmetysObject.
It must be unique in the whole repository and must never be null. It must conform to the URI syntax: <protocol>://<protocol-specific-part> |
String |
getLongTitle()
Retrieves the long title.
|
CompositeMetadata |
getMetadataHolder()
Returns the root
CompositeMetadata of this AmetysObject. |
String |
getName()
Retrieves the name of the current object.
|
Page |
getParent()
Returns the parent object in the Ametys hierarchy.
|
String |
getParentPath()
Returns the path of the parent object in the Ametys hierarchy.
|
(package private) Program |
getParentProgram() |
String |
getPath()
Retrieves the path of the current object.
|
String |
getPathInSitemap()
Computes the path relative to the current sitemap.
|
AbstractProgram |
getProgram()
Returns the associated
Program or SubProgram. |
Set<String> |
getReferers()
Retrieves all
AmetysObject ids referencing this page. |
ResourceCollection |
getRootAttachments()
Retrieves the attachments root node
|
Site |
getSite()
Returns this object's site.
|
Sitemap |
getSitemap()
Retrieves the sitemap containing the current sitemap.
|
String |
getSitemapName()
Returns this page's sitemap name
|
String |
getSiteName()
Returns this object's site name.
|
Set<String> |
getTags()
Retrieves current tags.
|
String |
getTemplate()
Retrieves the template name.
|
String |
getTitle()
Retrieves the title.
|
Page.PageType |
getType()
Retrieves the type.
|
String |
getURL()
Retrieves the linked URL.
|
Page.LinkType |
getURLType()
Retrieves the linked URL type.
|
Zone |
getZone(String name)
Retrieves a given zone.
|
AmetysObjectIterable<? extends Zone> |
getZones()
Retrieves the zones.
|
boolean |
hasChild(String name)
Tests if this Object has at least one child with the given name.
|
boolean |
hasZone(String name)
Determine if a zone exists
|
boolean |
isVisible()
Determine if the page is visible into navigation elements
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetChildAt, getChildPositionequals, hashCodeprivate AmetysObjectResolver _resolver
private OdfPageHandler _odfPageHandler
private AbstractProgram _program
private Page _parentPage
public ProgramPage(AmetysObjectResolver resolver, OdfPageHandler odfPageHandler, Page root, Program program, Page parentPage)
Program.resolver - the AmetysObjectResolver.odfPageHandler - the OdfPageHandler to handle ODF pages.root - the ODF root page.program - the program.parentPage - the parent Page or null if not yet computed.public ProgramPage(AmetysObjectResolver resolver, OdfPageHandler odfPageHandler, Page root, AbstractProgram program, String path, Program parent, Page parentPage)
Program or SubProgramresolver - the AmetysObjectResolver.odfPageHandler - the OdfPageHandler to handle ODF pages.root - the ODF root page.program - the program or subprogram.path - The path from the virtual second level page. Can be null if abstract program is a Programparent - the parent program in case of a subprogram, null otherwiseparentPage - the parent Page or null if not yet computed.public AbstractProgram getProgram()
Program or SubProgram.Program or SubProgram.public int getDepth() throws AmetysRepositoryException
PagegetDepth in interface PageAmetysRepositoryException - if an error occurs.public Set<String> getReferers() throws AmetysRepositoryException
PageAmetysObject ids referencing this page.getReferers in interface PageAmetysObject ids referencing this page.AmetysRepositoryException - if an error occurs.public ResourceCollection getRootAttachments() throws AmetysRepositoryException
PagegetRootAttachments in interface PageAmetysRepositoryException - if an error occurs.public String getTemplate() throws AmetysRepositoryException
PagegetTemplate in interface Pagenull if none has
been set.AmetysRepositoryException - if an error occurs.public String getTitle() throws AmetysRepositoryException
PagegetTitle in interface PageAmetysRepositoryException - if an error occurs.public String getLongTitle() throws AmetysRepositoryException
PagegetLongTitle in interface PageAmetysRepositoryException - if an error occurs.public Page.PageType getType() throws AmetysRepositoryException
PagegetType in interface PageAmetysRepositoryException - if an error occurs.Page.PageTypepublic String getURL() throws AmetysRepositoryException
PagegetURL in interface PageAmetysRepositoryException - if an error occurs.public Page.LinkType getURLType() throws AmetysRepositoryException
PagegetURLType in interface PageAmetysRepositoryException - if an error occurs.public Zone getZone(String name) throws UnknownZoneException, AmetysRepositoryException
PagegetZone in interface Pagename - the name of the zone.UnknownZoneException - if there is no zone for the given name.AmetysRepositoryException - if an error occurs.public AmetysObjectIterable<? extends Zone> getZones() throws AmetysRepositoryException
PagegetZones in interface PageAmetysRepositoryException - if an error occurs.public boolean hasZone(String name) throws AmetysRepositoryException
PagehasZone in interface Pagename - The name of the zoneAmetysRepositoryException - If an error occuredpublic AmetysObjectIterable<? extends Page> getChildrenPages() throws AmetysRepositoryException
PagesContainergetChildrenPages in interface PagesContainerAmetysRepositoryException - if an error occurs.public String getPathInSitemap() throws AmetysRepositoryException
PagesContainergetPathInSitemap in interface PagesContainerAmetysRepositoryException - if an error occurs.Program getParentProgram()
String _computeLevelsPath()
public Site getSite() throws AmetysRepositoryException
SiteAwareAmetysObjectgetSite in interface SiteAwareAmetysObjectAmetysRepositoryException - if an error occurs.public String getSiteName() throws AmetysRepositoryException
SiteAwareAmetysObjectgetSiteName in interface SiteAwareAmetysObjectAmetysRepositoryException - if an error occurs.public Sitemap getSitemap() throws AmetysRepositoryException
PagesContainergetSitemap in interface PagesContainerAmetysRepositoryException - if an error occurs.public String getSitemapName() throws AmetysRepositoryException
PagesContainergetSitemapName in interface PagesContainerAmetysRepositoryException - if an error occurs.public <A extends AmetysObject> A getChild(String path) throws AmetysRepositoryException, UnknownAmetysObjectException
TraversableAmetysObjectnull, empty nor begin with a '/'.getChild in interface TraversableAmetysObjectA - the actual type of AmetysObject.path - the path of the child which can contains a position with.
[n] if same name sibling is allowed.AmetysRepositoryException - if an error occurs.UnknownAmetysObjectException - if the object does not exist.private Optional<Page> _getChildPage(TraversableProgramPart parent, String name)
private Optional<ProgramItem> _findChild(TraversableProgramPart parent, String name)
private boolean _filterByName(ProgramItem programItem, String name)
private Page _toChildPage(ProgramItem child)
private ProgramPage _toChildProgramPage(SubProgram child)
private CoursePage _toChildCoursePage(Course course)
public AmetysObjectIterable<? extends Page> getChildren() throws AmetysRepositoryException
TraversableAmetysObjectgetChildren in interface TraversableAmetysObjectAmetysObjectIterable.AmetysRepositoryException - if an error occurs.public boolean hasChild(String name) throws AmetysRepositoryException
TraversableAmetysObjecthasChild in interface TraversableAmetysObjectname - the name to test. Cannot be null nor empty nor
begin with a '/' and it cannot contain '/'.true if the named child exists,
false otherwise.AmetysRepositoryException - if an error occurs.public String getId() throws AmetysRepositoryException
AmetysObject<protocol>://<protocol-specific-part>getId in interface AmetysObjectAmetysRepositoryException - if an error occurs.public String getName() throws AmetysRepositoryException
AmetysObjectgetName in interface AmetysObjectAmetysRepositoryException - if an error occurs.public Page getParent() throws AmetysRepositoryException
AmetysObjectgetParent in interface AmetysObjectnull if current object
is the root.AmetysRepositoryException - if an error occurs.public String getParentPath() throws AmetysRepositoryException
AmetysObjectgetParentPath in interface AmetysObjectAmetysRepositoryException - if an error occurs.public String getPath() throws AmetysRepositoryException
AmetysObjectgetPath in interface AmetysObjectAmetysRepositoryException - if an error occurs.public CompositeMetadata getMetadataHolder()
MetadataAwareAmetysObjectCompositeMetadata of this AmetysObject.getMetadataHolder in interface MetadataAwareAmetysObjectCompositeMetadata of this AmetysObjectpublic Set<String> getTags() throws AmetysRepositoryException
TagAwareAmetysObjectgetTags in interface TagAwareAmetysObjectAmetysRepositoryException - if an error occurs.public boolean isVisible() throws AmetysRepositoryException
PageisVisible in interface PageAmetysRepositoryException - if an error occurs.public AmetysObjectIterable<? extends Page> getChildrenPages(boolean includeInvisiblePages) throws AmetysRepositoryException
PagesContainergetChildrenPages in interface PagesContainerincludeInvisiblePages - true to include invisible pagesAmetysRepositoryException - if an error occurs.public Page getChildPageAt(int index) throws UnknownAmetysObjectException, AmetysRepositoryException
PagesContainerPage at the given positiongetChildPageAt in interface PagesContainerindex - the position of the Page within the ordered set of its sibling objects.Page if foundUnknownAmetysObjectException - if no child page was found at this positionAmetysRepositoryException - if an error occursprivate Stream<ProgramItem> _traverseChildren(TraversableProgramPart parent)