edu.internet2.middleware.grouper.privs
Class GrouperAttributeDefAdapter

java.lang.Object
  extended by edu.internet2.middleware.grouper.privs.BaseAttrDefAdapter
      extended by edu.internet2.middleware.grouper.privs.GrouperNonDbAttrDefAdapter
          extended by edu.internet2.middleware.grouper.privs.GrouperAttributeDefAdapter
All Implemented Interfaces:
AttributeDefAdapter

public class GrouperAttributeDefAdapter
extends GrouperNonDbAttrDefAdapter

 
 Grouper Attribute Definition 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 AttributeDef class.

This access adapter affects the HQL queries to give better performance

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

Constructor Summary
GrouperAttributeDefAdapter()
           
 
Method Summary
 boolean hqlFilterAttrDefsWhereClause(GrouperSession grouperSession, edu.internet2.middleware.subject.Subject subject, HqlQuery hqlQuery, java.lang.StringBuilder hqlTables, java.lang.StringBuilder hqlWhereClause, java.lang.String attributeDefColumn, java.util.Set<Privilege> privInSet)
          for an attrDef query, check to make sure the subject can see the records (if filtering HQL, you can do the postHqlFilterAttrDefs instead if you like).
 java.util.Set<AttributeAssign> postHqlFilterAttributeAssigns(GrouperSession grouperSession, edu.internet2.middleware.subject.Subject subject, java.util.Set<AttributeAssign> attributeAssigns)
          filter attribute assignments for things the subject can see, assume underlying assignments are ok to view
 java.util.Set<PermissionEntry> postHqlFilterPermissions(GrouperSession grouperSession, edu.internet2.middleware.subject.Subject subject, java.util.Set<PermissionEntry> permissionEntries)
          filter permissionEntries for things the subject can see, assume underlying assignments are ok to view
 
Methods inherited from class edu.internet2.middleware.grouper.privs.GrouperNonDbAttrDefAdapter
getAttributeDefsWhereSubjectHasPriv, getPrivs, getSubjectsWithPriv, grantPriv, hasPriv, privilegeCopy, privilegeCopy, revokeAllPrivilegesForSubject, revokePriv, revokePriv
 
Methods inherited from class edu.internet2.middleware.grouper.privs.BaseAttrDefAdapter
postHqlFilterAttributeDefs
 
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.AttributeDefAdapter
postHqlFilterAttributeDefs
 

Constructor Detail

GrouperAttributeDefAdapter

public GrouperAttributeDefAdapter()
Method Detail

hqlFilterAttrDefsWhereClause

public boolean hqlFilterAttrDefsWhereClause(GrouperSession grouperSession,
                                            edu.internet2.middleware.subject.Subject subject,
                                            HqlQuery hqlQuery,
                                            java.lang.StringBuilder hqlTables,
                                            java.lang.StringBuilder hqlWhereClause,
                                            java.lang.String attributeDefColumn,
                                            java.util.Set<Privilege> privInSet)
Description copied from interface: AttributeDefAdapter
for an attrDef query, check to make sure the subject can see the records (if filtering HQL, you can do the postHqlFilterAttrDefs instead if you like). Note, this joins to tables, so the queries should probably be "distinct"

Specified by:
hqlFilterAttrDefsWhereClause in interface AttributeDefAdapter
Overrides:
hqlFilterAttrDefsWhereClause in class BaseAttrDefAdapter
subject - which needs view access to the attrDefs
hqlTables - is the select and part part (hql prefix)
hqlWhereClause - is there where clause part of the query
attributeDefColumn - is the name of the attrDef 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:
BaseAttrDefAdapter.hqlFilterAttrDefsWhereClause(edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.hibernate.HqlQuery, java.lang.StringBuilder, java.lang.StringBuilder, java.lang.String, java.util.Set)

postHqlFilterAttributeAssigns

public java.util.Set<AttributeAssign> postHqlFilterAttributeAssigns(GrouperSession grouperSession,
                                                                    edu.internet2.middleware.subject.Subject subject,
                                                                    java.util.Set<AttributeAssign> attributeAssigns)
Description copied from interface: AttributeDefAdapter
filter attribute assignments for things the subject can see, assume underlying assignments are ok to view

Specified by:
postHqlFilterAttributeAssigns in interface AttributeDefAdapter
Overrides:
postHqlFilterAttributeAssigns in class BaseAttrDefAdapter
Returns:
the memberships
See Also:
AttributeDefAdapter.postHqlFilterAttributeAssigns(edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.subject.Subject, java.util.Set)

postHqlFilterPermissions

public java.util.Set<PermissionEntry> postHqlFilterPermissions(GrouperSession grouperSession,
                                                               edu.internet2.middleware.subject.Subject subject,
                                                               java.util.Set<PermissionEntry> permissionEntries)
Description copied from interface: AttributeDefAdapter
filter permissionEntries for things the subject can see, assume underlying assignments are ok to view

Specified by:
postHqlFilterPermissions in interface AttributeDefAdapter
Overrides:
postHqlFilterPermissions in class BaseAttrDefAdapter
Returns:
the memberships
See Also:
BaseAttrDefAdapter.postHqlFilterPermissions(edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.subject.Subject, java.util.Set)