Class EventSupport
java.lang.Object
org.apache.batik.dom.events.EventSupport
- Direct Known Subclasses:
XBLEventSupport
The class allows registration and removal of EventListeners on
an NodeEventTarget and dispatch of events to that NodeEventTarget.
- Version:
- $Id$
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected HashMap<String, EventListenerList> The bubbling listeners table.protected HashMap<String, EventListenerList> The capturing listeners table.protected AbstractNodeThe node for which events are being handled. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddEventListener(String type, EventListener listener, boolean useCapture) This method allows the registration of event listeners on the event target.voidaddEventListenerNS(String namespaceURI, String type, EventListener listener, boolean useCapture, Object group) Registers an event listener for the given namespaced event type in the specified group.protected EventExceptioncreateEventException(short code, String key, Object[] args) Creates an EventException.booleandispatchEvent(NodeEventTarget target, Event evt) This method allows the dispatch of events into the implementations event model.protected voidfireEventListeners(NodeEventTarget node, AbstractEvent e, boolean useCapture, HashSet stoppedGroups, HashSet toBeStoppedGroups) Fires the registered listeners on the given event target.protected voidfireEventListeners(NodeEventTarget node, AbstractEvent e, EventListenerList.Entry[] listeners, HashSet stoppedGroups, HashSet toBeStoppedGroups) Fires the given listeners on the given event target.protected NodeEventTarget[]getAncestors(NodeEventTarget node) Returns all ancestors of the specified node.getEventListeners(String type, boolean useCapture) Returns a list event listeners depending on the specified event type and phase.static EventReturns the ultimate original event for the given event.booleanhasEventListenerNS(String namespaceURI, String type) Returns whether this node target has an event listener for the given event namespace URI and type.voidmoveEventListeners(EventSupport other) Moves all of the event listeners from this EventSupport object to the given EventSupport object.protected voidpreventDefault(AbstractEvent e, boolean b) voidremoveEventListener(String type, EventListener listener, boolean useCapture) This method allows the removal of event listeners from the event target.voidremoveEventListenerNS(String namespaceURI, String type, EventListener listener, boolean useCapture) Deregisters an event listener.protected voidRuns all of the registered default actions for the given event object.protected voidsetCurrentTarget(AbstractEvent e, NodeEventTarget target) protected voidsetEventPhase(AbstractEvent e, short phase) protected voidsetTarget(AbstractEvent e, NodeEventTarget target) protected voidstopImmediatePropagation(AbstractEvent e, boolean b) protected voidstopPropagation(AbstractEvent e, boolean b)
-
Field Details
-
capturingListeners
The capturing listeners table. -
bubblingListeners
The bubbling listeners table. -
node
The node for which events are being handled.
-
-
Constructor Details
-
EventSupport
Creates a new EventSupport object.- Parameters:
n- the node for which events are being handled
-
-
Method Details
-
addEventListener
This method allows the registration of event listeners on the event target. If anEventListeneris added to anEventTargetwhich is currently processing an event the new listener will not be triggered by the current event.
If multiple identicalEventListeners are registered on the sameEventTargetwith the same parameters the duplicate instances are discarded. They do not cause theEventListenerto be called twice and since they are discarded they do not need to be removed with theremoveEventListenermethod.- Parameters:
type- The event type for which the user is registeringlistener- Thelistenerparameter takes an interface implemented by the user which contains the methods to be called when the event occurs.useCapture- If true,useCaptureindicates that the user wishes to initiate capture. After initiating capture, all events of the specified type will be dispatched to the registeredEventListenerbefore being dispatched to anyEventTargetsbeneath them in the tree. Events which are bubbling upward through the tree will not trigger anEventListenerdesignated to use capture.
-
addEventListenerNS
public void addEventListenerNS(String namespaceURI, String type, EventListener listener, boolean useCapture, Object group) Registers an event listener for the given namespaced event type in the specified group. -
removeEventListener
This method allows the removal of event listeners from the event target. If anEventListeneris removed from anEventTargetwhile it is processing an event, it will complete its current actions but will not be triggered again during any later stages of event flow.
If anEventListeneris removed from anEventTargetwhich is currently processing an event the removed listener will still be triggered by the current event.
CallingremoveEventListenerwith arguments which do not identify any currently registeredEventListeneron theEventTargethas no effect.- Parameters:
type- Specifies the event type of theEventListenerbeing removed.listener- TheEventListenerparameter indicates theEventListenerto be removed.useCapture- Specifies whether theEventListenerbeing removed was registered as a capturing listener or not. If a listener was registered twice, one with capture and one without, each must be removed separately. Removal of a capturing listener does not affect a non-capturing version of the same listener, and vice versa.
-
removeEventListenerNS
public void removeEventListenerNS(String namespaceURI, String type, EventListener listener, boolean useCapture) Deregisters an event listener. -
moveEventListeners
Moves all of the event listeners from this EventSupport object to the given EventSupport object. Used byAbstractDocument.renameNode(org.w3c.dom.Node,String,String). -
dispatchEvent
This method allows the dispatch of events into the implementations event model. Events dispatched in this manner will have the same capturing and bubbling behavior as events dispatched directly by the implementation. The target of the event is theEventTargeton whichdispatchEventis called.- Parameters:
target- the target nodeevt- Specifies the event type, behavior, and contextual information to be used in processing the event.- Returns:
- The return value of
dispatchEventindicates whether any of the listeners which handled the event calledpreventDefault. IfpreventDefaultwas called the value is false, else the value is true. - Throws:
EventException- UNSPECIFIED_EVENT_TYPE_ERR: Raised if theEvent's type was not specified by initializing the event beforedispatchEventwas called. Specification of theEvent's type asnullor an empty string will also trigger this exception.
-
runDefaultActions
Runs all of the registered default actions for the given event object. -
fireEventListeners
protected void fireEventListeners(NodeEventTarget node, AbstractEvent e, EventListenerList.Entry[] listeners, HashSet stoppedGroups, HashSet toBeStoppedGroups) Fires the given listeners on the given event target. -
fireEventListeners
protected void fireEventListeners(NodeEventTarget node, AbstractEvent e, boolean useCapture, HashSet stoppedGroups, HashSet toBeStoppedGroups) Fires the registered listeners on the given event target. -
getAncestors
Returns all ancestors of the specified node. -
hasEventListenerNS
-
getEventListeners
Returns a list event listeners depending on the specified event type and phase.- Parameters:
type- the event typeuseCapture-
-
createEventException
Creates an EventException. Overrides this method if you need to create your own RangeException subclass.- Parameters:
code- the exception codekey- the resource keyargs- arguments to use when formatting the message
-
setTarget
-
stopPropagation
-
stopImmediatePropagation
-
preventDefault
-
setCurrentTarget
-
setEventPhase
-
getUltimateOriginalEvent
-