## 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
`protected HashTable` `bubblingListeners` The bubbling listeners table.
`protected HashTable` `capturingListeners` The capturing listeners table.
`protected AbstractNode` `node` The node for which events are being handled.

Constructor Summary
`EventSupport(AbstractNode n)` Creates a new EventSupport object.

Method Summary
`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)` Calls `AbstractEvent.preventDefault(boolean)`.
`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)` Calls `AbstractEvent.setCurrentTarget(org.w3c.dom.events.EventTarget)`.
`protected void` `setEventPhase(AbstractEvent e, short phase)` Calls `AbstractEvent.setEventPhase(short)`.
`protected void` `setTarget(AbstractEvent e, NodeEventTarget target)` Calls `AbstractEvent.setTarget(org.w3c.dom.events.EventTarget)`.
`protected void` `stopImmediatePropagation(AbstractEvent e, boolean b)` Calls `AbstractEvent.stopImmediatePropagation(boolean)`.
`protected void` `stopPropagation(AbstractEvent e, boolean b)` Calls `AbstractEvent.stopPropagation(boolean)`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### capturingListeners

    protected HashTable capturingListeners

  The capturing listeners table.

### bubblingListeners

    protected HashTable 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,
                                 EventListener listener,
                                 boolean useCapture)

  This method allows the registration of event listeners on the event target. If an `EventListener` is added to an `EventTarget` which is currently processing an event the new listener will not be triggered by the current event.
  If multiple identical `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.

  Parameters:
    `type` - The event type for which the user is registering
    `listener` - 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.

### addEventListenerNS

    public 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.

### removeEventListener

    public void removeEventListener(java.lang.String type,
                                    EventListener listener,
                                    boolean useCapture)

  This method allows the removal of event listeners from the event target. If an `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.
  If an `EventListener` is removed from an `EventTarget` which is currently processing an event the removed listener will still be triggered by the current event.
  Calling `removeEventListener` with arguments which do not identify any currently registered `EventListener` on the `EventTarget` has no effect.

  Parameters:
    `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.

### removeEventListenerNS

    public void removeEventListenerNS(java.lang.String namespaceURI,
                                      java.lang.String type,
                                      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 by `AbstractDocument.renameNode(Node,String,String)`.

### dispatchEvent

    public boolean dispatchEvent(NodeEventTarget target,
                                 Event evt)
                          throws 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 the `EventTarget` on which `dispatchEvent` is called.

  Parameters:
    `target` - the target node
    `evt` - 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 called `preventDefault`. If `preventDefault` was called the value is false, else the value is true.
  Throws:
    `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.

### 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 type
    `useCapture` -

### createEventException

    protected 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 code
    `key` - the resource key
    `args` - arguments to use when formatting the message

### setTarget

    protected void setTarget(AbstractEvent e,
                             NodeEventTarget target)

  Calls `AbstractEvent.setTarget(org.w3c.dom.events.EventTarget)`.

### stopPropagation

    protected void stopPropagation(AbstractEvent e,
                                   boolean b)

  Calls `AbstractEvent.stopPropagation(boolean)`.

### stopImmediatePropagation

    protected void stopImmediatePropagation(AbstractEvent e,
                                            boolean b)

  Calls `AbstractEvent.stopImmediatePropagation(boolean)`.

### preventDefault

    protected void preventDefault(AbstractEvent e,
                                  boolean b)

  Calls `AbstractEvent.preventDefault(boolean)`.

### setCurrentTarget

    protected void setCurrentTarget(AbstractEvent e,
                                    NodeEventTarget target)

  Calls `AbstractEvent.setCurrentTarget(org.w3c.dom.events.EventTarget)`.

### setEventPhase

    protected void setEventPhase(AbstractEvent e,
                                 short phase)

  Calls `AbstractEvent.setEventPhase(short)`.

### getUltimateOriginalEvent

    public static Event getUltimateOriginalEvent(Event evt)

  Returns the ultimate original event for the given event.

Copyright © 2008 Apache Software Foundation. All Rights Reserved.