Class UserPage
- java.lang.Object
-
- org.ametys.plugins.userdirectory.page.UserPage
-
- All Implemented Interfaces:
ACLAmetysObject
,AmetysObject
,DataAwareAmetysObject
,ModelLessDataAwareAmetysObject
,DataHolder
,ModelLessDataHolder
,TagAwareAmetysObject
,TraversableAmetysObject
,MetadataAwarePagesContainer
,Page
,PagesContainer
,SiteAwareAmetysObject
public class UserPage extends Object implements Page, ACLAmetysObject
Page representing a second-level page.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ametys.web.repository.page.Page
Page.LinkType, Page.PageType
-
-
Constructor Summary
Constructors Constructor Description UserPage(Page root, Content syncContent, String path, AmetysObjectResolver resolver, UserDirectoryPageHandler userDirectoryPageHandler, SynchronizableContentsCollectionDAO syncContentsCollectionDAO, SkinsManager skinsManager, SynchronizableContentsCollectionHelper sccHelper, AbstractThreadSafeComponentExtensionPoint<RepositoryModelItemType> pageDataTypeExtensionPoint, AbstractThreadSafeComponentExtensionPoint<RepositoryModelItemType> zoneDataTypeExtensionPoint, ServiceExtensionPoint serviceExtensionPoint, AbstractThreadSafeComponentExtensionPoint<RepositoryModelItemType> zoneItemDataTypeExtensionPoint)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <A extends AmetysObject>
AgetChild(String path)
Retrieves a given child from its relative path.Page
getChildPageAt(int index)
Gets the childPage
at the given positionAmetysObjectIterable<? extends AmetysObject>
getChildren()
Retrieves children of the current object.AmetysObjectIterable<? extends Page>
getChildrenPages()
Retrieves child pages.AmetysObjectIterable<? extends Page>
getChildrenPages(boolean includeInvisiblePage)
Retrieves child pages.ModelLessDataHolder
getDataHolder()
Returns theDataHolder
of thisAmetysObject
.int
getDepth()
Get the page depthString
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>
static String
getId(String path, String rootId, String contentId)
Compute a page idString
getLongTitle()
Retrieves the long title.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.String
getPath()
Retrieves the path of the current object.String
getPathInSitemap()
Computes the path relative to the current sitemap.Map<ProfileAssignmentStorage.AnonymousOrAnyConnectedKeys,Set<String>>
getProfilesForAnonymousAndAnyConnectedUser()
Gets the allowed profiles any connected user has on the given objectMap<GroupIdentity,Map<ProfileAssignmentStorage.UserOrGroup,Set<String>>>
getProfilesForGroups(Set<GroupIdentity> groups)
Gets the groups that have allowed profiles assigned on the given objectMap<UserIdentity,Map<ProfileAssignmentStorage.UserOrGroup,Set<String>>>
getProfilesForUsers(UserIdentity user)
Gets the users that have allowed profiles assigned on the given objectSet<String>
getReferers()
Retrieves allAmetysObject
ids referencing this page.ResourceCollection
getRootAttachments()
Retrieves the attachments root nodeSite
getSite()
Returns this object's site.Sitemap
getSitemap()
Retrieves the sitemap containing the current sitemap.String
getSitemapName()
Returns this page's sitemap nameString
getSiteName()
Returns this object's site name.Content
getSyncContent()
Returns the associated synchronizableContent
.Set<String>
getTags()
Retrieves current tags.String
getTemplate()
Retrieves the template name.ModelAwareDataHolder
getTemplateParametersHolder()
Get the view parametersString
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 existsboolean
isInheritanceDisallowed()
Returns true if the inheritance is disallow for this ametys objectboolean
isVisible()
Determine if the page is visible into navigation elements-
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.AmetysObject
equals, 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.ametysobject.ModelLessDataAwareAmetysObject
dataToSAX, getComposite, getParentDataHolder, getRootDataHolder, getType, getValue, getValue, getValueOfType, getValueOfType, hasValue, hasValueOrEmpty, isMultiple
-
Methods inherited from interface org.ametys.plugins.repository.data.holder.ModelLessDataHolder
dataToSAX
-
Methods inherited from interface org.ametys.plugins.repository.TraversableAmetysObject
getChildAt, getChildPosition
-
-
-
-
Constructor Detail
-
UserPage
public UserPage(Page root, Content syncContent, String path, AmetysObjectResolver resolver, UserDirectoryPageHandler userDirectoryPageHandler, SynchronizableContentsCollectionDAO syncContentsCollectionDAO, SkinsManager skinsManager, SynchronizableContentsCollectionHelper sccHelper, AbstractThreadSafeComponentExtensionPoint<RepositoryModelItemType> pageDataTypeExtensionPoint, AbstractThreadSafeComponentExtensionPoint<RepositoryModelItemType> zoneDataTypeExtensionPoint, ServiceExtensionPoint serviceExtensionPoint, AbstractThreadSafeComponentExtensionPoint<RepositoryModelItemType> zoneItemDataTypeExtensionPoint)
Constructor.- Parameters:
root
- the root page.syncContent
- the synchronized contentpath
- the pathresolver
- theAmetysObjectResolver
.userDirectoryPageHandler
- the user directory page handlersyncContentsCollectionDAO
- The DAO for synchronizable collectionsskinsManager
- the skins managersccHelper
- the SCC helperpageDataTypeExtensionPoint
- the extension point with available data types for pageszoneDataTypeExtensionPoint
- the extension point with available data types for zonesserviceExtensionPoint
- the service extension pointzoneItemDataTypeExtensionPoint
- the extension point with available data types for zone items
-
-
Method Detail
-
getId
public static String getId(String path, String rootId, String contentId)
Compute a page id- Parameters:
path
- The pathrootId
- The root page idcontentId
- The content id- Returns:
- The id
-
getSyncContent
public Content getSyncContent()
Returns the associated synchronizableContent
.- Returns:
- the associated synchronizable
Content
.
-
getDepth
public int getDepth() throws AmetysRepositoryException
Description copied from interface:Page
Get the page depth- Specified by:
getDepth
in interfacePage
- Returns:
- the page depth
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getReferers
public Set<String> getReferers() throws AmetysRepositoryException
Description copied from interface:Page
Retrieves allAmetysObject
ids referencing this page.- Specified by:
getReferers
in interfacePage
- Returns:
- the
AmetysObject
ids referencing this page. - Throws:
AmetysRepositoryException
- if an error occurs.
-
getRootAttachments
public ResourceCollection getRootAttachments() throws AmetysRepositoryException
Description copied from interface:Page
Retrieves the attachments root node- Specified by:
getRootAttachments
in interfacePage
- Returns:
- The the attachments root node
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getTemplate
public String getTemplate() throws AmetysRepositoryException
Description copied from interface:Page
Retrieves the template name.- Specified by:
getTemplate
in interfacePage
- Returns:
- the template name or
null
if none has been set. - Throws:
AmetysRepositoryException
- if an error occurs.
-
getTitle
public String getTitle() throws AmetysRepositoryException
Description copied from interface:Page
Retrieves the title.- Specified by:
getTitle
in interfacePage
- Returns:
- the title.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getLongTitle
public String getLongTitle() throws AmetysRepositoryException
Description copied from interface:Page
Retrieves the long title.- Specified by:
getLongTitle
in interfacePage
- Returns:
- the title.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getType
public Page.PageType getType() throws AmetysRepositoryException
Description copied from interface:Page
Retrieves the type.- Specified by:
getType
in interfacePage
- Returns:
- the type.
- Throws:
AmetysRepositoryException
- if an error occurs.- See Also:
Page.PageType
-
getURL
public String getURL() throws AmetysRepositoryException
Description copied from interface:Page
Retrieves the linked URL.- Specified by:
getURL
in interfacePage
- Returns:
- the linked URL.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getURLType
public Page.LinkType getURLType() throws AmetysRepositoryException
Description copied from interface:Page
Retrieves the linked URL type.- Specified by:
getURLType
in interfacePage
- Returns:
- the linked URL type.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getZone
public Zone getZone(String name) throws UnknownZoneException, AmetysRepositoryException
Description copied from interface:Page
Retrieves a given zone.- Specified by:
getZone
in interfacePage
- Parameters:
name
- the name of the zone.- Returns:
- the given zone.
- Throws:
UnknownZoneException
- if there is no zone for the given name.AmetysRepositoryException
- if an error occurs.
-
getZones
public AmetysObjectIterable<? extends Zone> getZones() throws AmetysRepositoryException
Description copied from interface:Page
Retrieves the zones.- Specified by:
getZones
in interfacePage
- Returns:
- the zones.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
hasZone
public boolean hasZone(String name) throws AmetysRepositoryException
Description copied from interface:Page
Determine if a zone exists- Specified by:
hasZone
in interfacePage
- Parameters:
name
- The name of the zone- Returns:
- true if the zone exists
- Throws:
AmetysRepositoryException
- If an error occured
-
getChildrenPages
public AmetysObjectIterable<? extends Page> getChildrenPages() throws AmetysRepositoryException
Description copied from interface:PagesContainer
Retrieves child pages.- Specified by:
getChildrenPages
in interfacePagesContainer
- Returns:
- the child pages.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getPathInSitemap
public String getPathInSitemap() throws AmetysRepositoryException
Description copied from interface:PagesContainer
Computes the path relative to the current sitemap.- Specified by:
getPathInSitemap
in interfacePagesContainer
- Returns:
- the path relative to the current sitemap.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getSite
public Site getSite() throws AmetysRepositoryException
Description copied from interface:SiteAwareAmetysObject
Returns this object's site.- Specified by:
getSite
in interfaceSiteAwareAmetysObject
- Returns:
- this object's site
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getSiteName
public String getSiteName() throws AmetysRepositoryException
Description copied from interface:SiteAwareAmetysObject
Returns this object's site name.- Specified by:
getSiteName
in interfaceSiteAwareAmetysObject
- Returns:
- this object's site name.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getSitemap
public Sitemap getSitemap() throws AmetysRepositoryException
Description copied from interface:PagesContainer
Retrieves the sitemap containing the current sitemap.- Specified by:
getSitemap
in interfacePagesContainer
- Returns:
- the sitemap containing the current sitemap.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getSitemapName
public String getSitemapName() throws AmetysRepositoryException
Description copied from interface:PagesContainer
Returns this page's sitemap name- Specified by:
getSitemapName
in interfacePagesContainer
- Returns:
- this page's sitemap name
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getChild
public <A extends AmetysObject> A getChild(String path) throws AmetysRepositoryException, UnknownAmetysObjectException
Description copied from interface:TraversableAmetysObject
Retrieves a given child from its relative path. The path cannot benull
, empty nor begin with a'/'
.- Specified by:
getChild
in interfaceTraversableAmetysObject
- Type Parameters:
A
- the actual type ofAmetysObject
.- Parameters:
path
- the path of the child which can contains a position with.[n]
if same name sibling is allowed.- Returns:
- the child found.
- Throws:
AmetysRepositoryException
- if an error occurs.UnknownAmetysObjectException
- if the object does not exist.
-
getChildren
public AmetysObjectIterable<? extends AmetysObject> getChildren() throws AmetysRepositoryException
Description copied from interface:TraversableAmetysObject
Retrieves children of the current object.- Specified by:
getChildren
in interfaceTraversableAmetysObject
- Returns:
- the children or an empty
AmetysObjectIterable
. - Throws:
AmetysRepositoryException
- if an error occurs.
-
hasChild
public boolean hasChild(String name) throws AmetysRepositoryException
Description copied from interface:TraversableAmetysObject
Tests if this Object has at least one child with the given name.- Specified by:
hasChild
in interfaceTraversableAmetysObject
- Parameters:
name
- the name to test. Cannot benull
nor empty nor begin with a'/'
and it cannot contain'/'
.- Returns:
true
if the named child exists,false
otherwise.- Throws:
AmetysRepositoryException
- if an error occurs.
-
getId
public String getId() throws AmetysRepositoryException
Description copied from interface:AmetysObject
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>
- Specified by:
getId
in interfaceAmetysObject
- Returns:
- the unique identifier of this AmetysObject
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getName
public String getName() throws AmetysRepositoryException
Description copied from interface:AmetysObject
Retrieves the name of the current object.- Specified by:
getName
in interfaceAmetysObject
- Returns:
- the name.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getParent
public Page getParent() throws AmetysRepositoryException
Description copied from interface:AmetysObject
Returns the parent object in the Ametys hierarchy.- Specified by:
getParent
in interfaceAmetysObject
- Returns:
- the parent object or
null
if current object is the root. - Throws:
AmetysRepositoryException
- if an error occurs.
-
getParentPath
public String getParentPath() throws AmetysRepositoryException
Description copied from interface:AmetysObject
Returns the path of the parent object in the Ametys hierarchy.- Specified by:
getParentPath
in interfaceAmetysObject
- Returns:
- the path of the parent object.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getPath
public String getPath() throws AmetysRepositoryException
Description copied from interface:AmetysObject
Retrieves the path of the current object.- Specified by:
getPath
in interfaceAmetysObject
- Returns:
- the path.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getDataHolder
public ModelLessDataHolder getDataHolder()
Description copied from interface:DataAwareAmetysObject
Returns theDataHolder
of thisAmetysObject
.- Specified by:
getDataHolder
in interfaceDataAwareAmetysObject
- Specified by:
getDataHolder
in interfaceModelLessDataAwareAmetysObject
- Returns:
- the
DataHolder
of thisAmetysObject
-
getTags
public Set<String> getTags() throws AmetysRepositoryException
Description copied from interface:TagAwareAmetysObject
Retrieves current tags.- Specified by:
getTags
in interfaceTagAwareAmetysObject
- Returns:
- the current tags.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getChildrenPages
public AmetysObjectIterable<? extends Page> getChildrenPages(boolean includeInvisiblePage) throws AmetysRepositoryException
Description copied from interface:PagesContainer
Retrieves child pages.- Specified by:
getChildrenPages
in interfacePagesContainer
- Parameters:
includeInvisiblePage
- true to include invisible pages- Returns:
- the child pages.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
isVisible
public boolean isVisible() throws AmetysRepositoryException
Description copied from interface:Page
Determine if the page is visible into navigation elements- Specified by:
isVisible
in interfacePage
- Returns:
- true if the page is visible.
- Throws:
AmetysRepositoryException
- if an error occurs.
-
getChildPageAt
public Page getChildPageAt(int index) throws UnknownAmetysObjectException, AmetysRepositoryException
Description copied from interface:PagesContainer
Gets the childPage
at the given position- Specified by:
getChildPageAt
in interfacePagesContainer
- Parameters:
index
- the position of thePage
within the ordered set of its sibling objects.- Returns:
- the
Page
if found - Throws:
UnknownAmetysObjectException
- if no child page was found at this positionAmetysRepositoryException
- if an error occurs
-
getProfilesForAnonymousAndAnyConnectedUser
public Map<ProfileAssignmentStorage.AnonymousOrAnyConnectedKeys,Set<String>> getProfilesForAnonymousAndAnyConnectedUser()
Description copied from interface:ACLAmetysObject
Gets the allowed profiles any connected user has on the given object- Specified by:
getProfilesForAnonymousAndAnyConnectedUser
in interfaceACLAmetysObject
- Returns:
- a map containing allowed/denied profiles that anonymous and any connected user has on the given object
-
getProfilesForGroups
public Map<GroupIdentity,Map<ProfileAssignmentStorage.UserOrGroup,Set<String>>> getProfilesForGroups(Set<GroupIdentity> groups)
Description copied from interface:ACLAmetysObject
Gets the groups that have allowed profiles assigned on the given object- Specified by:
getProfilesForGroups
in interfaceACLAmetysObject
- Parameters:
groups
- The group to get profiles for. Can be null to get profiles for all groups that have rights- Returns:
- The map of allowed/denied groups with their assigned profiles
-
getProfilesForUsers
public Map<UserIdentity,Map<ProfileAssignmentStorage.UserOrGroup,Set<String>>> getProfilesForUsers(UserIdentity user)
Description copied from interface:ACLAmetysObject
Gets the users that have allowed profiles assigned on the given object- Specified by:
getProfilesForUsers
in interfaceACLAmetysObject
- Parameters:
user
- The user to get profiles for. Can be null to get profiles for all users that have rights- Returns:
- The map of allowed users with their assigned allowed/denied profiles
-
isInheritanceDisallowed
public boolean isInheritanceDisallowed()
Description copied from interface:ACLAmetysObject
Returns true if the inheritance is disallow for this ametys object- Specified by:
isInheritanceDisallowed
in interfaceACLAmetysObject
- Returns:
- true if the inheritance is disallow for this ametys object
-
getTemplateParametersHolder
public ModelAwareDataHolder getTemplateParametersHolder() throws AmetysRepositoryException
Description copied from interface:Page
Get the view parameters- Specified by:
getTemplateParametersHolder
in interfacePage
- Returns:
- the view parameters
- Throws:
AmetysRepositoryException
- if an error occurs.
-
-