com.starbase.starteam
Class EffectiveACE

java.lang.Object
  |
  +--com.starbase.starteam.AclEntry
        |
        +--com.starbase.starteam.EffectiveACE

public class EffectiveACE
extends AclEntry

An Access Control Entry (ACE) in an Effective Access Control List (ACL).

An EffectiveACE may be an ACE that is explicitly listed in the ACL for an object or for its parent container, or may be implied by group permissions that have been defined, or by object ownership rules, or by the StarTeam access test algorithm itself.

Each EffectiveACE provides information about its origin, including a description in human-readable form.

EffectiveACEs are important with respect to explaining the results of an access test.

See Also:
AclEntry, AccessRightsManager.getEffectiveACL(ISecurable), AccessRightsManager.accessTest(int, int, EffectiveACE[])

Method Summary
 boolean equals(java.lang.Object source)
          returns true if this object instance is equal to the source
 ISecurableContainer getContainer()
          Gets the parent container whose ACL defined this ACE.
 java.lang.String getDescription()
          Gets a description of this ACE, explaining its origin in human-readable form.
 Group getGroup()
          Gets the Group to which this ACE applies.
 ISecurable getObject()
          Gets the securable object to which this ACE applies.
 Type getObjectType()
          Gets the type of securable object to which this ACE applies.
 User getUser()
          Gets the User to which this ACE applies.
 java.lang.String getUserOrGroupName()
          Gets the name of the user or group to which this ACE applies.
 int hashCode()
          returns a unique hash for all instances of this type
 boolean isExplicitACE()
          Determines whether or not this is an ACE that is explicitly represented in an Access Control List (ACL) on the object or one of its parent containers.
 boolean isFromContainerACL()
          Determines whether or not this is an ACE that is explicitly defined in the Access Control List (ACL) of one of the object's parent containers.
 boolean isFromGroupPrivileges()
          Determines whether or not this is an ACE that is implied by group privileges.
 boolean isFromMissingACE()
          Determines whether or not this is an ACE that is implicit in the StarTeam access control algorithm: if a given permission is not explicitly specified in an Access Control List (ACL), then access is denied by default.
 boolean isFromMissingACL()
          Determines whether or not this is an ACE that is implicit in the StarTeam access control algorithm: if there is no Access Control List (ACL) defined on an object or on any of its parent containers, then access is granted by default.
 boolean isFromObjectACL()
          Determines whether or not this is an ACE that is explicitly defined in the object's Access Control List (ACL).
 boolean isFromObjectOwnership()
          Determines whether or not this is an ACE that is implied by object ownership rules.
 boolean isImpliedACE()
          Determines whether or not this is an implied ACE that is not explicitly represented in an ACL defined on the object or on one if its parent containers.
 
Methods inherited from class com.starbase.starteam.AclEntry
addPermission, getID, getPermissionFlags, hasPermission, isGranted, isGroupID, removePermission, setGranted
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

isFromGroupPrivileges

public boolean isFromGroupPrivileges()
Determines whether or not this is an ACE that is implied by group privileges.

Returns:
true if this is an ACE that is implied by group privileges, and false otherwise.
See Also:
EffectiveACE.getGroup(), EffectiveACE.isImpliedACE(), SystemPolicy.getSkipGroupPrivilegesCheck()

isFromObjectOwnership

public boolean isFromObjectOwnership()
Determines whether or not this is an ACE that is implied by object ownership rules.

Returns:
true if this is an ACE that is implied by object ownership rules, and false otherwise.
See Also:
EffectiveACE.getObject(), EffectiveACE.isImpliedACE(), SystemPolicy.getSkipOwnershipCheck()

isFromObjectACL

public boolean isFromObjectACL()
Determines whether or not this is an ACE that is explicitly defined in the object's Access Control List (ACL).

Returns:
true if this is an ACE that is explicitly defined in the object's Access Control List (ACL), and false otherwise.
See Also:
EffectiveACE.getObject(), EffectiveACE.isExplicitACE(), ISecurable.getACL()

isFromContainerACL

public boolean isFromContainerACL()
Determines whether or not this is an ACE that is explicitly defined in the Access Control List (ACL) of one of the object's parent containers.

