edu.internet2.middleware.grouper.privs
Class AttributeDefPrivilege

java.lang.Object
  extended by edu.internet2.middleware.grouper.privs.AttributeDefPrivilege
All Implemented Interfaces:
GrouperPrivilege, Comparable

public class AttributeDefPrivilege
extends Object
implements GrouperPrivilege, Comparable

An instance of a granted access privilege to attribute.

Version:
$Id: AttributeDefPrivilege.java,v 1.1 2009-09-21 06:14:26 mchyzer Exp $
Author:
blair christensen.

Field Summary
static Set<Privilege> ALL_PRIVILEGES
          ALL privileges note, keep most common/likely privs toward the front
static Privilege ATTR_ADMIN
           
static Set<Privilege> ATTR_ADMIN_IMPLIED_PRIVILEGES
          these privileges are implied by ATTR_ADMIN
static Set<Privilege> ATTR_ADMIN_PRIVILEGES
          any of these constitutes ADMIN on an attribute def note, keep most common/likely privs toward the front
static Privilege ATTR_DEF_ATTR_READ
           
static Set<Privilege> ATTR_DEF_ATTR_READ_IMPLIED_PRIVILEGES
          these privileges are implied by ATTR_DEF_ATTR_READ
static Set<Privilege> ATTR_DEF_ATTR_READ_PRIVILEGES
          any of these constitutes ATTR_DEF_ATTR_READ on a group note, keep most common/likely privs toward the front
static Privilege ATTR_DEF_ATTR_UPDATE
           
static Set<Privilege> ATTR_DEF_ATTR_UPDATE_IMPLIED_PRIVILEGES
          these privileges are implied by ATTR_DEF_ATTR_UPDATE
static Set<Privilege> ATTR_DEF_ATTR_UPDATE_PRIVILEGES
          any of these constitutes ATTR_DEF_ATTR_UPDATE on an attribute def note, keep most common/likely privs toward the front
static Privilege ATTR_OPTIN
           
static Set<Privilege> ATTR_OPTIN_IMPLIED_PRIVILEGES
          these privileges are implied by ATTR_OPTIN
static Set<Privilege> ATTR_OPTIN_PRIVILEGES
          any of these constitutes ATTR_OPTIN on an attribute def note, keep most common/likely privs toward the front
static Privilege ATTR_OPTOUT
           
static Set<Privilege> ATTR_OPTOUT_IMPLIED_PRIVILEGES
          these privileges are implied by ATTR_OPTOUT
static Set<Privilege> ATTR_OPTOUT_PRIVILEGES
          any of these constitutes ATTR_OPTOUT on an attribute def note, keep most common/likely privs toward the front
static Privilege ATTR_READ
           
static Set<Privilege> ATTR_READ_IMPLIED_PRIVILEGES
          these privileges are implied by ATTR_READ
static Set<Privilege> ATTR_READ_PRIVILEGES
          any of these constitutes READ on a group note, keep most common/likely privs toward the front
static Privilege ATTR_UPDATE
           
static Set<Privilege> ATTR_UPDATE_IMPLIED_PRIVILEGES
          these privileges are implied by ATTR_UPDATE
static Set<Privilege> ATTR_UPDATE_PRIVILEGES
          any of these constitutes ATTR_UPDATE on an attribute def note, keep most common/likely privs toward the front
static Privilege ATTR_VIEW
           
static Set<Privilege> ATTR_VIEW_IMPLIED_PRIVILEGES
          these privileges are implied by ATTR_VIEW
static Set<Privilege> ATTR_VIEW_PRIVILEGES
          any of these constitutes VIEW on a group note, keep most common/likely privs toward the front
static Set<Privilege> MANAGE_PRIVILEGES
          any of these constitutes MANAGE on an attribute def note, keep most common/likely privs toward the front
 
Constructor Summary
AttributeDefPrivilege(AttributeDef attributeDef1, edu.internet2.middleware.subject.Subject subj1, edu.internet2.middleware.subject.Subject owner1, Privilege priv, String klass1, boolean isRevokable1, String contextId1)
           
 
Method Summary
 int compareTo(Object o)
           
 boolean equals(Object other)
           
