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
Constructor
Description
`ChangeSupport(Realm realm)`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### ChangeSupport

public ChangeSupport(Realm realm)

Parameters:
  `realm` - the realm

## Method Details

### 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`