Subversion Repository Public Repository

litesoft

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
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 );
    }
}

Commits for litesoft/trunk/Java/GWT/OldClient/src/org/litesoft/GWT/eventbus/client/EventSubscriptionCollector.java

Diff revisions: vs.
Revision Author Commited Message
2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000