Interface DataStoreFactory
- All Known Implementing Classes:
AbstractDataStoreFactory
,FileDataStoreFactory
,MemoryDataStoreFactory
Serializable
object.
Users should keep a single globally shared instance of the data store factory. Otherwise, some implementations may not share the internal copies of the data, and you'll end up with multiple data stores by the same IDs, each living in a separate implementation. Some implementations may also have some overhead, or may have caching implemented, and so multiple instances may defeat that. Finally, have multiple instances may defeat the thread-safety guarantee for some implementations.
Implementation should store the data in a persistent storage such as a database. Implementation should be thread-safe. Read the JavaDoc of the implementation for those details.
- Since:
- 1.16
- See Also:
-
Method Summary
Modifier and TypeMethodDescription<V extends Serializable>
DataStore<V> getDataStore
(String id) Returns a type-specific data store based on the given unique ID.
-
Method Details
-
getDataStore
Returns a type-specific data store based on the given unique ID.If a data store by that ID does not already exist, it should be created now, stored for later access, and returned. Otherwise, if there is already a data store by that ID, it should be returned. The
DataStore.getId()
must match theid
parameter from this method.The ID must be at least 1 and at most 30 characters long, and must contain only alphanumeric or underscore characters.
- Type Parameters:
V
- serializable type of the mapped value- Parameters:
id
- unique ID to refer to typed data store- Throws:
IOException
-