com.oakgrovesystems.reactor.processMediation
Class ACE

java.lang.Object
  |
  +--com.oakgrovesystems.reactor.processMediation.ACE
All Implemented Interfaces:
java.io.Serializable

public class ACE
extends java.lang.Object
implements java.io.Serializable

The relationships between the Reactor objects and the users of the system are captured using ACLs, which are composed of ACEs (Access Control Elements).

For example, suppose a Reactor system is configured with two roles: 'owner' and 'assignee'. The 'assignee' role is only associated with the permissions to add or remove a current status or stop Process objects. The 'owner' role is associated with all permissions. In his situation, one can edit the ACL of a particular object to specify which users, groups, and titles have 'owner' permissions and which users, groups, and titles have 'assignee' permissions with respect to that particular object. This is done by defining ACEs. An ACE is a mapping from a user, group, or title to a role. The 'type' attribute of an ACE indicates whether the String 'name' attribute is the name of a user, group, or title.

See Also:
Serialized Form

Field Summary
static int GROUP_TYPE
          A value of the type attribute that indicates that the String name attribute represents the name of a group.
protected  java.lang.String name
           
static com.oakgrovesystems.reactor.processMediation.ACE NULL_ACE
          new ACE(ACE.UNSPECIFIED_TYPE,null,null)
protected  java.lang.String role
           
static int TITLE_TYPE
          A value of the type attribute that indicates that the String name attribute represents a title.
protected  int type
           
static int UNSPECIFIED_TYPE
          A value of the type attribute that indicates that it has not been specified whether the String name attribute represents the name of a user, group, or title.
static int USER_TYPE
          A value of the type attribute that indicates that the String name attribute represents the name of a user.
 
Constructor Summary
ACE(int type, java.lang.String name, java.lang.String role)
          Creates a new ACE with the type, name and role specified
 
Method Summary
 boolean equalsIgnoreNull(com.oakgrovesystems.reactor.processMediation.ACE other)
          Compares this ACE for equality with another ACE.
 java.lang.String getName()
          returns the name of the user, group or title
 java.lang.String getRole()
          returns the role to which the the user, group, or title is mapped
 int getType()
          returns the type of this ACE: USER_TYPE, TITLE_TYPE, or GROUP_TYPE
 boolean isGroup()
          returns true if the type is equal to TITLE_TYPE
 boolean isTitle()
          returns true if the type is equal to TITLE_TYPE
 boolean isUser()
          returns true if the type is equal to USER_TYPE
 boolean sameAs(java.lang.Object o)
          Compares this ACE for equality with another ACE.
 java.lang.String toString()
          returns a string representation of this ACE
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

UNSPECIFIED_TYPE

public static final int UNSPECIFIED_TYPE
A value of the type attribute that indicates that it has not been specified whether the String name attribute represents the name of a user, group, or title.

See Also:
Constant Field Values

USER_TYPE

public static final int USER_TYPE
A value of the type attribute that indicates that the String name attribute represents the name of a user.

See Also:
Constant Field Values

TITLE_TYPE

public static final int TITLE_TYPE
A value of the type attribute that indicates that the String name attribute represents a title.

See Also:
Constant Field Values

GROUP_TYPE

public static final int GROUP_TYPE
A value of the type attribute that indicates that the String name attribute represents the name of a group.

See Also:
Constant Field Values

NULL_ACE

public static final com.oakgrovesystems.reactor.processMediation.ACE NULL_ACE
new ACE(ACE.UNSPECIFIED_TYPE,null,null)


type

protected int type

name

protected java.lang.String name

role

protected java.lang.String role
Constructor Detail

ACE

public ACE(int type,
           java.lang.String name,
           java.lang.String role)
Creates a new ACE with the type, name and role specified

Parameters:
type - the type of ACE: USER_TYPE, TITLE_TYPE, or GROUP_TYPE
name - the name of the user, group or title
role - the role to which the the user, group, or title is mapped
Method Detail

isUser

public boolean isUser()
returns true if the type is equal to USER_TYPE

Returns:
true if the type is equal to USER_TYPE

isTitle

public boolean isTitle()
returns true if the type is equal to TITLE_TYPE

Returns:
true if the type is equal to TITLE_TYPE

isGroup

public boolean isGroup()
returns true if the type is equal to TITLE_TYPE

Returns:
true if the type is equal to TITLE_TYPE

getType

public final int getType()
returns the type of this ACE: USER_TYPE, TITLE_TYPE, or GROUP_TYPE

Returns:
the type of this ACE: USER_TYPE, TITLE_TYPE, or GROUP_TYPE

getName

public final java.lang.String getName()
returns the name of the user, group or title

Returns:
the name of the user, group or title

getRole

public final java.lang.String getRole()
returns the role to which the the user, group, or title is mapped

Returns:
the role to which the the user, group, or title is mapped

sameAs

public boolean sameAs(java.lang.Object o)
Compares this ACE for equality with another ACE. All 3 attributes of the ACEs (type, name, and role) must be equal for this method to return true.

Returns:
A boolean indicating whether or not two ACEs are equal

equalsIgnoreNull

public boolean equalsIgnoreNull(com.oakgrovesystems.reactor.processMediation.ACE other)
Compares this ACE for equality with another ACE. If the type of either ACE is UNSPECIFIED_TYPE then this method disregards the type of ACE when judging equality. Likewise, if the name or role of either ACE is null, this method disregards the null field when judging equality. Thus, an ACE with type of UNSPECIFIED_TYPE, a null name, and a null role will always make the equalsIgnoreNull() method return true. This method is intended to be used for ACE pattern matching.

Parameters:
other - The ACE to compare to.
Returns:
A boolean indicating whether or not two ACEs are equal when null fields are disregarded.

toString

public java.lang.String toString()
returns a string representation of this ACE

Overrides:
toString in class java.lang.Object
Returns:
a string representation of this ACE


Copyright (c) 1999-2004 Oak Grove Systems. All Rights Reserved.