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.

Author:
Steven R. Emmerson

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:
NullPointerException - if the argument is null.
IllegalArgumentException - if the number of strategies is 0.

getData

public DataImpl getData(NetcdfAdapter adapter)
                 throws IOException,
                        VisADException,
                        RemoteException,
                        BadFormException,
                        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.
IOException - if a data access I/O failure occurs.
BadFormException - if the netCDF dataset doesn't conform to conventions implicit in constructing View.
OutOfMemoryError - if the netCDF dataset couldn't be imported due to insufficient memory.
RemoteException - if a Java RMI failure occurs.