edu.internet2.middleware.grouper.internal.dao.hib3
Class Hib3PermissionEntryDAO

java.lang.Object
  extended by edu.internet2.middleware.grouper.internal.dao.hib3.Hib3DAO
      extended by edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PermissionEntryDAO
All Implemented Interfaces:
GrouperDAO, PermissionEntryDAO

public class Hib3PermissionEntryDAO
extends Hib3DAO
implements PermissionEntryDAO

Basic Hibernate PermissionEntry DAO interface.

Version:
$Id: Hib3PermissionEntryDAO.java,v 1.4 2009-10-26 04:52:17 mchyzer Exp $
Author:
Chris Hyzer

Field Summary
 
Fields inherited from class edu.internet2.middleware.grouper.internal.dao.hib3.Hib3DAO
hibernateInitted
 
Constructor Summary
Hib3PermissionEntryDAO()
           
 
Method Summary
 Set<PermissionEntry> findAllPermissionsNotInGroupAndType(String attributeDefId, String groupId, boolean immediateRoleMembershipsOrRoleSubject, QueryOptions queryOptions, Boolean enabled, boolean hasNoEndDate)
          find subjects who are not in a group but who have permissions
 Set<PermissionEntry> findAllPermissionsNotInStem(String attributeDefId, Stem ownerNotInStem, Stem.Scope stemScope, boolean immediateRoleMembershipsOrRoleSubject, QueryOptions queryOptions, Boolean enabled, boolean hasNoEndDate)
          find subjects who are not in a group but who have permissions
 Set<PermissionEntry> findByMemberId(String memberId)
          find all permissions that a subject has
 Set<PermissionEntry> findByMemberIdAndAttributeDefNameId(String memberId, String attributeDefNameId)
          get attribute assigns by member and attribute def name id
 Set<PermissionEntry> findPermissions(Collection<String> attributeDefIds, Collection<String> attributeDefNameIds, Collection<String> roleIds, Collection<String> actions, Boolean enabled, Collection<String> memberIds)
          securely search for assignments.
 Set<PermissionEntry> findPermissions(Collection<String> attributeDefIds, Collection<String> attributeDefNameIds, Collection<String> roleIds, Collection<String> actions, Boolean enabled, Collection<String> memberIdsTotal, boolean noEndDate)
          securely search for assignments.
 Set<PermissionEntry> findPermissions(Collection<String> attributeDefIds, Collection<String> attributeDefNameIds, Collection<String> roleIds, Collection<String> actions, Boolean enabled, Collection<String> memberIdsTotal, boolean noEndDate, Stem permissionNameInStem, Stem.Scope permissionNameInStemScope)
          securely search for assignments.
 Set<PermissionEntry> findPermissions(String attributeDefId, String attributeDefNameId, String ownerRoleId, String ownerMemberId, String action, Boolean enabled)
          find permissions based on filter criteria
 Set<PermissionEntry> findPermissionsByAttributeDefDisabledRange(String attributeDefId, Timestamp disabledDateFrom, Timestamp disabledDateTo)
          Find all permissions based on attributeDefinition, and a range of disabled dates
 Set<PermissionEntry> findRolePermissions(Collection<String> attributeDefIds, Collection<String> attributeDefNameIds, Collection<String> roleIds, Collection<String> actions, Boolean enabled, boolean noEndDate)
          securely search for role assignments.
 Set<PermissionEntry> findRolePermissions(Collection<String> attributeDefIds, Collection<String> attributeDefNameIds, Collection<String> roleIds, Collection<String> actions, Boolean enabled, boolean noEndDate, Stem permissionNameInStem, Stem.Scope permissionNameInStemScope)
          securely search for role assignments.
 Set<PermissionEntry> findRolePermissions(String attributeDefId, String attributeDefNameId, String ownerRoleId, String action, Boolean enabled)
          securely search for assignments
 boolean hasPermissionBySubjectIdSourceIdActionAttributeDefName(String subjectId, String sourceId, String action, String attributeDefNameName)
          see if the permission exists and is enabled
 
Methods inherited from class edu.internet2.middleware.grouper.internal.dao.hib3.Hib3DAO
evict, evictEntity, evictQueries, getConfiguration, getSessionFactory, initHibernateIfNotInitted, resourceNameFromClassName, session
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Hib3PermissionEntryDAO

public Hib3PermissionEntryDAO()
Method Detail

findByMemberId

public Set<PermissionEntry> findByMemberId(String memberId)
Description copied from interface: PermissionEntryDAO
find all permissions that a subject has

Specified by:
findByMemberId in interface PermissionEntryDAO
Returns:
the permissions
See Also:
PermissionEntryDAO.findByMemberId(java.lang.String)

hasPermissionBySubjectIdSourceIdActionAttributeDefName

public boolean hasPermissionBySubjectIdSourceIdActionAttributeDefName(String subjectId,
                                                                      String sourceId,
                                                                      String action,
                                                                      String attributeDefNameName)
