eXo JCR :: Ext :: Services 1.15.14-CP01

org.exoplatform.services.jcr.ext.organization
Class MembershipHandlerImpl

java.lang.Object
  extended by org.exoplatform.services.jcr.ext.organization.JCROrgServiceHandler
      extended by org.exoplatform.services.jcr.ext.organization.MembershipHandlerImpl
All Implemented Interfaces:
org.exoplatform.services.organization.MembershipEventListenerHandler, org.exoplatform.services.organization.MembershipHandler

public class MembershipHandlerImpl
extends JCROrgServiceHandler
implements org.exoplatform.services.organization.MembershipHandler, org.exoplatform.services.organization.MembershipEventListenerHandler

The most important thing is how memberships are stored in JCR. Once developer invokes one of createMembership(Membership, boolean) or linkMembership(User, Group, MembershipType, boolean) methods the membership will be represented in JCR through several nodes and properties. Every group node has mandatory JCROrganizationServiceImpl.JOS_MEMBERSHIP node to where adding the node with user name and reference property pointed to user node. Than new node with name of membership type with reference property is added to this node the same way and is pointed to membership type node. This adds the ability to manage finding memberships by different filters in the most simple way possible.
Created by The eXo Platform SAS. NOTE: Check if nodetypes and/or existing interfaces of API don't relate one to other. Date: 24.07.2008

Version:
$Id: MembershipHandlerImpl.java 79575 2012-02-17 13:23:37Z aplotnikov $
Author:
Peter Nedonosko

Nested Class Summary
static class MembershipHandlerImpl.MembershipProperties
          Merely contains membership related properties.
 
Field Summary
protected  List<org.exoplatform.services.organization.MembershipEventListener> listeners
          The list of listeners to broadcast the events.
 
Fields inherited from class org.exoplatform.services.jcr.ext.organization.JCROrgServiceHandler
cache, groupHandler, LOG, membershipHandler, service, typeHandler, userHandler, userProfileHandler, utils
 
Method Summary
 void addMembershipEventListener(org.exoplatform.services.organization.MembershipEventListener listener)
          
 void createMembership(org.exoplatform.services.organization.Membership m, boolean broadcast)
          
 org.exoplatform.services.organization.Membership createMembershipInstance()
          
 org.exoplatform.commons.utils.ListAccess<org.exoplatform.services.organization.Membership> findAllMembershipsByGroup(org.exoplatform.services.organization.Group group)
          
 org.exoplatform.services.organization.Membership findMembership(String id)
          
 org.exoplatform.services.organization.Membership findMembershipByUserGroupAndType(String userName, String groupId, String type)
          
 Collection findMembershipsByGroup(org.exoplatform.services.organization.Group group)
          
 Collection findMembershipsByUser(String userName)
          
 Collection findMembershipsByUserAndGroup(String userName, String groupId)
          
 List<org.exoplatform.services.organization.MembershipEventListener> getMembershipListeners()
          
 void linkMembership(org.exoplatform.services.organization.User user, org.exoplatform.services.organization.Group group, org.exoplatform.services.organization.MembershipType m, boolean broadcast)
          
 org.exoplatform.services.organization.Membership removeMembership(String id, boolean broadcast)
          
 Collection removeMembershipByUser(String userName, boolean broadcast)
          
 void removeMembershipEventListener(org.exoplatform.services.organization.MembershipEventListener listener)
          Remove registered listener.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listeners

protected final List<org.exoplatform.services.organization.MembershipEventListener> listeners
The list of listeners to broadcast the events.

Method Detail

createMembership

public void createMembership(org.exoplatform.services.organization.Membership m,
                             boolean broadcast)
                      throws Exception

Specified by:
createMembership in interface org.exoplatform.services.organization.MembershipHandler
Throws:
Exception

createMembershipInstance

public org.exoplatform.services.organization.Membership createMembershipInstance()

Specified by:
createMembershipInstance in interface org.exoplatform.services.organization.MembershipHandler

findMembership

public org.exoplatform.services.organization.Membership findMembership(String id)
                                                                throws Exception

Specified by:
findMembership in interface org.exoplatform.services.organization.MembershipHandler
Throws:
Exception

findMembershipByUserGroupAndType

public org.exoplatform.services.organization.Membership findMembershipByUserGroupAndType(String userName,
                                                                                         String groupId,
                                                                                         String type)
                                                                                  throws Exception

Specified by:
findMembershipByUserGroupAndType in interface org.exoplatform.services.organization.MembershipHandler
Throws:
Exception

findMembershipsByGroup

public Collection findMembershipsByGroup(org.exoplatform.services.organization.Group group)
                                  throws Exception

Specified by:
findMembershipsByGroup in interface org.exoplatform.services.organization.MembershipHandler
Throws:
Exception

findAllMembershipsByGroup

public org.exoplatform.commons.utils.ListAccess<org.exoplatform.services.organization.Membership> findAllMembershipsByGroup(org.exoplatform.services.organization.Group group)
                                                                                                                     throws Exception

Specified by:
findAllMembershipsByGroup in interface org.exoplatform.services.organization.MembershipHandler
Throws:
Exception

findMembershipsByUser

public Collection findMembershipsByUser(String userName)
                                 throws Exception

Specified by:
findMembershipsByUser in interface org.exoplatform.services.organization.MembershipHandler
Throws:
Exception

findMembershipsByUserAndGroup

public Collection findMembershipsByUserAndGroup(String userName,
                                                String groupId)
                                         throws Exception

Specified by:
findMembershipsByUserAndGroup in interface org.exoplatform.services.organization.MembershipHandler
Throws:
Exception

linkMembership

public void linkMembership(org.exoplatform.services.organization.User user,
                           org.exoplatform.services.organization.Group group,
                           org.exoplatform.services.organization.MembershipType m,
                           boolean broadcast)
                    throws Exception

Specified by:
linkMembership in interface org.exoplatform.services.organization.MembershipHandler
Throws:
Exception

removeMembership

public org.exoplatform.services.organization.Membership removeMembership(String id,
                                                                         boolean broadcast)
                                                                  throws Exception

Specified by:
removeMembership in interface org.exoplatform.services.organization.MembershipHandler
Throws:
Exception

removeMembershipByUser

public Collection removeMembershipByUser(String userName,
                                         boolean broadcast)
                                  throws Exception

Specified by:
removeMembershipByUser in interface org.exoplatform.services.organization.MembershipHandler
Throws:
Exception

removeMembershipEventListener

public void removeMembershipEventListener(org.exoplatform.services.organization.MembershipEventListener listener)
Remove registered listener.

Specified by:
removeMembershipEventListener in interface org.exoplatform.services.organization.MembershipHandler
Parameters:
listener - The registered listener

addMembershipEventListener

public void addMembershipEventListener(org.exoplatform.services.organization.MembershipEventListener listener)

Specified by:
addMembershipEventListener in interface org.exoplatform.services.organization.MembershipHandler

getMembershipListeners

public List<org.exoplatform.services.organization.MembershipEventListener> getMembershipListeners()

Specified by:
getMembershipListeners in interface org.exoplatform.services.organization.MembershipEventListenerHandler

eXo JCR :: Ext :: Services 1.15.14-CP01

Copyright © 2015 eXo Platform SAS. All Rights Reserved.