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 Summary
Constructors Constructor Description DecoratingObservable(IObservable decorated, boolean disposeDecoratedOnDispose)
Constructs a DecoratingObservable which decorates the given observable.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addListener(Object listenerType, IObservablesListener listener)
protected Object
clone()
void
dispose()
Disposes of this observable object, removing all listeners registered with this object, and all listeners this object might have registered on other objects.boolean
equals(Object obj)
protected void
fireEvent(ObservableEvent event)
protected void
firstListenerAdded()
IObservable
getDecorated()
Realm
getRealm()
protected void
getterCalled()
protected void
handleStaleEvent(StaleEvent event)
Called whenever a StaleEvent is received from the decorated observable.int
hashCode()
protected boolean
hasListeners()
boolean
isStale()
Returns whether the state of this observable is stale and is expected to change soon.protected void
lastListenerRemoved()
protected void
removeListener(Object listenerType, IObservablesListener listener)
-
Methods inherited from class org.eclipse.core.databinding.observable.AbstractObservable
addChangeListener, addDisposeListener, addStaleListener, checkRealm, fireChange, fireStale, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.core.databinding.observable.IObservable
addChangeListener, addDisposeListener, addStaleListener, getRealm, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener
-
-
-
-
Constructor Detail
-
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 Detail
-
getDecorated
public IObservable getDecorated()
- Specified by:
getDecorated
in interfaceIDecoratingObservable
- 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 interfaceIObservable
- 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
-
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 interfaceIObservable
- Overrides:
dispose
in classAbstractObservable
-
addListener
protected void addListener(Object listenerType, IObservablesListener listener)
- Parameters:
listenerType
- arbitrary object to identify a type of the listenerlistener
- the listener to add; notnull
-
removeListener
protected void removeListener(Object listenerType, IObservablesListener listener)
- Parameters:
listenerType
- arbitrary object to identify a type of the listenerlistener
- the listener to remove; notnull
-
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 classObject
- Throws:
CloneNotSupportedException
-
-