## org.autoplot.datasource.DataSourceFactory

DataSourceFactories create data sources which resolve a URI into a QDataSet. Some DataSourceFactories support discovery, meaning they will provide a GUI to create URIs with no other information.

## getCapability

getCapability( java.lang.Class clazz ) → Object

return additional tools for creating valid URIs, such as TimeSeriesBrowse. This may soon include a file selector, and an automatic GUI created from the completions model.

### Parameters

clazz - the class, such as org.autoplot.datasource.capability.TimeSeriesBrowse

### Returns:

the capability, such as an instance of org.autoplot.datasource.capability.TimeSeriesBrowse
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## getCompletions

getCompletions( org.autoplot.datasource.CompletionContext cc, ProgressMonitor mon ) → java.util.List

return a list of context-sensitive completions. If an exception is thrown, then an a error dialog is displayed for RuntimeExceptions. Compile-time exceptions may be displayed more gently, relying on getMessage to aid the human operator.

### Parameters

cc - the context for the completion.
mon - a progress monitor, for example to monitor a file download.

### Returns:

a set of completions
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## getDataSource

getDataSource( java.net.URI uri ) → org.autoplot.datasource.DataSource

return a dataSource for the url

### Parameters

uri - the URI

### Returns:

the DataSource
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## getDescription

getDescription( ) → String

return a short description of the factory, or empty string. For example, "NASA Common Data Format (CDF) Files" or "NASA CDAWeb". This will be used to identify files or discovery sources.

### Returns:

a short description of the factory.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## isFileResource

isFileResource( ) → boolean

true if the data source is based on files. For example, a CDF file is true, since the URIs contain cdf file names, and while vap+cdaweb uses files to move data, it is not file based. This is initially used to limit the entries in file choosers.

### Returns:

true if the data source is based on files.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## reject

reject( String suri, java.util.List problems, ProgressMonitor mon ) → boolean

quick check to see that an uri looks acceptable. since 2012b, this should provide a list of objects marking reasons for rejecting. Though each object is simply a marker, toString method of each should provide some meaningful information to developers. This list will be passed into the editor if available.

### Parameters

suri - the uri.
problems - list to which problems should be added. TODO: human readable or PROB_TIMERANGE?
mon - a progress monitor, for example to monitor a file download.

### Returns:

true if the string cannot be used as a URI.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## supportsDiscovery

supportsDiscovery( ) → boolean

mark that this source has an editor that allows discovery of data, and the GUI can be entered with "vap+ext:" This must be consistent with the reject method of the editor.

### Returns:

true if the data source factory supports discovery.
[search for examples] [view on GitHub] [view on old javadoc] [view source]