public class EventSupport
extends java.lang.Object
NodeEventTarget
Modifier and Type | Field and 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 and Description |
---|
EventSupport(AbstractNode n)
Creates a new EventSupport object.
|
Modifier and Type | Method and Description |
---|---|
void |
addEventListener(java.lang.String type,
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,
EventListener listener,
boolean useCapture,
java.lang.Object group)
Registers an event listener for the given namespaced event type
in the specified group.
|
protected EventException |
createEventException(short code,
java.lang.String key,
java.lang.Object[] args)
Creates an EventException.
|
boolean |
dispatchEvent(NodeEventTarget target,
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 Event |
getUltimateOriginalEvent(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)
|
void |
removeEventListener(java.lang.String type,
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,
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)
|
protected void |
setEventPhase(AbstractEvent e,
short phase)
|
protected void |
setTarget(AbstractEvent e,
NodeEventTarget target)
|
protected void |
stopImmediatePropagation(AbstractEvent e,
boolean b)
|
protected void |
stopPropagation(AbstractEvent e,
boolean b)
|
protected java.util.HashMap<java.lang.String,EventListenerList> capturingListeners
protected java.util.HashMap<java.lang.String,EventListenerList> bubblingListeners
protected AbstractNode node
public EventSupport(AbstractNode n)
n
- the node for which events are being handledpublic void addEventListener(java.lang.String type, EventListener listener, boolean useCapture)
EventListener
is added to an
EventTarget
which is currently processing an event
the new listener will not be triggered by the current event.
EventListener
s are
registered on the same EventTarget
with the same
parameters the duplicate instances are discarded. They do not
cause the EventListener
to be called twice and
since they are discarded they do not need to be removed with
the removeEventListener
method.type
- The event type for which the user is registeringlistener
- The listener
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 registered EventListener
before being
dispatched to any EventTargets
beneath them in the
tree. Events which are bubbling upward through the tree will
not trigger an EventListener
designated to use
capture.public void addEventListenerNS(java.lang.String namespaceURI, java.lang.String type, EventListener listener, boolean useCapture, java.lang.Object group)
public void removeEventListener(java.lang.String type, EventListener listener, boolean useCapture)
EventListener
is removed from
an EventTarget
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. EventListener
is removed from an
EventTarget
which is currently processing an event
the removed listener will still be triggered by the current
event. removeEventListener
with
arguments which do not identify any currently registered
EventListener
on the EventTarget
has
no effect.type
- Specifies the event type of the
EventListener
being removed.listener
- The EventListener
parameter
indicates the EventListener
to be removed.useCapture
- Specifies whether the
EventListener
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.public void removeEventListenerNS(java.lang.String namespaceURI, java.lang.String type, EventListener listener, boolean useCapture)
public void moveEventListeners(EventSupport other)
AbstractDocument.renameNode(org.w3c.dom.Node,String,String)
.public boolean dispatchEvent(NodeEventTarget target, Event evt) throws EventException
EventTarget
on which
dispatchEvent
is called.target
- the target nodeevt
- Specifies the event type, behavior, and contextual
information to be used in processing the event.dispatchEvent
indicates whether any of the listeners which handled the event
called preventDefault
. If
preventDefault
was called the value is false, else
the value is true.EventException
- UNSPECIFIED_EVENT_TYPE_ERR: Raised if the
Event
's type was not specified by initializing
the event before dispatchEvent
was
called. Specification of the Event
's type as
null
or an empty string will also trigger this
exception.protected void runDefaultActions(AbstractEvent e)
protected void fireEventListeners(NodeEventTarget node, AbstractEvent e, EventListenerList.Entry[] listeners, java.util.HashSet stoppedGroups, java.util.HashSet toBeStoppedGroups)
protected void fireEventListeners(NodeEventTarget node, AbstractEvent e, boolean useCapture, java.util.HashSet stoppedGroups, java.util.HashSet toBeStoppedGroups)
protected NodeEventTarget[] getAncestors(NodeEventTarget node)
public boolean hasEventListenerNS(java.lang.String namespaceURI, java.lang.String type)
public EventListenerList getEventListeners(java.lang.String type, boolean useCapture)
type
- the event typeuseCapture
- protected EventException createEventException(short code, java.lang.String key, java.lang.Object[] args)
code
- the exception codekey
- the resource keyargs
- arguments to use when formatting the messageprotected void setTarget(AbstractEvent e, NodeEventTarget target)
protected void stopPropagation(AbstractEvent e, boolean b)
protected void stopImmediatePropagation(AbstractEvent e, boolean b)
protected void preventDefault(AbstractEvent e, boolean b)
protected void setCurrentTarget(AbstractEvent e, NodeEventTarget target)
protected void setEventPhase(AbstractEvent e, short phase)
Copyright © 2022 Apache Software Foundation. All Rights Reserved.