## visad
Class RemoteDataReferenceImpl

    java.lang.Object
      java.rmi.server.RemoteObject
          java.rmi.server.RemoteServer
              java.rmi.server.UnicastRemoteObject
                  visad.RemoteThingReferenceImpl
                      visad.RemoteDataReferenceImpl

All Implemented Interfaces:
  DataReference, Remote, RemoteDataReference, RemoteThingReference, Serializable, ThingReference

public class RemoteDataReferenceImpl
extends RemoteThingReferenceImpl
implements RemoteDataReference

RemoteDataReferenceImpl is VisAD remote adapter for DataReferenceImpl.

See Also:
  Serialized Form

Field Summary

Fields inherited from class visad.RemoteThingReferenceImpl
`AdaptedThingReference`

Fields inherited from class java.rmi.server.RemoteObject
`ref`

Constructor Summary
`RemoteDataReferenceImpl(DataReferenceImpl ref)` construct a RemoteDataReferenceImpl adapting the given DataReferenceImpl

Method Summary
`Data` `getData()` return referenced Data object, but if Data is a FieldImpl return a RemoteFieldImpl referencing Data to avoid copying entire FieldImpl between JVMs
`MathType` `getType()` this is more efficient than getData().getType() for RemoteDataReferences
`void` `setData(Data d)` set this RemoteDataReferenceImpl to refer to given Data

Methods inherited from class visad.RemoteThingReferenceImpl
`acknowledgeThingChanged, addThingChangedListener, getName, getThing, getTick, incTick, peekThingChanged, removeThingChangedListener, setThing`

Methods inherited from class java.rmi.server.UnicastRemoteObject
`clone, exportObject, exportObject, exportObject, unexportObject`

Methods inherited from class java.rmi.server.RemoteServer
`getClientHost, getLog, setLog`

Methods inherited from class java.rmi.server.RemoteObject
`equals, getRef, hashCode, toString, toStub`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface visad.ThingReference
`acknowledgeThingChanged, addThingChangedListener, getName, getThing, getTick, incTick, peekThingChanged, removeThingChangedListener, setThing`

Constructor Detail

### RemoteDataReferenceImpl

    public RemoteDataReferenceImpl(DataReferenceImpl ref)
                            throws RemoteException

  construct a RemoteDataReferenceImpl adapting the given DataReferenceImpl

Parameters:
  `ref` - adpted DataReferenceImpl
Throws:
  `RemoteException` - an RMI error occurred

Method Detail

### setData

    public void setData(Data d)
                 throws VisADException,
                        RemoteException

  set this RemoteDataReferenceImpl to refer to given Data

  Specified by:
    `setData` in interface `DataReference`
  Parameters:
    `d` - Data to be set (must be RemoteDataImpl)
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### getData

    public Data getData()
                 throws VisADException,
                        RemoteException

  return referenced Data object, but if Data is a FieldImpl return a RemoteFieldImpl referencing Data to avoid copying entire FieldImpl between JVMs

  Specified by:
    `getData` in interface `DataReference`
  Returns:
    referenced Data object, or null if none
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### getType

    public MathType getType()
                     throws VisADException,
                            RemoteException

  this is more efficient than getData().getType() for RemoteDataReferences

  Specified by:
    `getType` in interface `DataReference`
  Returns:
    the MathType of referenced Data object, or null if none;
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred