## visad.data.in
Class TimeFactorer

    java.lang.Object
      visad.data.in.DataInputFilter
          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.

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.