Interface DataStoreFactory (1.43.0)

public interface DataStoreFactory

Factory for a store that manages serializable data, where the key is a string and the value is a 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. See Also: MemoryDataStoreFactory, FileDataStoreFactory

Methods

<V>getDataStore(String id)

public abstract DataStore<V> <V>getDataStore(String id)

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 the id 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.

Parameter
NameDescription
idString

unique ID to refer to typed data store

Returns
TypeDescription
DataStore<V>
Exceptions
TypeDescription
IOException