## visad
Interface ThingReference

All Known Subinterfaces:
  DataReference, RemoteDataReference, RemoteThingReference

All Known Implementing Classes:
  DataReferenceImpl, RemoteDataReferenceImpl, RemoteThingReferenceImpl, ThingReferenceImpl

public interface ThingReference

ThingReference is the VisAD interface for named holders for objects. It can provide a symbol table binding between a name and a variable for a user interface that includes a formula interpreter, or a full language interpreter (e.g., a Java interpreter).

During computations the object referenced by a ThingReference may change.

ThingReference is a source of ThingChangedEvent-s, and thus defines addThingChangedListener and removeThingChangedListener.

ThingReference objects may be local (ThingReferenceImpl) or remote (RemoteThingReferenceImpl).

Method Summary
`ThingChangedEvent` `acknowledgeThingChanged(Action a)`
`void` `addThingChangedListener(ThingChangedListener l, long id)`
`String` `getName()`
`Thing` `getThing()`
`long` `getTick()`
`long` `incTick()`
`ThingChangedEvent` `peekThingChanged(Action a)`
`void` `removeThingChangedListener(ThingChangedListener l)`
`void` `setThing(Thing t)` invokes t.addReference((ThingReference r)

Method Detail

### setThing

    public void setThing(Thing t)
                  throws VisADException,
                         RemoteException

  invokes t.addReference((ThingReference r)

  Throws:
    `VisADException`
    `RemoteException`

### getThing

    public Thing getThing()
                   throws VisADException,
                          RemoteException

  Throws:
    `VisADException`
    `RemoteException`

### getTick

    public long getTick()
                 throws VisADException,
                        RemoteException

  Throws:
    `VisADException`
    `RemoteException`

### incTick

    public long incTick()
                 throws VisADException,
                        RemoteException

  Throws:
    `VisADException`
    `RemoteException`

### getName

    public String getName()
                   throws VisADException,
                          RemoteException

  Throws:
    `VisADException`
    `RemoteException`

### addThingChangedListener

    public void addThingChangedListener(ThingChangedListener l,
                                        long id)
                                 throws VisADException,
                                        RemoteException

  Throws:
    `VisADException`
    `RemoteException`

### removeThingChangedListener

    public void removeThingChangedListener(ThingChangedListener l)
                                    throws VisADException,
                                           RemoteException

  Throws:
    `VisADException`
    `RemoteException`

### acknowledgeThingChanged

    public ThingChangedEvent acknowledgeThingChanged(Action a)
                                              throws VisADException,
                                                     RemoteException

  Throws:
    `VisADException`
    `RemoteException`

### peekThingChanged

    public ThingChangedEvent peekThingChanged(Action a)
                                       throws VisADException,
                                              RemoteException

  Throws:
    `VisADException`
    `RemoteException`