public class EventDispatcherImpl extends AbstractEventDispatcher
EventDispatcher| Modifier and Type | Field and Description | 
|---|---|
static boolean | 
bDebugMode  | 
static java.lang.String | 
CONSUMER_DEF  | 
static java.lang.String | 
CONSUMER_OBJECT  | 
static java.lang.String | 
DOT_SEP  | 
static java.lang.String | 
EVENT_DEF  | 
static java.lang.String | 
EVENT_OBJECT  | 
protected DCBindingContainer | 
mBndContainer  | 
static java.lang.String | 
PAYLOAD  | 
static java.lang.String | 
PRODUCER_NAME  | 
| Constructor and Description | 
|---|
EventDispatcherImpl(DCBindingContainer container)
constructor 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected void | 
_dbg_afterEvent(EventDefinition eventDef,
               Event eventObject,
               ConsumerDef consumerDef)
For internal debugging purpose only 
 | 
protected void | 
_dbg_beforeEvent(Event eventObject,
                EventDefinition eventDef,
                java.lang.String qualifiedProducerName)
For internal debugging purpose only 
 | 
void | 
addDynamicEventSubscription(java.lang.String containerName)  | 
protected EventNameResolver | 
createNameResolverInstance()
createNameResolverInstance Returns a new DefaultEventNameResolver instance if it doesnt exixts 
 | 
void | 
dispatchEvent(java.util.ArrayList eventsDefsToHandle,
             Event eventObject,
             java.lang.String qualifiedProducerName)
dispatchEvent this method starts dispatching the event to the current bindingcontainer and then to its parent 
 | 
protected void | 
dispatchEventForCurrentContainer(java.util.ArrayList eventsDefsToHandle,
                                Event eventObject,
                                java.lang.String qualifiedProducerName)
dispatchEventForCurrentContainer this method given the event name and producer qualified name retrieves the ProducerDef in the EventMap 
 | 
protected void | 
dispatchEventForSubscription(ProducerDef prodDef,
                            EventDefinition eventDef,
                            Event eventObject)
dispatchEventForSubscription this method calls dispatchEventToConsumer method 
 | 
void | 
dispatchEventForWildCards(java.util.ArrayList eventsDefsToHandle,
                         Event eventObject)  | 
void | 
dispatchEventFromChildContainer(java.util.ArrayList eventsDefsToHandle,
                               Event eventObject,
                               java.lang.String qualifiedProducerName)
dispatchEventFromChildContainer this method dispatches if this container listens to events generated by child containers 
 | 
protected void | 
dispatchEventToChildForWildCards(DCBindingContainer regBnd,
                                java.util.ArrayList eventsDefsToHandle,
                                Event eventObject)  | 
protected void | 
dispatchEventToConsumer(ConsumerDef consumerDef,
                       Event eventObject)
dispatchEventToConsumer() gets the consumer from the qualified name and invokes the event 
 | 
protected void | 
dispatchEventToParent(java.util.ArrayList eventsDefsToHandle,
                     Event eventObject,
                     java.lang.String qualifiedProducerName)  | 
protected ProducerDef | 
findMatchingSubscription(EventMapDef eMap,
                        java.lang.String eventName,
                        java.lang.String producerRefName)  | 
protected void | 
fireEvent(java.util.ArrayList eventDefList,
         Event eventObject)
fireEvent starts propogating the events by constructing the Qualified producer name 
 | 
void | 
fireEvent(EventProducer producer,
         java.lang.Object payLoad)
fireEvent starting point for the events to get propogated 
 | 
void | 
fireEvent(EventProducer producer,
         java.lang.Object payLoad,
         EventDefinition[] eventDefs)
fireEvent starting point for the events to get propogated 
 | 
java.lang.String | 
getBindingContainerDefName()
Deprecated. 
 
Only for internal debug purpose. 
 | 
java.util.List<java.lang.String> | 
getDynamicEventSubscriptionList()  | 
EventNameResolver | 
getEventNameResolver()
getEventNameResolver Returns the EventNameResolver which this EventDispatcherImpl has 
 | 
EventConsumer | 
getRegisteredEventConsumer(java.lang.String consumerName)
getRegisteredEventConsumer used to get any consumer which is registered with EventHandler 
 | 
boolean | 
hasDynamicEventSubscription(java.lang.String name)  | 
protected void | 
invokeEvent(EventConsumer consumer,
           Event eventObject,
           java.util.HashMap consumerParamMap)
invokeEvent passes on the control to the consumer to handle the event. 
 | 
void | 
processContextualEvents()
processContextualEvents used to propagate queued events 
 | 
protected void | 
processContextualEventsToChildContainers(DCBindingContainer regBnd)  | 
void | 
queueEvent(EventProducer producer,
          java.lang.Object payLoad)
queueEvent queues up the event to be invoked 
 | 
void | 
registerEventConsumer(EventConsumer consumer)
registerEventConsumer used to register any consumer with EventHandler 
 | 
BindingContext | 
retrieveBindingContext(DCBindingContainer container)  | 
void | 
setEventNameResolver(EventNameResolver eventNameResolver)
setEventNameResolver sets the EventNameResolver to this EventDispatcherImpl 
 | 