Description copied from interface: PermissionEntryDAO
see if the permission exists and is enabled

Specified by:
hasPermissionBySubjectIdSourceIdActionAttributeDefName in interface PermissionEntryDAO
Returns:
true if has permissions and is enabled
See Also:
PermissionEntryDAO.hasPermissionBySubjectIdSourceIdActionAttributeDefName(java.lang.String, java.lang.String, java.lang.String, java.lang.String)

findByMemberIdAndAttributeDefNameId

public Set<PermissionEntry> findByMemberIdAndAttributeDefNameId(String memberId,
                                                                String attributeDefNameId)
Description copied from interface: PermissionEntryDAO
get attribute assigns by member and attribute def name id

Specified by:
findByMemberIdAndAttributeDefNameId in interface PermissionEntryDAO
Returns:
set of assigns or empty if none there
See Also:
PermissionEntryDAO.findByMemberIdAndAttributeDefNameId(java.lang.String, java.lang.String)

findPermissions

public Set<PermissionEntry> findPermissions(Collection<String> attributeDefIds,
                                            Collection<String> attributeDefNameIds,
                                            Collection<String> roleIds,
                                            Collection<String> actions,
                                            Boolean enabled,
                                            Collection<String> memberIds)
Description copied from interface: PermissionEntryDAO
securely search for assignments. need to pass in either the assign ids, def ids, def name ids, or group ids cannot have more than 100 bind variables

Specified by:
findPermissions in interface PermissionEntryDAO
Parameters:
attributeDefIds - optional
attributeDefNameIds - mutually exclusive with attributeDefIds
roleIds - optional
actions - (null means all actions)
enabled - (null means all, true means enabled, false means disabled)
Returns:
the permissions
See Also:
PermissionEntryDAO.findPermissions(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, java.lang.Boolean, java.util.Collection)

findPermissions

public Set<PermissionEntry> findPermissions(Collection<String> attributeDefIds,
                                            Collection<String> attributeDefNameIds,
                                            Collection<String> roleIds,
                                            Collection<String> actions,
                                            Boolean enabled,
                                            Collection<String> memberIdsTotal,
                                            boolean noEndDate)
Description copied from interface: PermissionEntryDAO
securely search for assignments. need to pass in either the assign ids, def ids, def name ids, or group ids cannot have more than 100 bind variables. well, you can pass more than 100 members... it will batch

Specified by:
findPermissions in interface PermissionEntryDAO
Parameters:
attributeDefIds - optional
attributeDefNameIds - mutually exclusive with attributeDefIds
roleIds - optional
actions - (null means all actions)
enabled - (null means all, true means enabled, false means disabled)
noEndDate - true if no end date on memberships
Returns:
the permissions
See Also:
PermissionEntryDAO.findPermissions(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, java.lang.Boolean, java.util.Collection, boolean)

findPermissions

public Set<PermissionEntry> findPermissions(Collection<String> attributeDefIds,
                                            Collection<String> attributeDefNameIds,
                                            Collection<String> roleIds,
                                            Collection<String> actions,
                                            Boolean enabled,
                                            Collection<String> memberIdsTotal,
                                            boolean noEndDate,
                                            Stem permissionNameInStem,
                                            Stem.Scope permissionNameInStemScope)
Description copied from interface: PermissionEntryDAO
securely search for assignments. need to pass in either the assign ids, def ids, def name ids, or group ids cannot have more than 100 bind variables. well, you can pass more than 100 members... it will batch

Specified by:
findPermissions in interface PermissionEntryDAO
Parameters:
attributeDefIds - optional
attributeDefNameIds - mutually exclusive with attributeDefIds
roleIds - optional
actions - (null means all actions)
enabled - (null means all, true means enabled, false means disabled)
noEndDate - true if no end date on memberships
permissionNameInStem - if looking for permission names in a certain stem, put it here
permissionNameInStemScope - if looking for permission names in a certain stem, put scope here
Returns:
the permissions
See Also:
edu.internet2.middleware.grouper.internal.dao.PermissionEntryDAO#findPermissions(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, java.lang.Boolean, java.util.Collection, boolean, Stem, Scope)

findPermissionsByAttributeDefDisabledRange

public Set<PermissionEntry> findPermissionsByAttributeDefDisabledRange(String attributeDefId,
                                                                       Timestamp disabledDateFrom,
                                                                       Timestamp disabledDateTo)
Description copied from interface: PermissionEntryDAO
Find all permissions based on attributeDefinition, and a range of disabled dates

Specified by:
findPermissionsByAttributeDefDisabledRange in interface PermissionEntryDAO
disabledDateFrom - null if dont consider
disabledDateTo - null if dont consider
Returns:
the permission records
See Also:
find permissions by attribute definition which are about to expire

