Class DataFactory


  • public class DataFactory
    extends Object
    DataFactory for THREDDS client catalogs
    • Constructor Detail

      • DataFactory

        public DataFactory()
    • Method Detail

      • setPreferCdm

        public static void setPreferCdm​(boolean prefer)
      • setPreferAccess

        public static void setPreferAccess​(ServiceType... prefer)
      • setDebugFlags

        public static void setDebugFlags​(DebugFlags debugFlag)
      • openFeatureDataset

        public DataFactory.Result openFeatureDataset​(String urlString,
                                                     CancelTask task)
                                              throws IOException
        Open a FeatureDataset from a URL location string. Example URLS:
        • http://localhost:8080/test/addeStationDataset.xml#surfaceHourly
        • thredds:http://localhost:8080/test/addeStationDataset.xml#surfaceHourly
        • thredds://localhost:8080/test/addeStationDataset.xml#surfaceHourly
        • thredds:file:c:/test/data/catalog/addeStationDataset.xml#AddeSurfaceData (absolute file)
        • thredds:resolve:resolveURL
        Parameters:
        urlString - [thredds:]catalog.xml#datasetId
        task - may be null
        Returns:
        ThreddsDataFactory.Result check fatalError for validity
        Throws:
        IOException - on read error
      • openFeatureDataset

        public DataFactory.Result openFeatureDataset​(FeatureType wantFeatureType,
                                                     String urlString,
                                                     CancelTask task)
                                              throws IOException
        Open a FeatureDataset from a URL location string, and a desired type (may by NONE or null).
        Parameters:
        wantFeatureType - desired feature type, may be NONE or null
        urlString - [thredds:]catalog.xml#datasetId
        task - may be null
        Returns:
        ThreddsDataFactory.Result check fatalError for validity
        Throws:
        IOException - on read error
      • openFeatureDataset

        @Nonnull
        public DataFactory.Result openFeatureDataset​(Dataset Dataset,
                                                     CancelTask task)
                                              throws IOException
        Open a FeatureDataset from an Dataset object, deciding on which Access to use.
        Parameters:
        Dataset - use this to figure out what type, how to open, etc
        task - allow user to cancel; may be null
        Returns:
        ThreddsDataFactory.Result check fatalError for validity
        Throws:
        IOException - on read error
      • openFeatureDataset

        public DataFactory.Result openFeatureDataset​(Access access,
                                                     CancelTask task)
                                              throws IOException
        Open a FeatureDataset from an Access object.
        Parameters:
        access - use this Access.
        task - may be null
        Returns:
        ThreddsDataFactory.Result check fatalError for validity
        Throws:
        IOException - on read error
      • openDataset

        public NetcdfDataset openDataset​(String location,
                                         boolean acquire,
                                         CancelTask task,
                                         Formatter log)
                                  throws IOException
        Open a NetcdfDataset from a URL location string. Example URLS:
        • http://localhost:8080/test/addeStationDataset.xml#surfaceHourly
        • thredds:http://localhost:8080/test/addeStationDataset.xml#surfaceHourly
        • thredds://localhost:8080/test/addeStationDataset.xml#surfaceHourly
        • thredds:file:c:/dev/netcdf-java-2.2/test/data/catalog/addeStationDataset.xml#AddeSurfaceData (absolute file)
        • thredds:resolve:resolveURL
        Parameters:
        location - catalog.xml#datasetId, may optionally start with "thredds:"
        task - may be null
        log - error messages gp here, may be null
        acquire - if true, aquire the dataset, else open it
        Returns:
        NetcdfDataset
        Throws:
        IOException - on read error
      • openDataset

        public NetcdfDataset openDataset​(Dataset Dataset,
                                         boolean acquire,
                                         CancelTask task,
                                         Formatter log)
                                  throws IOException
        Try to open as a NetcdfDataset.
        Parameters:
        Dataset - open this
        acquire - if true, aquire the dataset, else open it
        task - may be null
        log - error message, may be null
        Returns:
        NetcdfDataset or null if failure
        Throws:
        IOException - on read error
      • openDataset

        public NetcdfDataset openDataset​(Access access,
                                         boolean acquire,
                                         CancelTask task,
                                         Formatter log)
                                  throws IOException
        Try to open Access as a NetcdfDataset.
        Parameters:
        access - open this Access
        acquire - if true, aquire the dataset, else open it
        task - may be null
        log - error message, may be null
        Returns:
        NetcdfDataset or null if failure
        Throws:
        IOException - on read error
      • chooseDatasetAccess

        public Access chooseDatasetAccess​(List<Access> accessList)
        Find the "best" access in case theres more than one, based on what the CDM knows how to open and use.
        Parameters:
        accessList - choose from this list.
        Returns:
        best access method.
      • annotate

        public static void annotate​(Dataset ds,
                                    NetcdfDataset ncDataset)
        Add information from the Dataset to the NetcdfDataset.
        Parameters:
        ds - get info from here
        ncDataset - add to here