Class DuplexingObservableValue<T>

    • Constructor Detail

      • DuplexingObservableValue

        public DuplexingObservableValue​(IObservableList<T> target)
        Parameters:
        target -
      • DuplexingObservableValue

        public DuplexingObservableValue​(IObservableList<T> target,
                                        Object valueType)
        Parameters:
        target -
        valueType -
    • Method Detail

      • withDefaults

        public static <T> DuplexingObservableValue<T> withDefaults​(IObservableList<T> target,
                                                                   T emptyValue,
                                                                   T multiValue)
        Returns a DuplexingObservableValue implementation with predefined values to use if the list is empty or contains multiple different values.
        Type Parameters:
        T -
        Parameters:
        target - the observable list
        emptyValue - the value to use when the target list is empty
        multiValue - the value to use when the target list contains multiple values that are not equivalent to each other.
        Returns:
        a DuplexingObservableValue implementation with predefined values to use if the list is empty or contains multiple different values.
      • firstListenerAdded

        protected void firstListenerAdded()
      • lastListenerRemoved

        protected void lastListenerRemoved()
      • makeDirty

        protected final void makeDirty()
      • isStale

        public boolean isStale()
        Description copied from interface: IObservable
        Returns whether the state of this observable is stale and is expected to change soon. A non-stale observable that becomes stale will notify its stale listeners. A stale object that becomes non-stale does so by changing its state and notifying its change listeners, it does not notify its stale listeners about becoming non-stale. Clients that do not expect asynchronous changes may ignore staleness of observable objects.
        Specified by:
        isStale in interface IObservable
        Overrides:
        isStale in class AbstractObservableValue<T>
        Returns:
        true if this observable's state is stale and will change soon.
      • coalesceElements

        protected abstract T coalesceElements​(Collection<T> elements)
      • 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
      • addChangeListener

        public void addChangeListener​(IChangeListener listener)
        Description copied from interface: IObservable
        Adds the given change listener to the list of change listeners. Change listeners are notified about changes of the state of this observable in a generic way, without specifying the change that happened. To get the changed state, a change listener needs to query for the current state of this observable.
        Specified by:
        addChangeListener in interface IObservable
        Overrides:
        addChangeListener in class AbstractObservable
      • dispose

        public void dispose()
        Description copied from interface: IObservable
        Disposes of this observable object, removing all listeners registered with this object, and all listeners this object might have registered on other objects.
        Specified by:
        dispose in interface IObservable
        Overrides:
        dispose in class AbstractObservable
      • addListener

        protected void addListener​(Object listenerType,
                                   IObservablesListener listener)
        Parameters:
        listenerType -
        listener -
      • removeListener

        protected void removeListener​(Object listenerType,
                                      IObservablesListener listener)
        Parameters:
        listenerType -
        listener -
      • hasListeners

        protected boolean hasListeners()
      • getRealm

        public Realm getRealm()
        Returns:
        Returns the realm.