public class UnmodifiableAccessControlList extends Object implements JackrabbitAccessControlList
AccessControlList
interface that only
allows for reading. The write methods
(addAccessControlEntry
and removeAccessControlEntry
)
throw an AccessControlException
.Constructor and Description |
---|
UnmodifiableAccessControlList(AccessControlList acl)
Construct a new
UnmodifiableAccessControlList |
UnmodifiableAccessControlList(List<? extends AccessControlEntry> accessControlEntries)
Construct a new
UnmodifiableAccessControlList |
UnmodifiableAccessControlList(List<? extends AccessControlEntry> accessControlEntries,
String path,
Map<String,Integer> restrictions)
Construct a new
UnmodifiableAccessControlList |
Modifier and Type | Method and Description |
---|---|
boolean |
addAccessControlEntry(Principal principal,
Privilege[] privileges) |
boolean |
addEntry(Principal principal,
Privilege[] privileges,
boolean isAllow)
Same as
JackrabbitAccessControlList.addEntry(Principal, Privilege[], boolean, Map) using
some implementation specific restrictions. |
boolean |
addEntry(Principal principal,
Privilege[] privileges,
boolean isAllow,
Map<String,Value> restrictions)
Adds an access control entry to this policy consisting of the specified
principal , the specified privileges , the
isAllow flag and an optional map containing additional
restrictions. |
boolean |
addEntry(Principal principal,
Privilege[] privileges,
boolean isAllow,
Map<String,Value> restrictions,
Map<String,Value[]> mvRestrictions)
Adds an access control entry to this policy consisting of the specified
principal , the specified privileges , the
isAllow flag and an optional map containing additional
restrictions. |
boolean |
equals(Object obj) |
AccessControlEntry[] |
getAccessControlEntries() |
String |
getPath()
Returns the path of the node this policy has been created for.
|
String[] |
getRestrictionNames()
Returns the names of the supported restrictions or an empty array
if no restrictions are respected.
|
int |
getRestrictionType(String restrictionName)
Return the expected
property type of the
restriction with the specified restrictionName . |
int |
hashCode() |
boolean |
isEmpty()
Returns
true if this policy does not yet define any
entries. |
void |
orderBefore(AccessControlEntry srcEntry,
AccessControlEntry destEntry)
If the
AccessControlList implementation supports
reordering of entries the specified srcEntry is inserted
at the position of the specified destEntry . |
void |
removeAccessControlEntry(AccessControlEntry ace) |
int |
size()
Returns the number of entries or 0 if the policy
is empty . |
public UnmodifiableAccessControlList(AccessControlList acl) throws RepositoryException
UnmodifiableAccessControlList
acl
- The AccessControlList to be wrapped in order to prevent
it's modification.RepositoryException
- The the entries cannot be retrieved from the
specified AccessControlList
.public UnmodifiableAccessControlList(List<? extends AccessControlEntry> accessControlEntries)
UnmodifiableAccessControlList
accessControlEntries
- A list of access control entries
.public AccessControlEntry[] getAccessControlEntries() throws RepositoryException
getAccessControlEntries
in interface AccessControlList
RepositoryException
AccessControlList.getAccessControlEntries()
public boolean addAccessControlEntry(Principal principal, Privilege[] privileges) throws AccessControlException, RepositoryException
addAccessControlEntry
in interface AccessControlList
AccessControlException
RepositoryException
AccessControlList.addAccessControlEntry(Principal, Privilege[])
public void removeAccessControlEntry(AccessControlEntry ace) throws AccessControlException, RepositoryException
removeAccessControlEntry
in interface AccessControlList
AccessControlException
RepositoryException
AccessControlList.removeAccessControlEntry(AccessControlEntry)
public String[] getRestrictionNames()
JackrabbitAccessControlList
getRestrictionNames
in interface JackrabbitAccessControlList
JackrabbitAccessControlList.getRestrictionNames()
public int getRestrictionType(String restrictionName)
JackrabbitAccessControlList
property type
of the
restriction with the specified restrictionName
.getRestrictionType
in interface JackrabbitAccessControlList
restrictionName
- Any of the restriction names retrieved from
JackrabbitAccessControlList.getRestrictionNames()
.property type
.JackrabbitAccessControlList.getRestrictionType(String)
public boolean isEmpty()
JackrabbitAccessControlList
true
if this policy does not yet define any
entries.isEmpty
in interface JackrabbitAccessControlList
JackrabbitAccessControlList.isEmpty()
public int size()
JackrabbitAccessControlList
is empty
.size
in interface JackrabbitAccessControlList
is empty
.JackrabbitAccessControlList.size()
public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow) throws AccessControlException
JackrabbitAccessControlList
JackrabbitAccessControlList.addEntry(Principal, Privilege[], boolean, Map)
using
some implementation specific restrictions.addEntry
in interface JackrabbitAccessControlList
principal
- the principal to add the entry forprivileges
- the privileges to addisAllow
- if true
if this is a positive (allow) entryAccessControlException
- If any of the given parameter is invalid
or cannot be handled by the implementation.JackrabbitAccessControlList.addEntry(Principal, Privilege[], boolean)
public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow, Map<String,Value> restrictions) throws AccessControlException
JackrabbitAccessControlList
principal
, the specified privileges
, the
isAllow
flag and an optional map containing additional
restrictions.
This method returns true
if this policy was modified,
false
otherwise.
An AccessControlException
is thrown if any of the specified
parameters is invalid or if some other access control related exception occurs.
addEntry
in interface JackrabbitAccessControlList
principal
- the principal to add the entry forprivileges
- the privileges to addisAllow
- if true
if this is a positive (allow) entryrestrictions
- A map of additional restrictions used to narrow the
effect of the entry to be created. The map must map JCR names to a single
Value
object.AccessControlException
- If any of the given parameter is invalid
or cannot be handled by the implementation.JackrabbitAccessControlList.addEntry(Principal, Privilege[], boolean, Map)
public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow, Map<String,Value> restrictions, Map<String,Value[]> mvRestrictions) throws AccessControlException, RepositoryException
JackrabbitAccessControlList
principal
, the specified privileges
, the
isAllow
flag and an optional map containing additional
restrictions.
This method returns true
if this policy was modified,
false
otherwise.
An AccessControlException
is thrown if any of the specified
parameters is invalid or if some other access control related exception occurs.
addEntry
in interface JackrabbitAccessControlList
principal
- the principal to add the entry forprivileges
- the privileges to addisAllow
- if true
if this is a positive (allow) entryrestrictions
- A map of additional restrictions used to narrow the
effect of the entry to be created. The map must map JCR names to a single
Value
object.AccessControlException
- If any of the given parameter is invalid
or cannot be handled by the implementation.RepositoryException
- If another error occurs.AccessControlList.addAccessControlEntry(Principal, Privilege[])
public void orderBefore(AccessControlEntry srcEntry, AccessControlEntry destEntry) throws AccessControlException
JackrabbitAccessControlList
AccessControlList
implementation supports
reordering of entries the specified srcEntry
is inserted
at the position of the specified destEntry
.
If destEntry
is null
the entry is moved to the
end of the list.
If srcEntry
and destEntry
are the same no
changes are made.
orderBefore
in interface JackrabbitAccessControlList
srcEntry
- The access control entry to be moved within the list.destEntry
- The entry before which the srcEntry
will be moved.AccessControlException
- If any of the given entries is invalid or
cannot be handled by the implementation.JackrabbitAccessControlList.orderBefore(AccessControlEntry, AccessControlEntry)
public String getPath()
JackrabbitAccessControlPolicy
getPath
in interface JackrabbitAccessControlPolicy
JackrabbitAccessControlPolicy.getPath()
public int hashCode()
hashCode
in class Object
Object.hashCode()
public boolean equals(Object obj)
equals
in class Object
Object.equals(Object)
Copyright © 2004–2021 The Apache Software Foundation. All rights reserved.