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