edu.internet2.middleware.grouper
Class MemberFinder

java.lang.Object
  extended by edu.internet2.middleware.grouper.MemberFinder

public class MemberFinder
extends Object

Find members within the Groups Registry.

Version:
$Id: MemberFinder.java,v 1.68 2009-12-28 06:08:37 mchyzer Exp $
Author:
blair christensen.

Constructor Summary
MemberFinder()
           
 
Method Summary
static void clearInternalMembers()
           
static Set findAll(GrouperSession s)
          Find all members.
static Set<Member> findAll(GrouperSession s, edu.internet2.middleware.subject.Source source)
          Find all members by source.
static Set<Member> findAllUsed(GrouperSession grouperSession, edu.internet2.middleware.subject.Source source)
          Find all members by source used somewhere, e.g.
static Member findBySubject(GrouperSession s, edu.internet2.middleware.subject.Subject subj)
          Deprecated. use overload
static Member findBySubject(GrouperSession s, edu.internet2.middleware.subject.Subject subj, boolean createIfNotExist)
          Convert a Subject to a Member.
static Set<Member> findBySubjects(Collection<edu.internet2.middleware.subject.Subject> subjects, boolean createIfNotExists)
          convert a set of subjects to a set of members
static Set<Member> findBySubjectsInGroup(GrouperSession grouperSession, Set<edu.internet2.middleware.subject.Subject> subjects, Group group, Field field, MembershipType membershipType)
          convert a set of subjects to a set of members
static Member findByUuid(GrouperSession s, String uuid)
          Deprecated. 
static Member findByUuid(GrouperSession s, String uuid, boolean exceptionIfNotFound)
          Get a member by UUID.
static Member internal_createMember(edu.internet2.middleware.subject.Subject subj, String memberUuidIfCreate)
          create a member
static Member internal_findAllMember()
           
static Member internal_findBySubject(edu.internet2.middleware.subject.Subject subj, String uuidIfCreate, boolean createIfNotExist)
          find a member, perhaps create a new one if not there
static Set<Member> internal_findMembersByType(GrouperSession grouperSession, Group group, Field field, String type, Set<edu.internet2.middleware.subject.Source> sources, QueryOptions queryOptions, SortStringEnum memberSortStringEnum, SearchStringEnum memberSearchStringEnum, String memberSearchStringValue)
          make sure allowed to see them, and find the members
static Member internal_findOrCreateBySubject(String id, String src, String type)
          find a member
static Member internal_findReadableMemberBySubject(GrouperSession grouperSession, edu.internet2.middleware.subject.Subject subject, boolean exceptionIfNotExist)
          find a member object and if group, make sure it is readable
static Member internal_findRootMember()
           
static Member internal_findViewableMemberBySubject(GrouperSession s, edu.internet2.middleware.subject.Subject subj, boolean exceptionIfNotExist)
           
static void memberCreatedCacheDelete(String sourceId, String subjectId)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MemberFinder

public MemberFinder()
Method Detail

findAll

public static Set findAll(GrouperSession s)
                   throws GrouperException
Find all members.
 Set members = MemberFinder.findAll(s);
 

Parameters:
s - Find all members within this session context.
Returns:
Set of Member objects.
Throws:
GrouperException

findAllUsed

public static Set<Member> findAllUsed(GrouperSession grouperSession,
                                      edu.internet2.middleware.subject.Source source)
                               throws GrouperException
Find all members by source used somewhere, e.g. with memberships or attributes etc.
 Set members = MemberFinder.findAllUsed(s, source);
 

Parameters:
grouperSession - Find all members within this session context.
source - Find all members with this source.
Returns:
Set of Member objects.
Throws:
GrouperException

findAll

public static Set<Member> findAll(GrouperSession s,
                                  edu.internet2.middleware.subject.Source source)
                           throws GrouperException
Find all members by source.
 Set members = MemberFinder.findAll(s, source);
 

Parameters:
s - Find all members within this session context.
source - Find all members with this source.
Returns:
Set of Member objects.
Throws:
GrouperException

internal_findMembersByType

public static Set<Member> internal_findMembersByType(GrouperSession grouperSession,
                                                     Group group,
                                                     Field field,
                                                     String type,
                                                     Set<edu.internet2.middleware.subject.Source> sources,
                                                     QueryOptions queryOptions,
                                                     SortStringEnum memberSortStringEnum,
                                                     SearchStringEnum memberSearchStringEnum,
                                                     String memberSearchStringValue)
make sure allowed to see them, and find the members

Parameters:
grouperSession -
group -
field -
type -
sources -
queryOptions -
memberSortStringEnum -
memberSearchStringEnum -
memberSearchStringValue -
Returns:
the members, dont return null

findBySubject

@Deprecated
public static Member findBySubject(GrouperSession s,
                                              edu.internet2.middleware.subject.Subject subj)
Deprecated. use overload

