Package org.apache.batik.dom.events
Class EventSupport
- java.lang.Object
-
- org.apache.batik.dom.events.EventSupport
-
- Direct Known Subclasses:
XBLEventSupport
public class EventSupport extends java.lang.Object
The class allows registration and removal of EventListeners on an NodeEventTarget and dispatch of events to that NodeEventTarget.- See Also:
NodeEventTarget
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.HashMap<java.lang.String,EventListenerList>
bubblingListeners
The bubbling listeners table.protected java.util.HashMap<java.lang.String,EventListenerList>
capturingListeners
The capturing listeners table.protected AbstractNode
node
The node for which events are being handled.
-
Constructor Summary
Constructors Constructor Description EventSupport(AbstractNode n)
Creates a new EventSupport object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEventListener(java.lang.String type, org.w3c.dom.events.EventListener listener, boolean useCapture)
This method allows the registration of event listeners on the event target.void
addEventListenerNS(java.lang.String namespaceURI, java.lang.String type, org.w3c.dom.events.EventListener listener, boolean useCapture, java.lang.Object group)
Registers an event listener for the given namespaced event type in the specified group.protected org.w3c.dom.events.EventException
createEventException(short code, java.lang.String key, java.lang.Object[] args)
Creates an EventException.boolean
dispatchEvent(NodeEventTarget target, org.w3c.dom.events.Event evt)
This method allows the dispatch of events into the implementations event model.protected void
fireEventListeners(NodeEventTarget node, AbstractEvent e, boolean useCapture, java.util.HashSet stoppedGroups, java.util.HashSet toBeStoppedGroups)
Fires the registered listeners on the given event target.protected void
fireEventListeners(NodeEventTarget node, AbstractEvent e, EventListenerList.Entry[] listeners, java.util.HashSet stoppedGroups, java.util.HashSet toBeStoppedGroups)
Fires the given listeners on the given event target.protected NodeEventTarget[]
getAncestors(NodeEventTarget node)
Returns all ancestors of the specified node.EventListenerList
getEventListeners(java.lang.String type, boolean useCapture)
Returns a list event listeners depending on the specified event type and phase.static org.w3c.dom.events.Event
getUltimateOriginalEvent(org.w3c.dom.events.Event evt)
Returns the ultimate original event for the given event.boolean
hasEventListenerNS(java.lang.String namespaceURI, java.lang.String type)
Returns whether this node target has an event listener for the given event namespace URI and type.void
moveEventListeners(EventSupport other)
Moves all of the event listeners from this EventSupport object to the given EventSupport object.protected void
preventDefault(AbstractEvent e, boolean b)
CallsAbstractEvent.preventDefault(boolean)
.void
removeEventListener(java.lang.String type, org.w3c.dom.events.EventListener listener, boolean useCapture)
This method allows the removal of event listeners from the event target.void
removeEventListenerNS(java.lang.String namespaceURI, java.lang.String type, org.w3c.dom.events.EventListener listener, boolean useCapture)
Deregisters an event listener.protected void
runDefaultActions(AbstractEvent e)
Runs all of the registered default actions for the given event object.protected void
setCurrentTarget(AbstractEvent e, NodeEventTarget target)
CallsAbstractEvent.setCurrentTarget(org.w3c.dom.events.EventTarget)
.protected void
setEventPhase(AbstractEvent e, short phase)
CallsAbstractEvent.setEventPhase(short)
.protected void
setTarget(AbstractEvent e, NodeEventTarget target)
CallsAbstractEvent.setTarget(org.w3c.dom.events.EventTarget)
.protected void
stopImmediatePropagation(AbstractEvent e, boolean b)
CallsAbstractEvent.stopImmediatePropagation(boolean)
.protected void
stopPropagation(AbstractEvent e, boolean b)
CallsAbstractEvent.stopPropagation(boolean)
.
-
-
-
Field Detail
-
capturingListeners
protected java.util.HashMap<java.lang.String,EventListenerList> capturingListeners
The capturing listeners table.
-
bubblingListeners
protected java.util.HashMap<java.lang.String,EventListenerList> bubblingListeners
The bubbling listeners table.
-
node
protected AbstractNode node
The node for which events are being handled.
-
-
Constructor Detail
-
EventSupport
public EventSupport(AbstractNode n)
Creates a new EventSupport object.- Parameters:
n
- the node for which events are being handled
-
-
Method Detail
-
addEventListener
public void addEventListener(java.lang.String type, org.w3c.dom.events.EventListener listener, boolean useCapture)
This method allows the registration of event listeners on the event target. If anEventListener
is added to anEventTarget
which is currently processing an event the new listener will not be triggered by the current event.
If multiple identicalEventListener
s are registered on the sameEventTarget
with the same parameters the duplicate instances are discarded. They do not cause theEventListener
to be called twice and since they are discarded they do not need to be removed with theremoveEventListener
method.- Parameters:
type
- The event type for which the user is registeringlistener
- Thelistener
parameter takes an interface implemented by the user which contains the methods to be called when the event occurs.useCapture
- If true,useCapture
indicates that the user wishes to initiate capture. After initiating capture, all events of the specified type will be dispatched to the registeredEventListener
before being dispatched to anyEventTargets
beneath them in the tree. Events which are bubbling upward through the tree will not trigger anEventListener
designated to use capture.
-
addEventListenerNS
public void addEventListenerNS(java.lang.String namespaceURI, java.lang.String type, org.w3c.dom.events.EventListener listener, boolean useCapture, java.lang.Object group)
Registers an event listener for the given namespaced event type in the specified group.
-
removeEventListener
public void removeEventListener(java.lang.String type, org.w3c.dom.events.EventListener listener, boolean useCapture)
This method allows the removal of event listeners from the event target. If anEventListener
is removed from anEventTarget
while 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 anEventListener
is removed from anEventTarget
which is currently processing an event the removed listener will still be triggered by the current event.
CallingremoveEventListener
with arguments which do not identify any currently registeredEventListener
on theEventTarget
has no effect.- Parameters:
type
- Specifies the event type of theEventListener
being removed.listener
- TheEventListener
parameter indicates theEventListener
to be removed.useCapture
- Specifies whether theEventListener
being 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(java.lang.String namespaceURI, java.lang.String type, org.w3c.dom.events.EventListener listener, boolean useCapture)
Deregisters an event listener.
-
moveEventListeners
public void moveEventListeners(EventSupport other)
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
public boolean dispatchEvent(NodeEventTarget target, org.w3c.dom.events.Event evt) throws org.w3c.dom.events.EventException
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 theEventTarget
on whichdispatchEvent
is 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
dispatchEvent
indicates whether any of the listeners which handled the event calledpreventDefault
. IfpreventDefault
was called the value is false, else the value is true. - Throws:
org.w3c.dom.events.EventException
- UNSPECIFIED_EVENT_TYPE_ERR: Raised if theEvent
's type was not specified by initializing the event beforedispatchEvent
was called. Specification of theEvent
's type asnull
or an empty string will also trigger this exception.
-
runDefaultActions
protected void runDefaultActions(AbstractEvent e)
Runs all of the registered default actions for the given event object.
-
fireEventListeners
protected void fireEventListeners(NodeEventTarget node, AbstractEvent e, EventListenerList.Entry[] listeners, java.util.HashSet stoppedGroups, java.util.HashSet toBeStoppedGroups)
Fires the given listeners on the given event target.
-
fireEventListeners
protected void fireEventListeners(NodeEventTarget node, AbstractEvent e, boolean useCapture, java.util.HashSet stoppedGroups, java.util.HashSet toBeStoppedGroups)
Fires the registered listeners on the given event target.
-
getAncestors
protected NodeEventTarget[] getAncestors(NodeEventTarget node)
Returns all ancestors of the specified node.
-
hasEventListenerNS
public boolean hasEventListenerNS(java.lang.String namespaceURI, java.lang.String type)
Returns whether this node target has an event listener for the given event namespace URI and type.
-
getEventListeners
public EventListenerList getEventListeners(java.lang.String type, boolean useCapture)
Returns a list event listeners depending on the specified event type and phase.- Parameters:
type
- the event typeuseCapture
-
-
createEventException
protected org.w3c.dom.events.EventException createEventException(short code, java.lang.String key, java.lang.Object[] args)
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
protected void setTarget(AbstractEvent e, NodeEventTarget target)
CallsAbstractEvent.setTarget(org.w3c.dom.events.EventTarget)
.
-
stopPropagation
protected void stopPropagation(AbstractEvent e, boolean b)
CallsAbstractEvent.stopPropagation(boolean)
.
-
stopImmediatePropagation
protected void stopImmediatePropagation(AbstractEvent e, boolean b)
CallsAbstractEvent.stopImmediatePropagation(boolean)
.
-
preventDefault
protected void preventDefault(AbstractEvent e, boolean b)
CallsAbstractEvent.preventDefault(boolean)
.
-
setCurrentTarget
protected void setCurrentTarget(AbstractEvent e, NodeEventTarget target)
CallsAbstractEvent.setCurrentTarget(org.w3c.dom.events.EventTarget)
.
-
setEventPhase
protected void setEventPhase(AbstractEvent e, short phase)
CallsAbstractEvent.setEventPhase(short)
.
-
getUltimateOriginalEvent
public static org.w3c.dom.events.Event getUltimateOriginalEvent(org.w3c.dom.events.Event evt)
Returns the ultimate original event for the given event.
-
-