Package org.eclipse.core.databinding.observable

## Class ChangeSupport

- java.lang.Object
- - org.eclipse.core.databinding.observable.ChangeSupport

    public abstract class ChangeSupport
    extends Object

Since:
  1.0

### Constructor Summary

Constructors
`ChangeSupport​(Realm realm)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`void` `addChangeListener​(IChangeListener listener)`
`void` `addDisposeListener​(IDisposeListener listener)`
`void` `addListener​(Object listenerType, IObservablesListener listener)`
`void` `addStaleListener​(IStaleListener listener)`
`protected Object` `clone()`
`void` `dispose()`
`void` `fireEvent​(ObservableEvent event)`
`protected abstract void` `firstListenerAdded()`
`Realm` `getRealm()`
`protected boolean` `hasListeners()`
`protected abstract void` `lastListenerRemoved()`
`void` `removeChangeListener​(IChangeListener listener)`
`void` `removeDisposeListener​(IDisposeListener listener)`
`void` `removeListener​(Object listenerType, IObservablesListener listener)`
`void` `removeStaleListener​(IStaleListener listener)`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ChangeSupport

    public ChangeSupport​(Realm realm)

Parameters:
  `realm` - the realm

### Method Detail

#### addListener

    public 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

    public void removeListener​(Object listenerType,
                               IObservablesListener listener)

Parameters:
  `listenerType` - arbitrary object to identify a type of the listener
  `listener` - the listener to remove; not `null`

#### fireEvent

    public void fireEvent​(ObservableEvent event)

#### firstListenerAdded

    protected abstract void firstListenerAdded()

#### lastListenerRemoved

    protected abstract void lastListenerRemoved()

#### addChangeListener

    public void addChangeListener​(IChangeListener listener)

Parameters:
  `listener` - the listener to add; not `null`

#### removeChangeListener

    public void removeChangeListener​(IChangeListener listener)

Parameters:
  `listener` - the listener to remove; not `null`

#### addStaleListener

    public void addStaleListener​(IStaleListener listener)

Parameters:
  `listener` - the listener to add; not `null`

#### removeStaleListener

    public void removeStaleListener​(IStaleListener listener)

Parameters:
  `listener` - the listener to remove; not `null`

#### addDisposeListener

    public void addDisposeListener​(IDisposeListener listener)

Parameters:
  `listener` - the listener to add; not `null`
Since:
  1.2

#### removeDisposeListener

    public void removeDisposeListener​(IDisposeListener listener)

Parameters:
  `listener` - the listener to remove; not `null`
Since:
  1.2

#### hasListeners

    protected boolean hasListeners()

#### dispose

    public void dispose()

#### getRealm

    public Realm getRealm()

Returns:
  Returns the realm.

#### clone

    protected Object clone()
                    throws CloneNotSupportedException

Overrides:
  `clone` in class `Object`
Throws:
  `CloneNotSupportedException`