Class XBLEventSupport

java.lang.Object
org.apache.batik.dom.events.EventSupport
org.apache.batik.anim.dom.XBLEventSupport

public class XBLEventSupport extends EventSupport
An EventSupport class that handles XBL-specific event processing.
  • Field Details

    • capturingImplementationListeners

      protected HashMap<String,EventListenerList> capturingImplementationListeners
      The unstoppable capturing listeners table.
    • bubblingImplementationListeners

      protected HashMap<String,EventListenerList> bubblingImplementationListeners
      The unstoppable bubbling listeners table.
    • eventTypeAliases

      protected static HashMap<String,String> eventTypeAliases
      Map of event types to their aliases.
  • Constructor Details

    • XBLEventSupport

      public XBLEventSupport(AbstractNode n)
      Creates a new XBLEventSupport object.
  • Method Details

    • 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.
      Overrides:
      addEventListenerNS in class EventSupport
    • removeEventListenerNS

      public void removeEventListenerNS(String namespaceURI, String type, EventListener listener, boolean useCapture)
      Deregisters an event listener.
      Overrides:
      removeEventListenerNS in class EventSupport
    • addImplementationEventListenerNS

      public void addImplementationEventListenerNS(String namespaceURI, String type, EventListener listener, boolean useCapture)
      Registers an event listener that will not be stopped by the usual XBL stopping.
    • removeImplementationEventListenerNS

      public void removeImplementationEventListenerNS(String namespaceURI, String type, EventListener listener, boolean useCapture)
      Unregisters an implementation 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).
      Overrides:
      moveEventListeners in class EventSupport
    • 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.
      Overrides:
      dispatchEvent in class EventSupport
      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.
    • fireHandlerGroupEventListeners

      protected void fireHandlerGroupEventListeners(NodeEventTarget node, AbstractEvent e, boolean useCapture, HashSet stoppedGroups, HashSet toBeStoppedGroups)
      Fires the event handlers registered on an XBL 'handlerGroup' element.
    • isSingleScopeEvent

      protected boolean isSingleScopeEvent(Event evt)
      Returns whether the given event should be stopped once it crosses a shadow scope boundary.
    • getRetargettedEvents

      protected AbstractEvent[] getRetargettedEvents(NodeEventTarget target, NodeEventTarget[] ancestors, AbstractEvent e)
      Returns an array of Event objects to be used for each event target in the event flow. The Event objects are retargetted if an sXBL shadow scope is crossed and the event is not a DOM mutation event.
    • retargetEvent

      protected AbstractEvent retargetEvent(AbstractEvent e, NodeEventTarget target)
      Clones and retargets the given event.
    • getImplementationEventListeners

      public EventListenerList getImplementationEventListeners(String type, boolean useCapture)
      Returns the implementation listneers.
    • fireImplementationEventListeners

      protected void fireImplementationEventListeners(NodeEventTarget node, AbstractEvent e, boolean useCapture)
      Fires the registered implementation listeners on the given event target.