Convert a Subject to a Member. Create if not exist
 // Convert a subject to a Member object, create if not exist
   Member m = MemberFinder.findBySubject(s, subj);
 

Parameters:
s - Find Member within this session context.
subj - Subject to convert.
Returns:
A Member object.

findBySubjectsInGroup

public static Set<Member> findBySubjectsInGroup(GrouperSession grouperSession,
                                                Set<edu.internet2.middleware.subject.Subject> subjects,
                                                Group group,
                                                Field field,
                                                MembershipType membershipType)
convert a set of subjects to a set of members

Parameters:
grouperSession -
subjects - to convert to members
group - that subjects must be in
field - that they must be in in the group (null will default to eh members list
membershipType - that they must be in in the group or null for any
Returns:
the members in the group

findBySubjects

public static Set<Member> findBySubjects(Collection<edu.internet2.middleware.subject.Subject> subjects,
                                         boolean createIfNotExists)
convert a set of subjects to a set of members

Parameters:
subjects - to convert to members
createIfNotExists -
group - that subjects must be in
field - that they must be in in the group (null will default to eh members list
membershipType - that they must be in in the group or null for any
Returns:
the members in the group

findBySubject

public static Member findBySubject(GrouperSession s,
                                   edu.internet2.middleware.subject.Subject subj,
                                   boolean createIfNotExist)
Convert a Subject to a Member.
 // Convert a subject to a Member object, create if not exist
   Member m = MemberFinder.findBySubject(s, subj, true);
 

Parameters:
s - Find Member within this session context.
subj - Subject to convert.
createIfNotExist - true if the member should be created if not there
Returns:
A Member object.

findByUuid

@Deprecated
public static Member findByUuid(GrouperSession s,
                                           String uuid)
                         throws MemberNotFoundException
Deprecated. 

Get a member by UUID.
 // Get a member by uuid.
 try {
   Member m = MemberFind.findByUuid(s, uuid);
 }
 catch (MemberNotFoundException e) {
   // Member not found
 }
 

Parameters:
s - Get Member within this session context.
uuid - Get Member with this UUID.
Returns:
A Member object.
Throws:
MemberNotFoundException

findByUuid

public static Member findByUuid(GrouperSession s,
                                String uuid,
                                boolean exceptionIfNotFound)
                         throws MemberNotFoundException
Get a member by UUID.
 // Get a member by uuid.
 Member m = MemberFind.findByUuid(s, uuid, false);
 

Parameters:
s - Get Member within this session context.
uuid - Get Member with this UUID.
exceptionIfNotFound - true to throw exception if not found
Returns:
A Member object.
Throws:
MemberNotFoundException

internal_findAllMember

public static Member internal_findAllMember()
                                     throws GrouperException
Returns:
member
Throws:
GrouperException

internal_findRootMember

public static Member internal_findRootMember()
                                      throws GrouperException
Returns:
member
Throws:
GrouperException

internal_findBySubject

public static Member internal_findBySubject(edu.internet2.middleware.subject.Subject subj,
                                            String uuidIfCreate,
                                            boolean createIfNotExist)
find a member, perhaps create a new one if not there

Parameters:
subj -
uuidIfCreate - uuid to use if creating
createIfNotExist -
Returns:
the member or null if not found

internal_findOrCreateBySubject

public static Member internal_findOrCreateBySubject(String id,
                                                    String src,
                                                    String type)
find a member

Parameters:
id -
src -
type -
Returns:
the member

memberCreatedCacheDelete

public static void memberCreatedCacheDelete(String sourceId,
                                            String subjectId)
Parameters:
sourceId -
subjectId -

internal_createMember

public static Member internal_createMember(edu.internet2.middleware.subject.Subject subj,
                                           String memberUuidIfCreate)
create a member

Parameters:
subj -
memberUuidIfCreate -
Returns:
the member object

internal_findViewableMemberBySubject

public static Member internal_findViewableMemberBySubject(GrouperSession s,
                                                          edu.internet2.middleware.subject.Subject subj,
                                                          boolean exceptionIfNotExist)
                                                   throws InsufficientPrivilegeException,
                                                          MemberNotFoundException
Parameters:
s -
subj -
exceptionIfNotExist -
Returns:
the member or null if exceptionIfNotExist is false
Throws:
InsufficientPrivilegeException
MemberNotFoundException

internal_findReadableMemberBySubject

public static Member internal_findReadableMemberBySubject(GrouperSession grouperSession,
                                                          edu.internet2.middleware.subject.Subject subject,
                                                          boolean exceptionIfNotExist)
                                                   throws MemberNotFoundException,
                                                          InsufficientPrivilegeException
find a member object and if group, make sure it is readable

Parameters:
grouperSession -
subject -
exceptionIfNotExist -
Returns:
the member
Throws:
MemberNotFoundException
InsufficientPrivilegeException

clearInternalMembers

public static void clearInternalMembers()