visad.data.netcdf.in
Class CompositeStrategy

java.lang.Object
  extended by visad.data.netcdf.in.Strategy
      extended by visad.data.netcdf.in.CompositeStrategy

public final class CompositeStrategy
extends Strategy

Chains together import strategies for netCDF datasets.

Instances of this class are immutable.


Field Summary
 
Fields inherited from class visad.data.netcdf.in.Strategy
DEFAULT, IN_MEMORY, MERGED_FILE_FLAT_FIELDS, UNMERGED_FILE_FLAT_FIELDS
 
Method Summary
 DataImpl getData(NetcdfAdapter adapter)
          Returns a VisAD data object corresponding to the netCDF dataset.
static Strategy instance(Strategy[] strategies)
          Returns an import strategy.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

instance

public static Strategy instance(Strategy[] strategies)
Returns an import strategy. The given strategies are tried in the order they appear in the array. This method returns when a strategy succeeds.

Parameters:
strategies - The import strategies to use.
Returns:
An import strategy.
Throws:
java.lang.NullPointerException - if the argument is null.
java.lang.IllegalArgumentException - if the number of strategies is 0.

getData

public DataImpl getData(NetcdfAdapter adapter)
                 throws java.io.IOException,
                        VisADException,
                        java.rmi.RemoteException,
                        BadFormException,
                        java.lang.OutOfMemoryError

Returns a VisAD data object corresponding to the netCDF dataset.

Specified by:
getData in class Strategy
Parameters:
adapter - The netCDF-to-VisAD adapter.
Returns:
The top-level, VisAD data object of the netCDF dataset.
Throws:
VisADException - if a problem occurs in core VisAD -- probably because a VisAD object couldn't be created.
java.io.IOException - if a data access I/O failure occurs.
BadFormException - if the netCDF dataset doesn't conform to conventions implicit in constructing View.
java.lang.OutOfMemoryError - if the netCDF dataset couldn't be imported due to insufficient memory.
java.rmi.RemoteException - if a Java RMI failure occurs.