Class SelectObservableValue<T>

Type Parameters:
T - the type of value being observed
All Implemented Interfaces:
IObservable, IObservableValue<T>

public class SelectObservableValue<T> extends AbstractObservableValue<T>
An observable value which behaves similarly to the <select> and <option> HTML tags. A SelectObservableValue has a number of options added to it via the addOption(Object, IObservableValue) method. The value of the SelectObservableValue is the value of whichever option's observable has a value of Boolean.TRUE, or null if none of the observable's values are Boolean.TRUE.
Since:
1.2
Restriction:
This class is not intended to be subclassed by clients.
  • Constructor Details

    • SelectObservableValue

      public SelectObservableValue()
      Constructs a SelectObservableValue on the default realm.
    • SelectObservableValue

      public SelectObservableValue(Realm realm)
      Constructs a SelectObservableValue on the specified realm.
      Parameters:
      realm - the realm
    • SelectObservableValue

      public SelectObservableValue(Object valueType)
      Constructs a SelectObservableValue on the default realm, with the given value type.
      Parameters:
      valueType - the value type
    • SelectObservableValue

      public SelectObservableValue(Realm realm, Object valueType)
      Constructs a SelectObservableValue on the given realm, with the given value type.
      Parameters:
      realm - the realm
      valueType - the value type
  • Method Details

    • firstListenerAdded

      protected void firstListenerAdded()
    • lastListenerRemoved

      protected void lastListenerRemoved()
    • getValueType

      public Object getValueType()
      Description copied from interface: IObservableValue
      The value type of this observable value, or null if this observable value is untyped.
      Returns:
      the value type, or null
    • addOption

      public void addOption(T value, IObservableValue<Boolean> observable)
      Adds an option to this SelectObservableValue. If the observable contains Boolean.TRUE then the selection changes immediately to the given value.
      Parameters:
      value - The value associated with the provided observable
      observable - an observable of value type Boolean.class or Boolean.TYPE
    • doGetValue

      protected T doGetValue()
      Specified by:
      doGetValue in class AbstractObservableValue<T>
    • doSetValue

      protected void doSetValue(Object value)
      Description copied from class: AbstractObservableValue
      Template method for setting the value of the observable. By default the method throws an UnsupportedOperationException.
      Overrides:
      doSetValue in class AbstractObservableValue<T>
      Parameters:
      value - the value to set
    • addListener

      protected void addListener(Object listenerType, IObservablesListener listener)
      Parameters:
      listenerType - arbitrary object to identify a type of the listener
      listener - the listener to add; not null
    • removeListener

      protected void removeListener(Object listenerType, IObservablesListener listener)
      Parameters:
      listenerType - arbitrary object to identify a type of the listener
      listener - the listener to remove; not null
    • hasListeners

      protected boolean hasListeners()
    • fireEvent

      protected void fireEvent(ObservableEvent event)
    • getRealm

      public Realm getRealm()
      Returns:
      Returns the realm.
    • clone

      protected Object clone() throws CloneNotSupportedException
      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException