Class PentahoAbstractBasicAclEntry
- java.lang.Object
-
- org.pentaho.platform.engine.security.acls.PentahoAbstractBasicAclEntry
-
- All Implemented Interfaces:
Serializable
,org.pentaho.platform.api.engine.IAclEntry
,org.pentaho.platform.api.engine.IPentahoBasicAclEntry
- Direct Known Subclasses:
PentahoAclEntry
public abstract class PentahoAbstractBasicAclEntry extends Object implements org.pentaho.platform.api.engine.IPentahoBasicAclEntry
This is a port from spring-security 2.0.8.RELEASE- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PentahoAbstractBasicAclEntry()
A protected constructor for use by Hibernate.PentahoAbstractBasicAclEntry(Object recipient, org.pentaho.platform.api.engine.IPentahoAclObjectIdentity aclObjectIdentity, org.pentaho.platform.api.engine.IPentahoAclObjectIdentity aclObjectParentIdentity, int mask)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
addPermission(int permissionToAdd)
int
addPermissions(int[] permissionsToAdd)
int
deletePermission(int permissionToDelete)
int
deletePermissions(int[] permissionsToDelete)
org.pentaho.platform.api.engine.IPentahoAclObjectIdentity
getAclObjectIdentity()
org.pentaho.platform.api.engine.IPentahoAclObjectIdentity
getAclObjectParentIdentity()
int
getMask()
Object
getRecipient()
abstract int[]
getValidPermissions()
Subclasses must indicate the permissions they support.boolean
isPermitted(int permissionToCheck)
protected boolean
isPermitted(int maskToCheck, int permissionToCheck)
String
printPermissionsBlock()
Outputs the permissions in human-friendly format for the currentAbstractBasicAclEntry
's mask.abstract String
printPermissionsBlock(int i)
Outputs the permissions in a human-friendly format.void
setAclObjectIdentity(org.pentaho.platform.api.engine.IPentahoAclObjectIdentity aclObjectIdentity)
void
setAclObjectParentIdentity(org.pentaho.platform.api.engine.IPentahoAclObjectIdentity aclObjectParentIdentity)
void
setMask(int mask)
void
setRecipient(Object recipient)
int
togglePermission(int permissionToToggle)
String
toString()
-
-
-
Constructor Detail
-
PentahoAbstractBasicAclEntry
public PentahoAbstractBasicAclEntry(Object recipient, org.pentaho.platform.api.engine.IPentahoAclObjectIdentity aclObjectIdentity, org.pentaho.platform.api.engine.IPentahoAclObjectIdentity aclObjectParentIdentity, int mask)
-
PentahoAbstractBasicAclEntry
protected PentahoAbstractBasicAclEntry()
A protected constructor for use by Hibernate.
-
-
Method Detail
-
addPermission
public int addPermission(int permissionToAdd)
-
addPermissions
public int addPermissions(int[] permissionsToAdd)
-
deletePermission
public int deletePermission(int permissionToDelete)
-
deletePermissions
public int deletePermissions(int[] permissionsToDelete)
-
getAclObjectIdentity
public org.pentaho.platform.api.engine.IPentahoAclObjectIdentity getAclObjectIdentity()
- Specified by:
getAclObjectIdentity
in interfaceorg.pentaho.platform.api.engine.IPentahoBasicAclEntry
-
getAclObjectParentIdentity
public org.pentaho.platform.api.engine.IPentahoAclObjectIdentity getAclObjectParentIdentity()
- Specified by:
getAclObjectParentIdentity
in interfaceorg.pentaho.platform.api.engine.IPentahoBasicAclEntry
-
getMask
public int getMask()
- Specified by:
getMask
in interfaceorg.pentaho.platform.api.engine.IPentahoBasicAclEntry
-
getRecipient
public Object getRecipient()
- Specified by:
getRecipient
in interfaceorg.pentaho.platform.api.engine.IPentahoBasicAclEntry
-
getValidPermissions
public abstract int[] getValidPermissions()
Subclasses must indicate the permissions they support. Each base permission should be an integer with a base 2. ie: the first permission is 2^^0 (1), the second permission is 2^^1 (2), the third permission is 2^^2 (4) etc. Each base permission should be exposed by the subclass as apublic static final int
. It is further recommended that valid combinations of permissions are also exposed aspublic static final int
s.This method returns all permission integers that are allowed to be used together. This must include any combinations of valid permissions. So if the permissions indicated by 2^^2 (4) and 2^^1 (2) can be used together, one of the integers returned by this method must be 6 (4 + 2). Otherwise attempts to set the permission will be rejected, as the final resulting mask will be rejected.
Whilst it may seem unduly time onerous to return every valid permission combination, doing so delivers maximum flexibility in ensuring ACLs only reflect logical combinations. For example, it would be inappropriate to grant a "read" and "write" permission along with an "unrestricted" permission, as the latter implies the former permissions.
- Returns:
- every valid combination of permissions
-
isPermitted
public boolean isPermitted(int permissionToCheck)
- Specified by:
isPermitted
in interfaceorg.pentaho.platform.api.engine.IPentahoBasicAclEntry
-
isPermitted
protected boolean isPermitted(int maskToCheck, int permissionToCheck)
-
printPermissionsBlock
public abstract String printPermissionsBlock(int i)
Outputs the permissions in a human-friendly format. For example, this method may return "CR-D" to indicate the passed integer permits create, permits read, does not permit update, and permits delete.- Parameters:
i
- the integer containing the mask which should be printed- Returns:
- the human-friend formatted block
-
printPermissionsBlock
public String printPermissionsBlock()
Outputs the permissions in human-friendly format for the currentAbstractBasicAclEntry
's mask.- Returns:
- the human-friendly formatted block for this instance
-
setAclObjectIdentity
public void setAclObjectIdentity(org.pentaho.platform.api.engine.IPentahoAclObjectIdentity aclObjectIdentity)
- Specified by:
setAclObjectIdentity
in interfaceorg.pentaho.platform.api.engine.IPentahoBasicAclEntry
-
setAclObjectParentIdentity
public void setAclObjectParentIdentity(org.pentaho.platform.api.engine.IPentahoAclObjectIdentity aclObjectParentIdentity)
- Specified by:
setAclObjectParentIdentity
in interfaceorg.pentaho.platform.api.engine.IPentahoBasicAclEntry
-
setMask
public void setMask(int mask)
- Specified by:
setMask
in interfaceorg.pentaho.platform.api.engine.IPentahoBasicAclEntry
-
setRecipient
public void setRecipient(Object recipient)
- Specified by:
setRecipient
in interfaceorg.pentaho.platform.api.engine.IPentahoBasicAclEntry
-
togglePermission
public int togglePermission(int permissionToToggle)
-
-