# Package org.apache.sis.storage

Data store base types for retrieving and saving geospatial data in various storage formats.

`DataStore` provides the methods for reading or writing geospatial data in a given storage. A storage may be a file, a directory, a connection to a database or any other implementation specific mechanism. Suitable `DataStore` implementation for a given storage can be discovered and opened by the static methods provided in `DataStores`.

Since:
  0.3

Defined in the `sis-storage` module

- Interface Summary
  Interface | Description
  --- | ---
  Aggregate | A collection of resources.
  DataSet | Collection of features that share a common set of attributes or properties.
  FeatureSet | A dataset providing access to a stream of features.
  GridCoverageResource | Access to data values in a n-dimensional grid.
  Resource | Provides access to geospatial data in a `DataStore`.
  WritableAggregate | An `Aggregate` with writing capabilities.
  WritableFeatureSet | A `FeatureSet` with writing capabilities.

- Class Summary
  Class | Description
  --- | ---
  DataOptionKey<T> | Keys in a map of options for configuring the way data are read or written to a storage.
  DataStore | Manages a series of features, coverages or sensor data.
  DataStoreProvider | Provides information about a specific `DataStore` implementation.
  DataStores | Static convenience methods creating `DataStore` instances from a given storage object.
  FeatureNaming<E> | Helper class for mapping `GenericName` instances and their shortened names to features.
  ProbeResult | Tells whether a storage (file, database) appears to be supported by a `DataStore`.
  Query | Definition of filtering to apply for fetching a resource subset.
  StorageConnector | Information for creating a connection to a `DataStore` in read and/or write mode.

- Exception Summary
  Exception | Description
  --- | ---
  ConcurrentReadException | Thrown when an operation can not be performed while a read operation is in progress.
  ConcurrentWriteException | Thrown when an operation can not be performed while a write operation is in progress.
  DataStoreClosedException | Thrown when a data store is closed and can no more return data.
  DataStoreContentException | Thrown when a store can not be read because the stream contains invalid data.
  DataStoreException | Thrown when a `DataStore` can not complete a read or write operation.
  DataStoreReferencingException | Thrown when a data store failed to construct the coordinate reference system (CRS) or other positioning information.
  ForwardOnlyStorageException | Thrown when an operation would require to move the cursor back, but the underlying storage does not allow that.
  IllegalFeatureTypeException | Thrown when a store can not write the given feature because its type is not one of the supported types.
  IllegalNameException | Thrown when an invalid name is used for identifying a coverage, a feature or other kind of element in a data store.
  IllegalOpenParameterException | Thrown when a `DataStore` can not be opened because of invalid parameters.
  InternalDataStoreException | Thrown when an internal error occurred in a `DataStore` implementation.
  ReadOnlyStorageException | Thrown when a `DataStore` can not perform a write operations.
  UnsupportedQueryException | Thrown when a resources can not be filtered with a given query.
  UnsupportedStorageException | Thrown when no `DataStoreProvider` is found for a given storage object.