edu.internet2.middleware.grouper.hooks.examples
Class MembershipOneInFolderMaxHook

java.lang.Object
  extended by edu.internet2.middleware.grouper.hooks.MembershipHooks
      extended by edu.internet2.middleware.grouper.hooks.examples.MembershipOneInFolderMaxHook

public class MembershipOneInFolderMaxHook
extends MembershipHooks

Hook allows only one membership in a folder at a time


Field Summary
static String HOOK_VETO_MEMBERSHIP_ONE_IN_FOLDER_CANT_DELETE_MEMBER
           
static String membershipOneFolderExtensionOfAttributeDefName
          put this attribute on a folder to ensure there is one membership only for any group in folder
 
Fields inherited from class edu.internet2.middleware.grouper.hooks.MembershipHooks
METHOD_MEMBERSHIP_POST_ADD_MEMBER, METHOD_MEMBERSHIP_POST_COMMIT_ADD_MEMBER, METHOD_MEMBERSHIP_POST_COMMIT_DELETE, METHOD_MEMBERSHIP_POST_COMMIT_INSERT, METHOD_MEMBERSHIP_POST_COMMIT_REMOVE_MEMBER, METHOD_MEMBERSHIP_POST_COMMIT_UPDATE, METHOD_MEMBERSHIP_POST_DELETE, METHOD_MEMBERSHIP_POST_INSERT, METHOD_MEMBERSHIP_POST_REMOVE_MEMBER, METHOD_MEMBERSHIP_POST_UPDATE, METHOD_MEMBERSHIP_PRE_ADD_MEMBER, METHOD_MEMBERSHIP_PRE_DELETE, METHOD_MEMBERSHIP_PRE_INSERT, METHOD_MEMBERSHIP_PRE_REMOVE_MEMBER, METHOD_MEMBERSHIP_PRE_UPDATE
 
Constructor Summary
MembershipOneInFolderMaxHook()
           
 
Method Summary
static void assignMembershipOneInFolderAttributeDefName(Stem stem)
          pass in the stem and assign attribute and clear cache
static void initObjectsOnce(boolean inCheckConfig)
           
static String membershipOneFolderStemName()
          base stem for these attributes (just in hooks folder)
static AttributeDefName membershipOneInFolderAttributeDefName()
           
 void membershipPreAddMember(HooksContext hooksContext, HooksMembershipChangeBean preAddMemberBean)
          called right before a membership update (high level, not the side effects)
 
Methods inherited from class edu.internet2.middleware.grouper.hooks.MembershipHooks
membershipPostAddMember, membershipPostCommitAddMember, membershipPostCommitDelete, membershipPostCommitInsert, membershipPostCommitRemoveMember, membershipPostCommitUpdate, membershipPostDelete, membershipPostInsert, membershipPostRemoveMember, membershipPostUpdate, membershipPreDelete, membershipPreInsert, membershipPreRemoveMember, membershipPreUpdate
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HOOK_VETO_MEMBERSHIP_ONE_IN_FOLDER_CANT_DELETE_MEMBER

public static final String HOOK_VETO_MEMBERSHIP_ONE_IN_FOLDER_CANT_DELETE_MEMBER
See Also:
Constant Field Values

membershipOneFolderExtensionOfAttributeDefName

public static final String membershipOneFolderExtensionOfAttributeDefName
put this attribute on a folder to ensure there is one membership only for any group in folder

See Also:
Constant Field Values
Constructor Detail

MembershipOneInFolderMaxHook

public MembershipOneInFolderMaxHook()
Method Detail

membershipOneFolderStemName

public static String membershipOneFolderStemName()
base stem for these attributes (just in hooks folder)

Returns:
the stem name

initObjectsOnce

public static void initObjectsOnce(boolean inCheckConfig)
Parameters:
inCheckConfig -

membershipPreAddMember

public void membershipPreAddMember(HooksContext hooksContext,
                                   HooksMembershipChangeBean preAddMemberBean)
Description copied from class: MembershipHooks
called right before a membership update (high level, not the side effects)

Overrides:
membershipPreAddMember in class MembershipHooks
See Also:
MembershipHooks.membershipPreAddMember(edu.internet2.middleware.grouper.hooks.beans.HooksContext, edu.internet2.middleware.grouper.hooks.beans.HooksMembershipChangeBean)

membershipOneInFolderAttributeDefName

public static AttributeDefName membershipOneInFolderAttributeDefName()
Returns:
attribute def name for this hook

assignMembershipOneInFolderAttributeDefName

public static void assignMembershipOneInFolderAttributeDefName(Stem stem)
pass in the stem and assign attribute and clear cache

Parameters:
stem -