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 Detail

      • 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 Detail

      • 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
      • 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()
      • getRealm

        public Realm getRealm()
        Returns:
        Returns the realm.