com.ibm.tspaces.ac
Class TsAclEntry

java.lang.Object
  |
  +--com.ibm.tspaces.ac.TsAclEntry

public class TsAclEntry
extends java.lang.Object
implements java.io.Serializable, java.security.acl.AclEntry

This is the class used for representing one entry in an Access Control List (ACL). It implements the AclEntry Interface in java.security.acl

An ACL can be thought of as a data structure with multiple ACL entry objects. Each ACL entry object contains a set of permissions associated with a particular principal. (A principal represents an entity such as an individual user or a group). Additionally, each ACL entry is specified as being either positive or negative. If positive, the permissions are to be granted to the associated principal. If negative, the permissions are to be denied. Each principal can have at most one positive ACL entry and one negative entry; that is, multiple positive or negative ACL entries are not allowed for any principal. Note: ACL entries are by default positive. An entry becomes a negative entry only if the setNegativePermissions method is called on it.

Author:
John Thomas
See Also:
Acl, Serialized Form

Constructor Summary
TsAclEntry()
          Constructor
TsAclEntry(java.security.Principal user, java.security.acl.Permission p)
          Constructor with Principal and 1 permission
TsAclEntry(java.security.Principal user, java.security.acl.Permission[] pArray)
          Constructor with Principal and multiple permission
 
Method Summary
 boolean addPermission(java.security.acl.Permission permission)
          Adds the specified permission to this ACL entry.
 boolean checkPermission(java.security.acl.Permission permission)
          Checks if the specified permission is part of the permission set in this entry.
 java.lang.Object clone()
          I have no idea why the AclEntry Interface requires this.
 java.security.Principal getPrincipal()
          Returns the principal for which permissions are granted or denied by this ACL entry.
 boolean isNegative()
          Returns true if this is a negative ACL entry (one denying the associated principal the set of permissions in the entry), false otherwise.
 java.util.Enumeration permissions()
          Returns an enumeration of the permissions in this ACL entry.
 boolean removePermission(java.security.acl.Permission permission)
          Removes the specified permission from this ACL entry.
 void setNegativePermissions()
          Sets this ACL entry to be a negative one.
 boolean setPrincipal(java.security.Principal user)
          Specifies the principal for which permissions are granted or denied by this ACL entry.
 java.lang.String toString()
          Returns a string representation of the contents of this ACL entry.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TsAclEntry

public TsAclEntry()
Constructor

TsAclEntry

public TsAclEntry(java.security.Principal user,
                  java.security.acl.Permission p)
Constructor with Principal and 1 permission

TsAclEntry

public TsAclEntry(java.security.Principal user,
                  java.security.acl.Permission[] pArray)
Constructor with Principal and multiple permission
Method Detail

setPrincipal

public boolean setPrincipal(java.security.Principal user)
Specifies the principal for which permissions are granted or denied by this ACL entry. If a principal was already set for this ACL entry, false is returned, otherwise true is returned.
Specified by:
setPrincipal in interface java.security.acl.AclEntry
Parameters:
user - the principal to be set for this entry.
Returns:
true if the principal is set, false if there was already a principal set for this entry.

getPrincipal

public java.security.Principal getPrincipal()
Returns the principal for which permissions are granted or denied by this ACL entry. Returns null if there is no principal set for this entry yet.
Specified by:
getPrincipal in interface java.security.acl.AclEntry
Returns:
the principal associated with this entry.

setNegativePermissions

public void setNegativePermissions()
Sets this ACL entry to be a negative one. That is, the associated principal (e.g., a user or a group) will be denied the permission set specified in the entry. Note: ACL entries are by default positive. An entry becomes a negative entry only if this setNegativePermissions method is called on it.
Specified by:
setNegativePermissions in interface java.security.acl.AclEntry

isNegative

public boolean isNegative()
Returns true if this is a negative ACL entry (one denying the associated principal the set of permissions in the entry), false otherwise.
Specified by:
isNegative in interface java.security.acl.AclEntry
Returns:
true if this is a negative ACL entry, false if it's not.

addPermission

public boolean addPermission(java.security.acl.Permission permission)
Adds the specified permission to this ACL entry. Note: An entry can have multiple permissions.
Specified by:
addPermission in interface java.security.acl.AclEntry
Parameters:
permission - the permission to be associated with the principal in this entry.
Returns:
true if the permission was added, false if the permission was already part of this entry's permission set.

removePermission

public boolean removePermission(java.security.acl.Permission permission)
Removes the specified permission from this ACL entry.
Specified by:
removePermission in interface java.security.acl.AclEntry
Parameters:
permission - the permission to be removed from this entry.
Returns:
true if the permission is removed, false if the permission was not part of this entry's permission set.

checkPermission

public boolean checkPermission(java.security.acl.Permission permission)
Checks if the specified permission is part of the permission set in this entry.
Specified by:
checkPermission in interface java.security.acl.AclEntry
Parameters:
permission - the permission to be checked for.
Returns:
true if the permission is part of the permission set in this entry, false otherwise.

permissions

public java.util.Enumeration permissions()
Returns an enumeration of the permissions in this ACL entry.
Specified by:
permissions in interface java.security.acl.AclEntry
Returns:
an enumeration of the permissions in this ACL entry.

toString

public java.lang.String toString()
Returns a string representation of the contents of this ACL entry.
Specified by:
toString in interface java.security.acl.AclEntry
Overrides:
toString in class java.lang.Object
Returns:
a string representation of the contents.

clone

public java.lang.Object clone()
I have no idea why the AclEntry Interface requires this.
Specified by:
clone in interface java.security.acl.AclEntry
Overrides:
clone in class java.lang.Object