Returns:
true if this is an ACE that is explicitly defined in the Access Control List (ACL) of one of the object's parent containers, and false otherwise.
See Also:
EffectiveACE.getContainer(), EffectiveACE.getObjectType(), EffectiveACE.isExplicitACE(), ISecurable.getParentContainer(), ISecurableContainer.getContainerLevelACL(java.lang.String)

isFromMissingACE

public boolean isFromMissingACE()
Determines whether or not this is an ACE that is implicit in the StarTeam access control algorithm: if a given permission is not explicitly specified in an Access Control List (ACL), then access is denied by default.

Returns:
true if this ACE is implicit in the StarTeam access control algorithm, which dictates that if a given permission is not explicitly specified in an ACL, then access is denied by default.
See Also:
EffectiveACE.isImpliedACE()

isFromMissingACL

public boolean isFromMissingACL()
Determines whether or not this is an ACE that is implicit in the StarTeam access control algorithm: if there is no Access Control List (ACL) defined on an object or on any of its parent containers, then access is granted by default.

Returns:
true if this ACE is implicit in the StarTeam access control algorithm, which dictates that if there is no ACL defined on an object or on any parent container, then access is granted by default.
See Also:
EffectiveACE.isImpliedACE()

getGroup

public Group getGroup()
Gets the Group to which this ACE applies.

Returns:
The Group to which this ACE applies, or null if this ACE applies to a specific user instead of a group.
See Also:
AclEntry.isGroupID(), EffectiveACE.getUser()

getUser

public User getUser()
Gets the User to which this ACE applies.

Returns:
The User to which this ACE applies, or null if this ACE applies to a group instead of a specific user.
See Also:
EffectiveACE.getGroup(), AclEntry.isGroupID()

getUserOrGroupName

public java.lang.String getUserOrGroupName()
Gets the name of the user or group to which this ACE applies.

Returns:
The name of the user or group to which this ACE applies.

getObject

public ISecurable getObject()
Gets the securable object to which this ACE applies.

Returns:
The securable object to which this ACE applies, or null if this ACE does not apply to a specific securable object.
See Also:
EffectiveACE.isFromObjectACL(), EffectiveACE.isFromObjectOwnership(), EffectiveACE.getObjectType()

getContainer

public ISecurableContainer getContainer()
Gets the parent container whose ACL defined this ACE.

Returns:
The parent container whose ACL defined this ACE, or null if this is not an ACE that was defined in one of the object's parent containers.
See Also:
EffectiveACE.isFromContainerACL(), EffectiveACE.getObjectType(), ISecurableContainer

getObjectType

public Type getObjectType()
Gets the type of securable object to which this ACE applies.

Returns:
The type of securable object to which this ACE applies, or null if this ACE was not defined in a container-level ACL, and does not apply to a specific securable object.
See Also:
EffectiveACE.isFromContainerACL(), EffectiveACE.isFromObjectACL(), EffectiveACE.isFromObjectOwnership()

isExplicitACE

public boolean isExplicitACE()
Determines whether or not this is an ACE that is explicitly represented in an Access Control List (ACL) on the object or one of its parent containers.

Returns:
true if this ACE is explicitly represented in an ACL on the object or one of its parent containers.
See Also:
EffectiveACE.isFromObjectACL(), EffectiveACE.isFromContainerACL()

isImpliedACE

public boolean isImpliedACE()
Determines whether or not this is an implied ACE that is not explicitly represented in an ACL defined on the object or on one if its parent containers.

Returns:
true if this is an implied ACE that is not explicitly represented in an object or container-level ACL.
See Also:
EffectiveACE.isFromGroupPrivileges(), EffectiveACE.isFromObjectOwnership(), EffectiveACE.isFromMissingACE(), EffectiveACE.isFromMissingACL()

getDescription

public java.lang.String getDescription()
Gets a description of this ACE, explaining its origin in human-readable form.

Returns:
A description of this ACE, explaining its origin in human-readable form.

equals

public boolean equals(java.lang.Object source)
returns true if this object instance is equal to the source

Overrides:
equals in class AclEntry
Parameters:
source - Object the source to comapre with
Returns:
boolean true if this object is equal to the source

hashCode

public int hashCode()
returns a unique hash for all instances of this type

Overrides:
hashCode in class AclEntry
Returns:
int a unique hash for all instances of this type


StarTeam SDK 10.4, Build 36
Copyright © 2003-2008 Borland Software Corporation. All rights reserved.