edu.internet2.middleware.grouper.ws.member
Enum WsMemberFilter

java.lang.Object
  extended by java.lang.Enum<WsMemberFilter>
      extended by edu.internet2.middleware.grouper.ws.member.WsMemberFilter
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<WsMemberFilter>

public enum WsMemberFilter
extends java.lang.Enum<WsMemberFilter>

member filter for retrieving members.

Author:
mchyzer

Enum Constant Summary
All
          retrieve all members (immediate, effective and composite)
Composite
          if this is a composite group, then return all the memberships that match the composite operator (union, intersection, complement).
Effective
          retrieve members which exist due a group as a member of another group (for composite groups, this will not return anything)
Immediate
          return only direct members of a group (for composite groups this will not return anything)
NonImmediate
          return only direct members of a group (for composite groups this will not return anything)
 
Method Summary
abstract  java.util.Set<Group> getGroups(Member member, Field field, java.lang.String scope, Stem stem, Scope stemScope, QueryOptions queryOptions, java.lang.Boolean enabled)
          get groups for subject based on field
 java.util.Set<Member> getMembers(Group group, Field field, java.util.Set<Source> sources, QueryOptions queryOptions)
          get the members from the group based on type of filter
 java.util.Set<Membership> getMemberships(Group group, Field field)
          get the memberships from the group based on type of filter
abstract  MembershipType getMembershipType()
          get the membership type for this member filter
 boolean hasMember(Group group, Subject subject, Field field)
          see if a subject is in a group
static WsMemberFilter valueOf(java.lang.String name)
          Returns the enum constant of this type with the specified name.
static WsMemberFilter valueOfIgnoreCase(java.lang.String string)
          do a case-insensitive matching
static WsMemberFilter[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

All

public static final WsMemberFilter All
retrieve all members (immediate, effective and composite)


Effective

public static final WsMemberFilter Effective
retrieve members which exist due a group as a member of another group (for composite groups, this will not return anything)


Immediate

public static final WsMemberFilter Immediate
return only direct members of a group (for composite groups this will not return anything)


Composite

public static final WsMemberFilter Composite
if this is a composite group, then return all the memberships that match the composite operator (union, intersection, complement). This will be the same as All for composite groups.


NonImmediate

public static final WsMemberFilter NonImmediate
return only direct members of a group (for composite groups this will not return anything)

Method Detail

values

public static WsMemberFilter[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (WsMemberFilter c : WsMemberFilter.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static WsMemberFilter valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
java.lang.NullPointerException - if the argument is null

getMembers

public final java.util.Set<Member> getMembers(Group group,
                                              Field field,
                                              java.util.Set<Source> sources,
                                              QueryOptions queryOptions)
get the members from the group based on type of filter

Parameters:
group -
field - for membership or null to not check field
sources - are the sources to filter the members
queryOptions -
Returns:
the set of members (non null)

getMembershipType

public abstract MembershipType getMembershipType()
get the membership type for this member filter

Returns:
the membership type

getMemberships

public final java.util.Set<Membership> getMemberships(Group group,
                                                      Field field)
get the memberships from the group based on type of filter

Parameters:
group -
field - for membership or null to not check field
Returns:
the set of members (non null)
Throws:
SchemaException - is there is a problem with field

hasMember

public final boolean hasMember(Group group,
                               Subject subject,
                               Field field)
see if a subject is in a group

Parameters:
group -
subject -
field -
Returns:
the set of members (non null)
Throws:
SchemaException

getGroups

public abstract java.util.Set<Group> getGroups(Member member,
                                               Field field,
                                               java.lang.String scope,
                                               Stem stem,
                                               Scope stemScope,
                                               QueryOptions queryOptions,
                                               java.lang.Boolean enabled)
get groups for subject based on field

Parameters:
member -
field -
field - to check with membership
scope -
stem -
stemScope -
enabled -
queryOptions -
Returns:
the set of members (non null)

valueOfIgnoreCase

public static WsMemberFilter valueOfIgnoreCase(java.lang.String string)
do a case-insensitive matching

Parameters:
string -
Returns:
the enum or null or exception if not found