Class AbstractEventSignal

java.lang.Object
eu.webtoolkit.jwt.AbstractSignal
eu.webtoolkit.jwt.AbstractEventSignal
Direct Known Subclasses:
AbstractJSignal, EventSignal, EventSignal1

public abstract class AbstractEventSignal extends AbstractSignal
Abstract base class for event signals.

Event signals are signals that may be triggered from the browser. Listeners that are added to this signal may be implemented in Java only or in JavaScript only or have both Java and JavaScript implementations.

  • Method Details

    • addListener

      public void addListener(WObject listenerOwner, AbstractEventSignal.LearningListener listener)
      Adds a learning listener to this signal.

      An owner object may be passed when the listener is implemented using an anonymous inner class. In that case the owner object should be the enclosing object of the listener object, and this is used to bind the lifetime of the listener: when the owner object is garbage collected, the listener will be freed as well. This avoids the most common reason for memory leaks in Java implementations of the Observer pattern: the owner object will not get garbage collected because of the (anonymous) listener object having a reference to it, even if the receiver object is no longer referenced from anywhere. When the owner object is not null, the listener is stored using a strong reference in the owner object, and using a weak reference in the signal. Note: The receiver is currently not yet used.

      Parameters:
      listenerOwner - if not null, the enclosing object for an anonymous listener
      listener - the listener
    • addListener

      public void addListener(WObject listenerOwner, AbstractEventSignal.AutoLearnListener listener)
      Adds a learning listener to this signal.

      See Also:
    • addListener

      public void addListener(WObject listenerOwner, AbstractEventSignal.PreLearnListener listener)
      Adds a learning listener to this signal.

      See Also:
    • addListener

      public void addListener(WObject listenerOwner, AbstractEventSignal.JavaScriptListener listener)
      Adds a learning listener to this signal.

      See Also:
    • removeListener

      public void removeListener(AbstractEventSignal.LearningListener listener)
      Remove a learning listener from this signal.
      Parameters:
      listener - a learning listener that was previously added
    • removeListener

      public void removeListener(JSlot listener)
      Remove a JavaScript listener from this signal.
      Parameters:
      listener - a learning listener that was previously added
    • getListenerCount

      protected int getListenerCount()
      Description copied from class: AbstractSignal
      Returns the number of connected listeners.
      Overrides:
      getListenerCount in class AbstractSignal
      Returns:
      the number of connected listeners.
    • isCanAutoLearn

      public boolean isCanAutoLearn()
    • isConnected

      public boolean isConnected()
      Description copied from class: AbstractSignal
      Returns whether at least one event listener has been connected to this signal.
      Overrides:
      isConnected in class AbstractSignal
      Returns:
      whether at least one event listener has been connected to this signal.
    • isPropagationPrevented

      public boolean isPropagationPrevented()
      Returns whether the default action is prevented.
      Returns:
      whether the default action is prevented.
      See Also:
    • isDefaultActionPrevented

      public boolean isDefaultActionPrevented()
      Returns whether propagation of the event is prevented.
      Returns:
      whether the default action is prevented.
      See Also:
    • addListener

      public void addListener(JSlot slot)
      Adds a JavaScript event listener.
      Parameters:
      slot - the JavaScript event listener
    • addListener

      public void addListener(String javascript)
      Adds a JavaScript event listener. This adds a listener that is implemented solely as a client-side JavaScript function. The argument is a JavaScript function which optionally accepts a DOM element and the event:
         function(element, event)
         {
            ...
         }
       
      Parameters:
      javascript - the JavaScript function.
    • preventDefaultAction

      public void preventDefaultAction(boolean prevent)
      Prevents the default action associated with this event.

      This prevents the default browser action associated with this event.

      Parameters:
      prevent - whether the default action should be prevented.
    • preventDefaultAction

      public void preventDefaultAction()
      Prevents the default action associated with this event.

      This prevents the default browser action associated with this event.

    • preventPropagation

      public void preventPropagation(boolean prevent)
      Prevents the default action associated with this event.

      This prevents the event propagation to ancestors.

      Parameters:
      prevent - whether the default action should be prevented.
    • preventPropagation

      public final void preventPropagation()
      Prevents the default action associated with this event.

      This prevents both the default browser action associated with this event as well as the event bubbling up or cascading its hierarchy.

    • disconnect

      public void disconnect(AbstractSignal.Connection connection)
    • createUserEventCall

      protected String createUserEventCall(String jsObject, String jsEvent, String name, String arg1, String arg2, String arg3, String arg4, String arg5, String arg6)