void | 
unRegisterEventConsumer(EventConsumer consumer)
unRegisterEventConsumer used to unregister any consumer with EventHandler 
 | 
public static final java.lang.String DOT_SEP
public static final java.lang.String PAYLOAD
public static final java.lang.String PRODUCER_NAME
public static final java.lang.String EVENT_OBJECT
public static final java.lang.String EVENT_DEF
public static final java.lang.String CONSUMER_DEF
public static final java.lang.String CONSUMER_OBJECT
public static final boolean bDebugMode
protected final DCBindingContainer mBndContainer
public EventDispatcherImpl(DCBindingContainer container)
container - DCBindingContainer@Deprecated public java.lang.String getBindingContainerDefName()
protected EventNameResolver createNameResolverInstance()
public EventNameResolver getEventNameResolver()
public void setEventNameResolver(EventNameResolver eventNameResolver)
eventNameResolver - EventNameResolverpublic void fireEvent(EventProducer producer, java.lang.Object payLoad)
producer - EventProducerpayLoad - Objectpublic void fireEvent(EventProducer producer, java.lang.Object payLoad, EventDefinition[] eventDefs)
producer - EventProducerpayLoad - Object PayloadeventDefs - EventDefinition arrayprotected void fireEvent(java.util.ArrayList eventDefList,
                         Event eventObject)
eventDefList - ArrayListeventObject - Eventpublic void dispatchEvent(java.util.ArrayList eventsDefsToHandle,
                          Event eventObject,
                          java.lang.String qualifiedProducerName)
eventsDefsToHandle - ArrayList list of eventDef's to be handledeventObject - Event ObjectqualifiedProducerName - String has the qualified name of the Producerprotected void dispatchEventToParent(java.util.ArrayList eventsDefsToHandle,
                                     Event eventObject,
                                     java.lang.String qualifiedProducerName)
public void dispatchEventFromChildContainer(java.util.ArrayList eventsDefsToHandle,
                                            Event eventObject,
                                            java.lang.String qualifiedProducerName)
eventsDefsToHandle - ArrayList list of eventDef's to be handledeventObject - Event ObjectqualifiedProducerName - String has the qualified name of the Producerprotected void _dbg_beforeEvent(Event eventObject, EventDefinition eventDef, java.lang.String qualifiedProducerName)
protected void _dbg_afterEvent(EventDefinition eventDef, Event eventObject, ConsumerDef consumerDef)
protected void dispatchEventForCurrentContainer(java.util.ArrayList eventsDefsToHandle,
                                                Event eventObject,
                                                java.lang.String qualifiedProducerName)
eventsDefsToHandle - ArrayList list of eventDef's to be handledeventObject - Event ObjectqualifiedProducerName - String has the qualified name of the Producerpublic void dispatchEventForWildCards(java.util.ArrayList eventsDefsToHandle,
                                      Event eventObject)
dispatchEventForWildCards in interface EventDispatcherdispatchEventForWildCards in class AbstractEventDispatcherprotected void dispatchEventToChildForWildCards(DCBindingContainer regBnd, java.util.ArrayList eventsDefsToHandle, Event eventObject)
protected void dispatchEventForSubscription(ProducerDef prodDef, EventDefinition eventDef, Event eventObject)
prodDef - ProducerDef producer of the eventeventDef - EventDefinition event which is beging producedeventObject - Event Objectprotected void dispatchEventToConsumer(ConsumerDef consumerDef, Event eventObject)
consumerDef - ConsumerDef of this eventeventObject - Event Objectprotected void invokeEvent(EventConsumer consumer, Event eventObject, java.util.HashMap consumerParamMap)
consumerParamMap - HashMap parameters of ConsumerDefprotected ProducerDef findMatchingSubscription(EventMapDef eMap, java.lang.String eventName, java.lang.String producerRefName)
public BindingContext retrieveBindingContext(DCBindingContainer container)
public void registerEventConsumer(EventConsumer consumer)
EventDispatcherconsumer - EventConsumerpublic void unRegisterEventConsumer(EventConsumer consumer)
EventDispatcherconsumer - EventConsumerpublic EventConsumer getRegisteredEventConsumer(java.lang.String consumerName)
EventDispatcherconsumerName - Stringpublic void queueEvent(EventProducer producer, java.lang.Object payLoad)
queueEvent in interface EventDispatcherqueueEvent in class AbstractEventDispatcherproducer - EventProducerpayLoad - Object Payloadpublic void processContextualEvents()
processContextualEvents in interface EventDispatcherprocessContextualEvents in class AbstractEventDispatcherprotected void processContextualEventsToChildContainers(DCBindingContainer regBnd)
public java.util.List<java.lang.String> getDynamicEventSubscriptionList()
getDynamicEventSubscriptionList in interface EventDispatchergetDynamicEventSubscriptionList in class AbstractEventDispatcherpublic void addDynamicEventSubscription(java.lang.String containerName)
addDynamicEventSubscription in interface EventDispatcheraddDynamicEventSubscription in class AbstractEventDispatcherpublic boolean hasDynamicEventSubscription(java.lang.String name)
hasDynamicEventSubscription in interface EventDispatcherhasDynamicEventSubscription in class AbstractEventDispatcher