package cz.cuni.mff.d3s.been.datastore;
import java.util.Properties;
/**
* A builder for parametrized {@link SoftwareStore} creation
*/
public interface SoftwareStoreBuilder {
/**
* Get a {@link SoftwareStoreBuilder} with passed properties
*
* @param properties
* Properties to set
*
* @return A {@link SoftwareStoreBuilder} with new settings
*/
SoftwareStoreBuilder withProperties(Properties properties);
/**
* Create a new server-mode {@link SoftwareStore}
*
* @return A {@link SoftwareStore} in server mode
*/
SoftwareStore buildServer();
/**
* Create a new cache-mode {@link SoftwareStore}
*
* @return A {@link SoftwareStore} in cache mode
*/
SoftwareStore buildCache();
}