com.starteam
Class EffectiveACE

java.lang.Object
  extended by com.starteam.ACE
      extended by com.starteam.EffectiveACE

public final class EffectiveACE
extends ACE

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:
ACE, AccessRightsManager.getEffectiveRights(ISecurable), AccessRightsManager.accessTest(Principal, PermissionCollection, EffectiveACE[])

Nested Class Summary
 
Nested classes/interfaces inherited from class com.starteam.ACE
ACE.WebCacheACE
 
Method Summary
 boolean equals(java.lang.Object another)
          Returns true if the specified Object identifies the same exact EffectiveACE.
 ISecurableContainer getContainer()
          Gets the parent container whose ACL defined this EffectiveACE.
 java.lang.String getDescription()
          Gets a description of this EffectiveACE, explaining its origin in human-readable form.
 Group getGroup()
          Gets the Group to which this EffectiveACE applies.
 java.lang.String getName()
          Gets the name of the user or group to which this EffectiveACE applies.
 ISecurable getObject()
          Gets the securable object to which this EffectiveACE applies.
 Type getObjectType()
          Gets the type of securable object to which this EffectiveACE applies.
 User getUser()
          Gets the User to which this EffectiveACE applies.
 int hashCode()
          Returns a hash code for this EffectiveACE.
 boolean isExplicitACE()
          Determines whether or not this is an EffectiveACE 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 EffectiveACE 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 EffectiveACE that is implied by group privileges.
 boolean isFromMissingACE()
          Determines whether or not this is an EffectiveACE 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 EffectiveACE 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 EffectiveACE that is explicitly defined in the object's Access Control List (ACL).
 boolean isFromObjectOwnership()
          Determines whether or not this is an EffectiveACE that is implied by object ownership rules.
 boolean isImpliedACE()
          Determines whether or not this is an implied EffectiveACE that is not explicitly represented in an ACL defined on the object or on one if its parent containers.
 
Methods inherited from class com.starteam.ACE
addPermission, getPermissions, getPrincipal, hasPermission, isGranted, isGroup, 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 EffectiveACE that is implied by group privileges.

Returns:
true if this is an EffectiveACE 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 EffectiveACE that is implied by object ownership rules.

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

isFromObjectACL

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

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

isFromContainerACL

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

Returns:
true if this is an EffectiveACE 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.getRights(com.starteam.Type)

isFromMissingACE

public boolean isFromMissingACE()
Determines whether or not this is an EffectiveACE 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 EffectiveACE 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 EffectiveACE 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 EffectiveACE 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 EffectiveACE applies.

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

getUser

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

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

getName

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

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

getObject

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

Returns:
The securable object to which this EffectiveACE applies, or null if this EffectiveACE 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 EffectiveACE.

Returns:
The parent container whose ACL defined this EffectiveACE, or null if this is not an EffectiveACE 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 EffectiveACE applies.

Returns:
The type of securable object to which this EffectiveACE applies, or null if this EffectiveACE 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 EffectiveACE that is explicitly represented in an Access Control List (ACL) on the object or one of its parent containers.

Returns:
true if this EffectiveACE 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 EffectiveACE 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 EffectiveACE 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 EffectiveACE, explaining its origin in human-readable form.

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

hashCode

public int hashCode()
Returns a hash code for this EffectiveACE.

Overrides:
hashCode in class ACE
Returns:
a hash code for this EffectiveACE.

equals

public boolean equals(java.lang.Object another)
Returns true if the specified Object identifies the same exact EffectiveACE.

Overrides:
equals in class ACE
Parameters:
another - the object to be compared to for equality
Returns:
true if the specified object identifies the same EffectiveACE as this one.


StarTeam SDK 14.0, Build 21
Copyright © 2003-2012 Borland Software Corporation. All rights reserved.