/**
* {@code FileStore} server-side component API ({@code ks-server}).
* <p>
* This package defines the API of the {@code FileStore} internal server-side component, whose
* task is to provide a persistent storage for resource representations, acting in a way similar
* to a file system. More in details, the package provides:
* </p>
* <ul>
* <li>the {@code FileStore} API ({@link eu.fbk.knowledgestore.filestore.FileStore});</li>
* <li>a base implementation ({@link eu.fbk.knowledgestore.filestore.HadoopFileStore}) that relies
* on the Hadoop API to abstract the access to the underlying file system, allowing to
* transparently use both the local file system and a distributed file systems such as HDFS;</li>
* <li>an abstract class ({@link eu.fbk.knowledgestore.filestore.ForwardingFileStore}) for
* implementing the decorator pattern;</li>
* <li>two concrete decorator classes that augment a {@code FileStore} with logging capabilities (
* {@link eu.fbk.knowledgestore.filestore.LoggingFileStore} and transparent GZip compression (
* {@link eu.fbk.knowledgestore.filestore.GzippedFileStore}).</li>
* </ul>
* <p>
* Custom implementations of the {@code FileStore} component may be provided by the user to
* customize the way the KnowledgeStore stores resource files.
* </p>
*/
@javax.annotation.ParametersAreNonnullByDefault
package eu.fbk.knowledgestore.filestore;