edu.internet2.middleware.grouper
Class GrouperAccessAdapter

java.lang.Object
  extended by edu.internet2.middleware.grouper.privs.BaseAccessAdapter
      extended by edu.internet2.middleware.grouper.privs.GrouperNonDbAccessAdapter
          extended by edu.internet2.middleware.grouper.GrouperAccessAdapter
All Implemented Interfaces:
AccessAdapter

public class GrouperAccessAdapter
extends GrouperNonDbAccessAdapter

 
 Grouper Access Privilege interface.
 

Unless you are implementing a new implementation of this interface, you should not need to directly use these methods as they are all wrapped by methods in the Group class.

This access adapter affects the HQL queries to give better performance

Version:
$Id: GrouperAccessAdapter.java,v 1.84 2009-09-21 06:14:27 mchyzer Exp $
Author:
blair christensen.

Constructor Summary
GrouperAccessAdapter()
           
 
Method Summary
 boolean hqlFilterGroupsWhereClause(GrouperSession grouperSession, edu.internet2.middleware.subject.Subject subject, HqlQuery hqlQuery, java.lang.StringBuilder hql, java.lang.String groupColumn, java.util.Set<Privilege> privInSet)
          note, can use
 java.util.Set<Group> postHqlFilterGroups(GrouperSession grouperSession, java.util.Set<Group> inputGroups, edu.internet2.middleware.subject.Subject subject, java.util.Set<Privilege> privInSet)
          after HQL is run, filter groups.
 java.util.Set<Stem> postHqlFilterStemsWithGroups(GrouperSession grouperSession, java.util.Set<Stem> stems, edu.internet2.middleware.subject.Subject subject, java.util.Set<Privilege> inPrivSet)
          after HQL is run, filter stems with groups.
 
Methods inherited from class edu.internet2.middleware.grouper.privs.GrouperNonDbAccessAdapter
getGroupsWhereSubjectHasPriv, getPrivs, getStemsWhereGroupThatSubjectHasPrivilege, getSubjectsWithPriv, grantPriv, hasPriv, privilegeCopy, privilegeCopy, revokeAllPrivilegesForSubject, revokePriv, revokePriv
 
Methods inherited from class edu.internet2.middleware.grouper.privs.BaseAccessAdapter
postHqlFilterMemberships
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.internet2.middleware.grouper.privs.AccessAdapter
postHqlFilterMemberships
 

Constructor Detail

GrouperAccessAdapter

public GrouperAccessAdapter()
Method Detail

hqlFilterGroupsWhereClause

public boolean hqlFilterGroupsWhereClause(GrouperSession grouperSession,
                                          edu.internet2.middleware.subject.Subject subject,
                                          HqlQuery hqlQuery,
                                          java.lang.StringBuilder hql,
                                          java.lang.String groupColumn,
                                          java.util.Set<Privilege> privInSet)
note, can use

Specified by:
hqlFilterGroupsWhereClause in interface AccessAdapter
Overrides:
hqlFilterGroupsWhereClause in class BaseAccessAdapter
subject - which needs view access to the groups
hql - is the select and part part (hql prefix)
groupColumn - is the name of the group column to join to
privInSet - find a privilege which is in this set (e.g. for view, send all access privs). There are pre-canned sets in AccessPrivilege
Returns:
if the query was changed
See Also:
AccessAdapter.hqlFilterGroupsWhereClause(edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.hibernate.HqlQuery, java.lang.StringBuilder, java.lang.String, java.util.Set)

postHqlFilterGroups

public java.util.Set<Group> postHqlFilterGroups(GrouperSession grouperSession,
                                                java.util.Set<Group> inputGroups,
                                                edu.internet2.middleware.subject.Subject subject,
                                                java.util.Set<Privilege> privInSet)
Description copied from interface: AccessAdapter
after HQL is run, filter groups. If you are filtering in HQL, then dont filter here

Specified by:
postHqlFilterGroups in interface AccessAdapter
Overrides:
postHqlFilterGroups in class BaseAccessAdapter
subject - which needs view access to the groups
privInSet - find a privilege which is in this set (e.g. for view, send all access privs). There are pre-canned sets in AccessAdapter
Returns:
the set of filtered groups
See Also:
BaseAccessAdapter.postHqlFilterGroups(edu.internet2.middleware.grouper.GrouperSession, java.util.Set, edu.internet2.middleware.subject.Subject, java.util.Set)

postHqlFilterStemsWithGroups

public java.util.Set<Stem> postHqlFilterStemsWithGroups(GrouperSession grouperSession,
                                                        java.util.Set<Stem> stems,
                                                        edu.internet2.middleware.subject.Subject subject,
                                                        java.util.Set<Privilege> inPrivSet)
Description copied from interface: AccessAdapter
after HQL is run, filter stems with groups. If you are filtering in HQL, then dont filter here

Specified by:
postHqlFilterStemsWithGroups in interface AccessAdapter
Overrides:
postHqlFilterStemsWithGroups in class BaseAccessAdapter
Returns:
the stems
See Also:
BaseAccessAdapter.postHqlFilterStemsWithGroups(edu.internet2.middleware.grouper.GrouperSession, java.util.Set, edu.internet2.middleware.subject.Subject, java.util.Set)