Class DefaultTraversableAmetysObject<F extends DefaultTraversableAmetysObjectFactory>
java.lang.Object
org.ametys.plugins.repository.AbstractAmetysObject
org.ametys.plugins.repository.jcr.SimpleAmetysObject<F>
org.ametys.plugins.repository.jcr.DefaultTraversableAmetysObject<F>
- Type Parameters:
F- the actual type of factory.
- All Implemented Interfaces:
ACLAmetysObject,AmetysObject,JCRAmetysObject,JCRTraversableAmetysObject,MetadataAwareAmetysObject,ModifiableMetadataAwareAmetysObject,ModifiableACLAmetysObject,ModifiableAmetysObject,ModifiableTraversableAmetysObject,RemovableAmetysObject,TraversableAmetysObject
- Direct Known Subclasses:
AbstractSitemapElement,AbstractSurveyElement,CartContainer,DefaultLink,DefaultZone,Form,FormDirectory,FormPage,FormQuestion,JCRCalendar,JCRCalendarEvent,JCRCategory,JCRResourcesCollection,JCRTag,JCRTasksList,JCRThread,Project,QueryContainer,RootAmetysObject,Site,Thesaurus,VersionComponentAmetysObject,VersionsAmetysObject
public class DefaultTraversableAmetysObject<F extends DefaultTraversableAmetysObjectFactory>
extends SimpleAmetysObject<F>
implements JCRTraversableAmetysObject, ModifiableACLAmetysObject
Default implementation of a
This implementation heavily relies on its
TraversableAmetysObject, backed by a JCR node.This implementation heavily relies on its
DefaultTraversableAmetysObjectFactory counterpart.-
Constructor Summary
ConstructorsConstructorDescriptionDefaultTraversableAmetysObject(javax.jcr.Node node, String parentPath, F factory) Creates a DefaultTraversableAmetysObject. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAllowedGroups(Set<GroupIdentity> groups, String profileId) Associates some groups with an allowed profile on this ametys objectvoidaddAllowedProfilesForAnonymous(Set<String> profileIds) Adds allowed profiles an anonymous user has on this ametys objectvoidaddAllowedProfilesForAnyConnectedUser(Set<String> profileIds) Adds allowed profiles any connected user has on this ametys objectvoidaddAllowedUsers(Set<UserIdentity> users, String profileId) Associates some users with an allowed profile on this ametys objectvoidaddDeniedGroups(Set<GroupIdentity> groups, String profileId) Associates some groups with an allowed profile on this ametys objectvoidaddDeniedProfilesForAnonymous(Set<String> profileIds) Adds denied profiles an anonymous user has on this ametys objectvoidaddDeniedProfilesForAnyConnectedUser(Set<String> profileIds) Adds denied profiles any connected user has on this ametys objectvoidaddDeniedUsers(Set<UserIdentity> users, String profileId) Associates some users with a denied profile on this ametys object<A extends AmetysObject>
AcreateChild(String name, String type) Creates a child below current object.voiddisallowInheritance(boolean disallow) Allow or disallow inheritance of permissions<A extends AmetysObject>
ARetrieves a given child from its relative path.<A extends AmetysObject>
AmetysObjectIterable<A>Retrieves children of the current object.Gets the allowed profiles any connected user has on the given objectgetProfilesForGroups(Set<GroupIdentity> groups) Gets the groups that have allowed profiles assigned on the given objectGets the users that have allowed profiles assigned on the given objectbooleanTests if this Object has at least one child with the given name.booleanReturns true if the inheritance is disallow for this ametys objectvoidremoveAllowedGroups(Set<GroupIdentity> groups) Removes the association between some groups and all allowed profiles on this ametys objectvoidremoveAllowedGroups(Set<GroupIdentity> groups, String profileId) Removes the association between some groups and an allowed profile on this ametys objectvoidremoveAllowedProfilesForAnonymous(Set<String> profileIds) Removes allowed profiles an anonymous user has on this ametys objectvoidremoveAllowedProfilesForAnyConnectedUser(Set<String> profileIds) Removes allowed profiles any connected user has on this ametys objectvoidremoveAllowedUsers(Set<UserIdentity> users) Removes the association between some users and all allowed profiles on this ametys objectvoidremoveAllowedUsers(Set<UserIdentity> users, String profileId) Removes the association between some users and an allowed profile on this ametys objectvoidremoveDeniedGroups(Set<GroupIdentity> groups) Removes the association between some groups and all allowed profiles on this ametys objectvoidremoveDeniedGroups(Set<GroupIdentity> groups, String profileId) Removes the association between some groups and an allowed profile on this ametys objectvoidremoveDeniedProfilesForAnonymous(Set<String> profileIds) Removes denied profiles an anonymous user has on this ametys objectvoidremoveDeniedProfilesForAnyConnectedUser(Set<String> profileIds) Removes denied profiles any connected user has on this ametys objectvoidremoveDeniedUsers(Set<UserIdentity> users) Removes the association between some users and all denied profiles on this ametys objectvoidremoveDeniedUsers(Set<UserIdentity> users, String profileId) Removes the association between some users and an denied profile on this ametys objectMethods inherited from class org.ametys.plugins.repository.jcr.SimpleAmetysObject
_getFactory, _invalidateName, _invalidateParentPath, getId, getMetadataHolder, getName, getNode, getParent, getParentPath, getPath, needsSave, remove, rename, revertChanges, saveChangesMethods inherited from class org.ametys.plugins.repository.AbstractAmetysObject
equals, hashCode, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.ametys.plugins.repository.AmetysObject
equals, getId, getName, getParent, getParentPath, getPath, hashCodeMethods inherited from interface org.ametys.plugins.repository.jcr.JCRAmetysObject
getNodeMethods inherited from interface org.ametys.plugins.repository.ModifiableAmetysObject
needsSave, rename, revertChanges, saveChangesMethods inherited from interface org.ametys.plugins.repository.metadata.ModifiableMetadataAwareAmetysObject
getMetadataHolderMethods inherited from interface org.ametys.plugins.repository.RemovableAmetysObject
removeMethods inherited from interface org.ametys.plugins.repository.TraversableAmetysObject
getChildAt, getChildPosition
-
Constructor Details
-
DefaultTraversableAmetysObject
Creates a DefaultTraversableAmetysObject.- Parameters:
node- the node backing thisAmetysObject.parentPath- the parent path in the Ametys hierarchy.factory- theDefaultTraversableAmetysObjectFactorywhich creates the AmetysObject.
-
-
Method Details
-
hasChild
Description copied from interface:TraversableAmetysObjectTests if this Object has at least one child with the given name.- Specified by:
hasChildin interfaceTraversableAmetysObject- Parameters:
name- the name to test. Cannot benullnor empty nor begin with a'/'and it cannot contain'/'.- Returns:
trueif the named child exists,falseotherwise.- Throws:
AmetysRepositoryException- if an error occurs.
-
createChild
public <A extends AmetysObject> A createChild(String name, String type) throws AmetysRepositoryException, RepositoryIntegrityViolationException Description copied from interface:ModifiableTraversableAmetysObjectCreates a child below current object.- Specified by:
createChildin interfaceModifiableTraversableAmetysObject- Type Parameters:
A- the actual type ofAmetysObject.- Parameters:
name- the name of the child, position ([n]) are not supported for same name sibling, the child will be added at the end of the children list.type- the type of the object.- Returns:
- the new object created.
- Throws:
AmetysRepositoryException- if an error occurs.RepositoryIntegrityViolationException- if an object with the same name already exists and same name siblings is not allowed.
-
getChild
public <A extends AmetysObject> A getChild(String path) throws AmetysRepositoryException, UnknownAmetysObjectException Description copied from interface:TraversableAmetysObjectRetrieves a given child from its relative path. The path cannot benull, empty nor begin with a'/'.- Specified by:
getChildin 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 <A extends AmetysObject> AmetysObjectIterable<A> getChildren() throws AmetysRepositoryExceptionDescription copied from interface:TraversableAmetysObjectRetrieves children of the current object.- Specified by:
getChildrenin interfaceTraversableAmetysObject- Type Parameters:
A- the actual type ofAmetysObjects.- Returns:
- the children or an empty
AmetysObjectIterable. - Throws:
AmetysRepositoryException- if an error occurs.
-
getProfilesForAnonymousAndAnyConnectedUser
public Map<ProfileAssignmentStorage.AnonymousOrAnyConnectedKeys,Set<String>> getProfilesForAnonymousAndAnyConnectedUser()Description copied from interface:ACLAmetysObjectGets the allowed profiles any connected user has on the given object- Specified by:
getProfilesForAnonymousAndAnyConnectedUserin 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, getProfilesForGroupsSet<String>>> (Set<GroupIdentity> groups) Description copied from interface:ACLAmetysObjectGets the groups that have allowed profiles assigned on the given object- Specified by:
getProfilesForGroupsin 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, getProfilesForUsersSet<String>>> (UserIdentity user) Description copied from interface:ACLAmetysObjectGets the users that have allowed profiles assigned on the given object- Specified by:
getProfilesForUsersin 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
-
addAllowedProfilesForAnyConnectedUser
Description copied from interface:ModifiableACLAmetysObjectAdds allowed profiles any connected user has on this ametys object- Specified by:
addAllowedProfilesForAnyConnectedUserin interfaceModifiableACLAmetysObject- Parameters:
profileIds- The profiles to add
-
removeAllowedProfilesForAnyConnectedUser
Description copied from interface:ModifiableACLAmetysObjectRemoves allowed profiles any connected user has on this ametys object- Specified by:
removeAllowedProfilesForAnyConnectedUserin interfaceModifiableACLAmetysObject- Parameters:
profileIds- The profiles to remove
-
addDeniedProfilesForAnyConnectedUser
Description copied from interface:ModifiableACLAmetysObjectAdds denied profiles any connected user has on this ametys object- Specified by:
addDeniedProfilesForAnyConnectedUserin interfaceModifiableACLAmetysObject- Parameters:
profileIds- The profiles to add
-
removeDeniedProfilesForAnyConnectedUser
Description copied from interface:ModifiableACLAmetysObjectRemoves denied profiles any connected user has on this ametys object- Specified by:
removeDeniedProfilesForAnyConnectedUserin interfaceModifiableACLAmetysObject- Parameters:
profileIds- The profiles to remove
-
addAllowedProfilesForAnonymous
Description copied from interface:ModifiableACLAmetysObjectAdds allowed profiles an anonymous user has on this ametys object- Specified by:
addAllowedProfilesForAnonymousin interfaceModifiableACLAmetysObject- Parameters:
profileIds- The profiles to add
-
removeAllowedProfilesForAnonymous
Description copied from interface:ModifiableACLAmetysObjectRemoves allowed profiles an anonymous user has on this ametys object- Specified by:
removeAllowedProfilesForAnonymousin interfaceModifiableACLAmetysObject- Parameters:
profileIds- The profiles to remove
-
addDeniedProfilesForAnonymous
Description copied from interface:ModifiableACLAmetysObjectAdds denied profiles an anonymous user has on this ametys object- Specified by:
addDeniedProfilesForAnonymousin interfaceModifiableACLAmetysObject- Parameters:
profileIds- The profiles to add
-
removeDeniedProfilesForAnonymous
Description copied from interface:ModifiableACLAmetysObjectRemoves denied profiles an anonymous user has on this ametys object- Specified by:
removeDeniedProfilesForAnonymousin interfaceModifiableACLAmetysObject- Parameters:
profileIds- The profiles to remove
-
addAllowedUsers
Description copied from interface:ModifiableACLAmetysObjectAssociates some users with an allowed profile on this ametys object- Specified by:
addAllowedUsersin interfaceModifiableACLAmetysObject- Parameters:
users- The users to addprofileId- The id of the profile
-
removeAllowedUsers
Description copied from interface:ModifiableACLAmetysObjectRemoves the association between some users and an allowed profile on this ametys object- Specified by:
removeAllowedUsersin interfaceModifiableACLAmetysObject- Parameters:
users- The users to removeprofileId- The id of the profile
-
removeAllowedUsers
Description copied from interface:ModifiableACLAmetysObjectRemoves the association between some users and all allowed profiles on this ametys object- Specified by:
removeAllowedUsersin interfaceModifiableACLAmetysObject- Parameters:
users- The users to remove
-
addAllowedGroups
Description copied from interface:ModifiableACLAmetysObjectAssociates some groups with an allowed profile on this ametys object- Specified by:
addAllowedGroupsin interfaceModifiableACLAmetysObject- Parameters:
groups- The groups to addprofileId- The id of the profile
-
removeAllowedGroups
Description copied from interface:ModifiableACLAmetysObjectRemoves the association between some groups and an allowed profile on this ametys object- Specified by:
removeAllowedGroupsin interfaceModifiableACLAmetysObject- Parameters:
groups- The groups to removeprofileId- The id of the profile
-
removeAllowedGroups
Description copied from interface:ModifiableACLAmetysObjectRemoves the association between some groups and all allowed profiles on this ametys object- Specified by:
removeAllowedGroupsin interfaceModifiableACLAmetysObject- Parameters:
groups- The groups to remove
-
addDeniedUsers
Description copied from interface:ModifiableACLAmetysObjectAssociates some users with a denied profile on this ametys object- Specified by:
addDeniedUsersin interfaceModifiableACLAmetysObject- Parameters:
users- The users to addprofileId- The id of the profile
-
removeDeniedUsers
Description copied from interface:ModifiableACLAmetysObjectRemoves the association between some users and an denied profile on this ametys object- Specified by:
removeDeniedUsersin interfaceModifiableACLAmetysObject- Parameters:
users- The users to removeprofileId- The id of the profile
-
removeDeniedUsers
Description copied from interface:ModifiableACLAmetysObjectRemoves the association between some users and all denied profiles on this ametys object- Specified by:
removeDeniedUsersin interfaceModifiableACLAmetysObject- Parameters:
users- The users to remove
-
addDeniedGroups
Description copied from interface:ModifiableACLAmetysObjectAssociates some groups with an allowed profile on this ametys object- Specified by:
addDeniedGroupsin interfaceModifiableACLAmetysObject- Parameters:
groups- The groups to addprofileId- The id of the profile
-
removeDeniedGroups
Description copied from interface:ModifiableACLAmetysObjectRemoves the association between some groups and an allowed profile on this ametys object- Specified by:
removeDeniedGroupsin interfaceModifiableACLAmetysObject- Parameters:
groups- The groups to removeprofileId- The id of the profile
-
removeDeniedGroups
Description copied from interface:ModifiableACLAmetysObjectRemoves the association between some groups and all allowed profiles on this ametys object- Specified by:
removeDeniedGroupsin interfaceModifiableACLAmetysObject- Parameters:
groups- The groups to remove
-
isInheritanceDisallowed
Description copied from interface:ACLAmetysObjectReturns true if the inheritance is disallow for this ametys object- Specified by:
isInheritanceDisallowedin interfaceACLAmetysObject- Returns:
- true if the inheritance is disallow for this ametys object
-
disallowInheritance
Description copied from interface:ModifiableACLAmetysObjectAllow or disallow inheritance of permissions- Specified by:
disallowInheritancein interfaceModifiableACLAmetysObject- Parameters:
disallow- true to disallow inheritance
-