litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.eventbus.client; import java.util.*; public class EventSubscriptionCollector { /** * Add a handler to be triggered for the events of the given name. * * @param pEventName - nonNull * @param pListener - nonNull */ public final EventSubscriptionCollector subscribe( String pEventName, EventPackageListener pListener ) { LLsubscribe( new EventSimpleSubscriptionStructure( pEventName, pListener ) ); return this; } /** * Add a handler to be triggered for the events of the given name from pSubscriber. * * @param pSubscriber - null ignored */ public final EventSubscriptionCollector subscribe( EventPackageSubscriber pSubscriber ) { if ( pSubscriber != null ) { LLsubscribe( new EventSubscriberStructure( pSubscriber ) ); } return this; } /** * Add a handler to be triggered for the events of the given name from pStructure. * * @param pStructure - null ignored */ public final EventSubscriptionCollector subscribe( EventSubscriptionStructure pStructure ) { if ( pStructure != null ) { LLsubscribe( pStructure ); } return this; } /** * Add handlers to be triggered for the events of the given name from the pStructures. * * @param pStructures - null/ ignored */ public final synchronized EventSubscriptionCollector subscribe( EventSubscriptionStructure[] pStructures ) { if ( pStructures != null ) { for ( int i = 0; i < pStructures.length; i++ ) { subscribe( pStructures[i] ); } } return this; } /** * @return !null, and no nulls in array */ public final synchronized EventSubscriptionStructure[] getSubscriptions() { if ( mSubscriptions.isEmpty() ) { return EventSubscriptionStructure.EMPTY_ARRAY; } EventSubscriptionStructure[] rv = new EventSubscriptionStructure[mSubscriptions.size()]; for ( int i = 0; i < mSubscriptions.size(); i++ ) { rv[i] = mSubscriptions.get( i ); } return rv; } private List<EventSubscriptionStructure> mSubscriptions = new ArrayList<EventSubscriptionStructure>(); private synchronized void LLsubscribe( EventSubscriptionStructure pSubscription ) { mSubscriptions.add( pSubscription ); } } |