## visad
Interface Action

All Superinterfaces:
  EventListener, ThingChangedListener

All Known Subinterfaces:
  Cell, Display, LocalDisplay, RemoteAction, RemoteCell, RemoteDisplay

All Known Implementing Classes:
  ActionImpl, CellImpl, DisplayImpl, RemoteActionImpl, RemoteCellImpl, RemoteDisplayImpl

public interface Action
extends ThingChangedListener

Action is the VisAD interface for runnable threads that need to be notified when ThingReference objects change. For example, this may be used for a Data display or for a spreadsheet cell.

Method Summary
`void` `addReference(ThingReference ref)` Creates a link to a ThingReference.
`String` `getName()`
`void` `removeAllReferences()` delete all links to ThingReferences
`void` `removeReference(ThingReference ref)` Removes a link to a ThingReference.

Methods inherited from interface visad.ThingChangedListener
`thingChanged`

Method Detail

### addReference

    public void addReference(ThingReference ref)
                      throws VisADException,
                             RemoteException

  Creates a link to a ThingReference. Note that this method causes this object to register itself with the ThingReference.

  Parameters:
    `ref` - The ThingReference to which to create the link. Subsequent invocation of `thingChanged(ThingChangedEvent)` causes invocation of `ref.acknowledgeThingChanged(this)` . This method invokes `ref.addThingChangedListener(this, ...)`.
  Throws:
    `RemoteVisADException` - if the reference isn't a `ThingReferenceImpl`.
    `ReferenceException` - if the reference has already been added.
    `VisADException` - if a VisAD failure occurs.
    `RemoteException` - if a Java RMI failure occurs.
  See Also:
    `ThingChangedListener.thingChanged(ThingChangedEvent)`, `ThingReference.addThingChangedListener(ThingChangedListener, long)`

### removeReference

    public void removeReference(ThingReference ref)
                         throws VisADException,
                                RemoteException

  Removes a link to a ThingReference.

  This implementation invokes `#findReference(ThingReference)`.

  Parameters:
    `ref` - The reference to be removed.
  Throws:
    `RemoteVisADException` - if the reference isn't a `ThingReferenceImpl`.
    `ReferenceException` - if the reference isn't a part of this instance.
    `VisADException` - if a VisAD failure occurs.
    `RemoteException` - if a Java RMI failure occurs.

### removeAllReferences

    public void removeAllReferences()
                             throws VisADException,
                                    RemoteException

  delete all links to ThingReferences

  Throws:
    `VisADException`
    `RemoteException`

### getName

    public String getName()
                   throws VisADException,
                          RemoteException

  Returns:
    String name of this Action
  Throws:
    `VisADException`
    `RemoteException`