visad.data.in
Class TimeFactorer

java.lang.Object
  extended by visad.data.in.DataInputFilter
      extended by visad.data.in.TimeFactorer
All Implemented Interfaces:
DataInputStream

public class TimeFactorer
extends DataInputFilter

Converts incoming VisAD Fields whose outermost dimension is time and can be factored out into a field-of-fields. Sends the field-of-fields to the downstream data sink. Passes all other VisAD data objects to the downstream data sink unchanged.

Instances are immutable.

Author:
Steven R. Emmerson

Constructor Summary
TimeFactorer(DataInputStream source)
          Constructs from a upstream data source.
 
Method Summary
 DataImpl readData()
          Returns the next VisAD data object in the input stream.
 
Methods inherited from class visad.data.in.DataInputFilter
getSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeFactorer

public TimeFactorer(DataInputStream source)
             throws VisADException
Constructs from a upstream data source.

Parameters:
source - The upstream data source. May not be null.
Throws:
VisADException - The upstream data source is null.
Method Detail

readData

public DataImpl readData()
                  throws VisADException,
                         RemoteException
Returns the next VisAD data object in the input stream. If the next object is a field and the field's outermost dimension is time and can be factored out, then the field will be converted into a field-of-fields (with time as the single dimension of the outermost field) before being returned. Returns null if there are no more objects.

Returns:
A VisAD data object or null if there are no more such objects.
Throws:
VisADException - VisAD failure.
RemoteException - Java RMI failure.