edu.internet2.middleware.grouper.privs
Class GrouperAllAccessResolver

java.lang.Object
  extended by edu.internet2.middleware.grouper.privs.AccessResolverDecorator
      extended by edu.internet2.middleware.grouper.privs.GrouperAllAccessResolver
All Implemented Interfaces:
AccessResolver

public class GrouperAllAccessResolver
extends AccessResolverDecorator

Decorator that provides GrouperAll privilege resolution for AccessResolver.

Since:
1.2.1
Version:
$Id: GrouperAllAccessResolver.java,v 1.15 2009-09-21 06:14:26 mchyzer Exp $
Author:
blair christensen.

Constructor Summary
GrouperAllAccessResolver(AccessResolver resolver)
           
 
Method Summary
 void flushCache()
          flush cache if caching resolver
 Set<Group> getGroupsWhereSubjectDoesntHavePrivilege(String stemId, Stem.Scope scope, edu.internet2.middleware.subject.Subject subject, Privilege privilege, boolean considerAllSubject, String sqlLikeString)
          find the groups which do not have a certain privilege
 Set<Group> getGroupsWhereSubjectHasPrivilege(edu.internet2.middleware.subject.Subject subject, Privilege privilege)
          Get all groups where subject has privilege.
 Set<AccessPrivilege> getPrivileges(Group group, edu.internet2.middleware.subject.Subject subject)
          Get all privileges subject has on group.
 Set<Stem> getStemsWhereGroupThatSubjectHasPrivilege(edu.internet2.middleware.subject.Subject subject, Privilege privilege)
          Get all stems which have groups where subject has privilege.
 boolean hasPrivilege(Group group, edu.internet2.middleware.subject.Subject subject, Privilege privilege)
          Check whether subject has privilege on group.
 void stop()
          clean up resources, session is stopped
 
Methods inherited from class edu.internet2.middleware.grouper.privs.AccessResolverDecorator
getDecoratedResolver, getGrouperSession, getSubjectsWithPrivilege, grantPrivilege, hqlFilterGroupsNotWithPrivWhereClause, hqlFilterGroupsWhereClause, postHqlFilterGroups, postHqlFilterMemberships, postHqlFilterStemsWithGroups, privilegeCopy, privilegeCopy, retrievePrivileges, revokeAllPrivilegesForSubject, revokePrivilege, revokePrivilege
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GrouperAllAccessResolver

public GrouperAllAccessResolver(AccessResolver resolver)
Parameters:
resolver -
Since:
1.2.1
Method Detail

flushCache

public void flushCache()
Description copied from interface: AccessResolver
flush cache if caching resolver

Specified by:
flushCache in interface AccessResolver
Overrides:
flushCache in class AccessResolverDecorator
See Also:
AccessResolver.flushCache()

stop

public void stop()
Description copied from interface: AccessResolver
clean up resources, session is stopped

Specified by:
stop in interface AccessResolver
Overrides:
stop in class AccessResolverDecorator
See Also:
AccessResolver.stop()

getGroupsWhereSubjectHasPrivilege

public Set<Group> getGroupsWhereSubjectHasPrivilege(edu.internet2.middleware.subject.Subject subject,
                                                    Privilege privilege)
                                             throws IllegalArgumentException
Description copied from interface: AccessResolver
Get all groups where subject has privilege.

Specified by:
getGroupsWhereSubjectHasPrivilege in interface AccessResolver
Overrides:
getGroupsWhereSubjectHasPrivilege in class AccessResolverDecorator
Returns:
the set
Throws:
IllegalArgumentException - if any parameter is null.
Since:
1.2.1
See Also:
AccessResolver.getGroupsWhereSubjectHasPrivilege(Subject, Privilege)

getGroupsWhereSubjectDoesntHavePrivilege

public Set<Group> getGroupsWhereSubjectDoesntHavePrivilege(String stemId,
                                                           Stem.Scope scope,
                                                           edu.internet2.middleware.subject.Subject subject,
                                                           Privilege privilege,
                                                           boolean considerAllSubject,
                                                           String sqlLikeString)
Description copied from interface: AccessResolver
find the groups which do not have a certain privilege

Specified by:
getGroupsWhereSubjectDoesntHavePrivilege in interface AccessResolver
Overrides:
getGroupsWhereSubjectDoesntHavePrivilege in class AccessResolverDecorator
Returns:
the groups
See Also:
AccessResolver#getGroupsWhereSubjectDoesntHavePrivilege(String, Scope, Subject, Privilege, boolean, String)

getStemsWhereGroupThatSubjectHasPrivilege

public Set<Stem> getStemsWhereGroupThatSubjectHasPrivilege(edu.internet2.middleware.subject.Subject subject,
                                                           Privilege privilege)
                                                    throws IllegalArgumentException
Description copied from interface: AccessResolver
Get all stems which have groups where subject has privilege.

Specified by:
getStemsWhereGroupThatSubjectHasPrivilege in interface AccessResolver
Overrides:
getStemsWhereGroupThatSubjectHasPrivilege in class AccessResolverDecorator
Returns:
the set
Throws:
IllegalArgumentException - if any parameter is null.
See Also:
AccessResolverDecorator.getStemsWhereGroupThatSubjectHasPrivilege(edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.privs.Privilege)

getPrivileges

public Set<AccessPrivilege> getPrivileges(Group group,
                                          edu.internet2.middleware.subject.Subject subject)
                                   throws IllegalArgumentException
Description copied from interface: AccessResolver
Get all privileges subject has on group.

Specified by:
getPrivileges in interface AccessResolver
Overrides:
getPrivileges in class AccessResolverDecorator
Returns:
the set
Throws:
IllegalArgumentException - if any parameter is null.
Since:
1.2.1
See Also:
AccessResolver.getPrivileges(Group, Subject)

hasPrivilege

public boolean hasPrivilege(Group group,
                            edu.internet2.middleware.subject.Subject subject,
                            Privilege privilege)
                     throws IllegalArgumentException
Description copied from interface: AccessResolver
Check whether subject has privilege on group.

Specified by:
hasPrivilege in interface AccessResolver
Overrides:
hasPrivilege in class AccessResolverDecorator
Returns:
boolean
Throws:
IllegalArgumentException - if any parameter is null.
Since:
1.2.1
See Also:
AccessResolver.hasPrivilege(Group, Subject, Privilege)