Class ObservablesManager


  • public class ObservablesManager
    extends java.lang.Object
    An observables manager can be used for lifecycle management of IObservable objects.
    Since:
    1.0
    Restriction:
    This class is not intended to be subclassed by clients.
    • Constructor Summary

      Constructors 
      Constructor Description
      ObservablesManager()
      Create a new observables manager.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void addContext​(DataBindingContext context, boolean trackTargets, boolean trackModels)
      Adds the databinding context to be disposed by this manager.
      void addObservable​(IObservable observable)
      Adds the given observable to this manager.
      void addObservablesFromContext​(DataBindingContext context, boolean trackTargets, boolean trackModels)
      Adds the given data binding context's target and/or model observables to be disposed by this manager.
      void dispose()
      Disposes of this manager and all observables that it manages.
      void excludeObservable​(IObservable observable)
      Adds the given observable to this manager's exclusion list.
      void runAndCollect​(java.lang.Runnable runnable)
      Deprecated.
      This method is very error prone.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ObservablesManager

        public ObservablesManager()
        Create a new observables manager.
    • Method Detail

      • addObservable

        public void addObservable​(IObservable observable)
        Adds the given observable to this manager.
        Parameters:
        observable - the observable
      • excludeObservable

        public void excludeObservable​(IObservable observable)
        Adds the given observable to this manager's exclusion list. The given observable will not be disposed of by this manager.
        Parameters:
        observable - the observable
      • addObservablesFromContext

        public void addObservablesFromContext​(DataBindingContext context,
                                              boolean trackTargets,
                                              boolean trackModels)
        Adds the given data binding context's target and/or model observables to be disposed by this manager.

        Prefer the addContext(org.eclipse.core.databinding.DataBindingContext, boolean, boolean) method if the context argument should also be disposed.

        Note: The context argument must NOT be disposed before this manager itself is disposed. If it is then its contents will not be disposed by this manager.

        Parameters:
        context - the data binding context
        trackTargets - true if the target observables of the context should be managed
        trackModels - true if the model observables of the context should be managed
      • addContext

        public void addContext​(DataBindingContext context,
                               boolean trackTargets,
                               boolean trackModels)
        Adds the databinding context to be disposed by this manager. Identical to addObservablesFromContext(org.eclipse.core.databinding.DataBindingContext, boolean, boolean) except that the binding context itself is also disposed.

        Note: The context argument must NOT be disposed before this manager itself is disposed. (There is no reason to dispose context manually when using this method.)

        Parameters:
        context - the data binding context to add
        trackTargets - true if the target observables of the context should be managed
        trackModels - true if the model observables of the context should be managed
        Since:
        1.10
      • runAndCollect

        @Deprecated(since="1.11.0")
        public void runAndCollect​(java.lang.Runnable runnable)
        Deprecated.
        This method is very error prone. If any class creates internal observables without hiding them with ObservableTracker.setIgnore(boolean) the result can be that objects are disposed involuntary or in the wrong order. Prefer instead to use addContext(org.eclipse.core.databinding.DataBindingContext, boolean, boolean).
        Executes the specified runnable and adds to this manager all observables created while executing the runnable.

        Parameters:
        runnable - the runnable to execute
        Since:
        1.2