Class DecoratingObservable

java.lang.Object
org.eclipse.core.databinding.observable.AbstractObservable
org.eclipse.core.databinding.observable.DecoratingObservable
All Implemented Interfaces:
IDecoratingObservable, IObservable
Direct Known Subclasses:
DecoratingObservableCollection, DecoratingObservableMap, DecoratingObservableValue

public class DecoratingObservable extends AbstractObservable implements IDecoratingObservable
An observable which decorates another observable
Since:
1.2
Implementation Note:
If methods are added to the interface which this class implements then implementations of those methods must be added to this class.
  • Constructor Details

    • DecoratingObservable

      public DecoratingObservable(IObservable decorated, boolean disposeDecoratedOnDispose)
      Constructs a DecoratingObservable which decorates the given observable.
      Parameters:
      decorated - the observable being decorated.
      disposeDecoratedOnDispose - whether the decorated observable should be disposed when the decorator is disposed
  • Method Details

    • getDecorated

      public IObservable getDecorated()
      Specified by:
      getDecorated in interface IDecoratingObservable
      Returns:
      the observable that this observable decorates.
    • 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
      Returns:
      true if this observable's state is stale and will change soon.
    • getterCalled

      protected void getterCalled()
    • firstListenerAdded

      protected void firstListenerAdded()
    • lastListenerRemoved

      protected void lastListenerRemoved()
    • handleStaleEvent

      protected void handleStaleEvent(StaleEvent event)
      Called whenever a StaleEvent is received from the decorated observable. By default, this method fires the stale event again, with the decorating observable as the event source. Subclasses may override to provide different behavior.
      Parameters:
      event - the stale event received from the decorated observable
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • 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 - 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