static Set<Privilege> filter(Collection<Privilege> privileges)
          filter some privs for access privs
 AttributeDef getAttributeDef()
          Get AttributeDef that the privilege was granted on.
 String getContextId()
          optionally link the audit id with the low level action
 GrouperAPI getGrouperApi()
          get the object this privilege is assigned to (e.g.
 String getImplementationName()
          Get name of implementation class for this privilege type.
 String getName()
          Get name of privilege.
 edu.internet2.middleware.subject.Subject getOwner()
          Get subject which was granted privilege on this object.
 Privilege getPrivilege()
          get the privilege, convert from name
 edu.internet2.middleware.subject.Subject getSubject()
          Get subject which has this privilege.
 String getType()
          get type of privilege (e.g.
 int hashCode()
           
 void internalSetSubject(edu.internet2.middleware.subject.Subject subject)
          if we are caching subject objects, then set it here...
 boolean isRevokable()
          Returns true if privilege can be revoked.
static Privilege listToPriv(String list)
          convert a list to a privilege
static String privToList(Privilege privilege)
          convert a privilege to a list
 String toString()
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ATTR_ADMIN

public static final Privilege ATTR_ADMIN

ATTR_OPTIN

public static final Privilege ATTR_OPTIN

ATTR_OPTOUT

public static final Privilege ATTR_OPTOUT

ATTR_READ

public static final Privilege ATTR_READ

ATTR_UPDATE

public static final Privilege ATTR_UPDATE

ATTR_OPTIN_PRIVILEGES

public static Set<Privilege> ATTR_OPTIN_PRIVILEGES
any of these constitutes ATTR_OPTIN on an attribute def note, keep most common/likely privs toward the front


ATTR_OPTOUT_PRIVILEGES

public static Set<Privilege> ATTR_OPTOUT_PRIVILEGES
any of these constitutes ATTR_OPTOUT on an attribute def note, keep most common/likely privs toward the front


ATTR_VIEW

public static final Privilege ATTR_VIEW

ATTR_DEF_ATTR_READ

public static final Privilege ATTR_DEF_ATTR_READ

ATTR_DEF_ATTR_UPDATE

public static final Privilege ATTR_DEF_ATTR_UPDATE

ATTR_VIEW_PRIVILEGES

public static Set<Privilege> ATTR_VIEW_PRIVILEGES
any of these constitutes VIEW on a group note, keep most common/likely privs toward the front


ALL_PRIVILEGES

public static Set<Privilege> ALL_PRIVILEGES
ALL privileges note, keep most common/likely privs toward the front


ATTR_DEF_ATTR_READ_PRIVILEGES

public static Set<Privilege> ATTR_DEF_ATTR_READ_PRIVILEGES
any of these constitutes ATTR_DEF_ATTR_READ on a group note, keep most common/likely privs toward the front


ATTR_DEF_ATTR_UPDATE_PRIVILEGES

public static Set<Privilege> ATTR_DEF_ATTR_UPDATE_PRIVILEGES
any of these constitutes ATTR_DEF_ATTR_UPDATE on an attribute def note, keep most common/likely privs toward the front


ATTR_UPDATE_PRIVILEGES

public static Set<Privilege> ATTR_UPDATE_PRIVILEGES
any of these constitutes ATTR_UPDATE on an attribute def note, keep most common/likely privs toward the front


ATTR_READ_PRIVILEGES

public static Set<Privilege> ATTR_READ_PRIVILEGES
any of these constitutes READ on a group note, keep most common/likely privs toward the front


MANAGE_PRIVILEGES

public static Set<Privilege> MANAGE_PRIVILEGES
any of these constitutes MANAGE on an attribute def note, keep most common/likely privs toward the front


ATTR_ADMIN_PRIVILEGES

public static Set<Privilege> ATTR_ADMIN_PRIVILEGES
any of these constitutes ADMIN on an attribute def note, keep most common/likely privs toward the front


ATTR_ADMIN_IMPLIED_PRIVILEGES

public static Set<Privilege> ATTR_ADMIN_IMPLIED_PRIVILEGES
these privileges are implied by ATTR_ADMIN


ATTR_UPDATE_IMPLIED_PRIVILEGES

public static Set<Privilege> ATTR_UPDATE_IMPLIED_PRIVILEGES
these privileges are implied by ATTR_UPDATE


ATTR_READ_IMPLIED_PRIVILEGES

public static Set<Privilege> ATTR_READ_IMPLIED_PRIVILEGES
these privileges are implied by ATTR_READ


ATTR_OPTIN_IMPLIED_PRIVILEGES

public static Set<Privilege> ATTR_OPTIN_IMPLIED_PRIVILEGES
these privileges are implied by ATTR_OPTIN


ATTR_OPTOUT_IMPLIED_PRIVILEGES

public static Set<Privilege> ATTR_OPTOUT_IMPLIED_PRIVILEGES
these privileges are implied by ATTR_OPTOUT


ATTR_VIEW_IMPLIED_PRIVILEGES

public static Set<Privilege> ATTR_VIEW_IMPLIED_PRIVILEGES
these privileges are implied by ATTR_VIEW


ATTR_DEF_ATTR_UPDATE_IMPLIED_PRIVILEGES

public static Set<Privilege> ATTR_DEF_ATTR_UPDATE_IMPLIED_PRIVILEGES
these privileges are implied by ATTR_DEF_ATTR_UPDATE


ATTR_DEF_ATTR_READ_IMPLIED_PRIVILEGES

public static Set<Privilege> ATTR_DEF_ATTR_READ_IMPLIED_PRIVILEGES
these privileges are implied by ATTR_DEF_ATTR_READ

Constructor Detail

AttributeDefPrivilege

public AttributeDefPrivilege(AttributeDef attributeDef1,
                             edu.internet2.middleware.subject.Subject subj1,
                             edu.internet2.middleware.subject.Subject owner1,
                             Privilege priv,
                             String klass1,
                             boolean isRevokable1,
                             String contextId1)
Parameters:
attributeDef1 -
subj1 -
owner1 -
priv -
klass1 -
isRevokable1 -
contextId1 -
Method Detail

filter

public static Set<Privilege> filter(Collection<Privilege> privileges)
filter some privs for access privs

Parameters:
privileges -
Returns:
a new set of privs

listToPriv

public static Privilege listToPriv(String list)
convert a list to a privilege

Parameters:
list -
Returns:
the privilege

privToList

public static String privToList(Privilege privilege)
convert a privilege to a list

Parameters:
privilege -
Returns:
the list name

equals

public boolean equals(Object other)
Overrides:
equals in class Object
See Also:
Object.equals(java.lang.Object)

hashCode

public int hashCode()
Overrides:
hashCode in class Object
Returns:
hashcode
Since:
1.2.0

getPrivilege

public Privilege getPrivilege()
get the privilege, convert from name

Returns:
named Privilege

getAttributeDef

public AttributeDef getAttributeDef()
Get AttributeDef that the privilege was granted on.

Returns:
AttributeDef

getImplementationName

public String getImplementationName()
Get name of implementation class for this privilege type.

Specified by:
getImplementationName in interface GrouperPrivilege
Returns:
Class name of implementing class.

getName

public String getName()
Get name of privilege.

Specified by:
getName in interface GrouperPrivilege
Returns:
Name of privilege.

getOwner

public edu.internet2.middleware.subject.Subject getOwner()
Get subject which was granted privilege on this object.

Specified by:
getOwner in interface GrouperPrivilege
Returns:
Subject that was granted privilege.

getSubject

public edu.internet2.middleware.subject.Subject getSubject()
Get subject which has this privilege.

Specified by:
getSubject in interface GrouperPrivilege
Returns:
Subject that has this privilege.

isRevokable

public boolean isRevokable()
Returns true if privilege can be revoked.

Specified by:
isRevokable in interface GrouperPrivilege
Returns:
Boolean true if privilege can be revoked.

toString

public String toString()
Overrides:
toString in class Object
See Also:
Object.toString()

getGrouperApi

public GrouperAPI getGrouperApi()
Description copied from interface: GrouperPrivilege
get the object this privilege is assigned to (e.g. group or stem object)

Specified by:
getGrouperApi in interface GrouperPrivilege
Returns:
the group or stem
See Also:
GrouperPrivilege.getGrouperApi()

getType

public String getType()
Description copied from interface: GrouperPrivilege
get type of privilege (e.g. access or naming)

Specified by:
getType in interface GrouperPrivilege
Returns:
the type
See Also:
GrouperPrivilege.getType()

compareTo

public int compareTo(Object o)
Specified by:
compareTo in interface Comparable
See Also:
Comparable.compareTo(java.lang.Object)

getContextId

public String getContextId()
optionally link the audit id with the low level action

Returns:
context id

internalSetSubject

public void internalSetSubject(edu.internet2.middleware.subject.Subject subject)
Description copied from interface: GrouperPrivilege
if we are caching subject objects, then set it here... do not change the subject here

Specified by:
internalSetSubject in interface GrouperPrivilege
See Also:
GrouperPrivilege.internalSetSubject(Subject)