findAllPermissionsNotInGroupAndType

public Set<PermissionEntry> findAllPermissionsNotInGroupAndType(String attributeDefId,
                                                                String groupId,
                                                                boolean immediateRoleMembershipsOrRoleSubject,
                                                                QueryOptions queryOptions,
                                                                Boolean enabled,
                                                                boolean hasNoEndDate)
Description copied from interface: PermissionEntryDAO
find subjects who are not in a group but who have permissions

Specified by:
findAllPermissionsNotInGroupAndType in interface PermissionEntryDAO
Returns:
the set of members
See Also:
PermissionEntryDAO.findAllPermissionsNotInGroupAndType(String, String, boolean, QueryOptions, Boolean, boolean)

findAllPermissionsNotInStem

public Set<PermissionEntry> findAllPermissionsNotInStem(String attributeDefId,
                                                        Stem ownerNotInStem,
                                                        Stem.Scope stemScope,
                                                        boolean immediateRoleMembershipsOrRoleSubject,
                                                        QueryOptions queryOptions,
                                                        Boolean enabled,
                                                        boolean hasNoEndDate)
Description copied from interface: PermissionEntryDAO
find subjects who are not in a group but who have permissions

Specified by:
findAllPermissionsNotInStem in interface PermissionEntryDAO
Returns:
the set of members
See Also:
PermissionEntryDAO.findAllPermissionsNotInStem(String, Stem, Stem.Scope, boolean, QueryOptions, Boolean, boolean)

findPermissions

public Set<PermissionEntry> findPermissions(String attributeDefId,
                                            String attributeDefNameId,
                                            String ownerRoleId,
                                            String ownerMemberId,
                                            String action,
                                            Boolean enabled)
find permissions based on filter criteria

Specified by:
findPermissions in interface PermissionEntryDAO
Parameters:
attributeDefId - optional
attributeDefNameId - mutually exclusive with attributeDefIds
ownerRoleId - optional
ownerMemberId - optional
action - optional
enabled - (null means all, true means enabled, false means disabled)
Returns:
the assignments

findRolePermissions

public Set<PermissionEntry> findRolePermissions(String attributeDefId,
                                                String attributeDefNameId,
                                                String ownerRoleId,
                                                String action,
                                                Boolean enabled)
Description copied from interface: PermissionEntryDAO
securely search for assignments

Specified by:
findRolePermissions in interface PermissionEntryDAO
Parameters:
attributeDefId - optional
attributeDefNameId - mutually exclusive with attributeDefIds
ownerRoleId - optional
action - optional
enabled - (null means all, true means enabled, false means disabled)
Returns:
the assignments
See Also:
PermissionEntry#findRolePermissions(String attributeDefId, String attributeDefNameId, String ownerRoleId, String action, Boolean enabled)

findRolePermissions

public Set<PermissionEntry> findRolePermissions(Collection<String> attributeDefIds,
                                                Collection<String> attributeDefNameIds,
                                                Collection<String> roleIds,
                                                Collection<String> actions,
                                                Boolean enabled,
                                                boolean noEndDate)
Description copied from interface: PermissionEntryDAO
securely search for role assignments. need to pass in either the assign ids, def ids, def name ids, or group ids cannot have more than 100 bind variables

Specified by:
findRolePermissions in interface PermissionEntryDAO
Parameters:
attributeDefIds - optional
attributeDefNameIds - mutually exclusive with attributeDefIds
roleIds - optional
actions - (null means all actions)
enabled - (null means all, true means enabled, false means disabled)
noEndDate - true if no end date on memberships
Returns:
the permissions
See Also:
PermissionEntryDAO.findRolePermissions(Collection, Collection, Collection, Collection, Boolean, boolean)

findRolePermissions

public Set<PermissionEntry> findRolePermissions(Collection<String> attributeDefIds,
                                                Collection<String> attributeDefNameIds,
                                                Collection<String> roleIds,
                                                Collection<String> actions,
                                                Boolean enabled,
                                                boolean noEndDate,
                                                Stem permissionNameInStem,
                                                Stem.Scope permissionNameInStemScope)
Description copied from interface: PermissionEntryDAO
securely search for role assignments. need to pass in either the assign ids, def ids, def name ids, or group ids cannot have more than 100 bind variables

Specified by:
findRolePermissions in interface PermissionEntryDAO
Parameters:
attributeDefIds - optional
attributeDefNameIds - mutually exclusive with attributeDefIds
roleIds - optional
actions - (null means all actions)
enabled - (null means all, true means enabled, false means disabled)
noEndDate - true if no end date on memberships
permissionNameInStem - if looking for permission names in a certain stem, put it here
permissionNameInStemScope - if looking for permission names in a certain stem, put scope here
Returns:
the permissions
See Also:
PermissionEntryDAO#findRolePermissions(Collection, Collection, Collection, Collection, Boolean, boolean, Stem, Scope)