package org.infinispan.persistence.rest.configuration; import org.infinispan.configuration.cache.StoreConfigurationChildBuilder; import org.infinispan.persistence.keymappers.MarshallingTwoWayKey2StringMapper; import org.infinispan.persistence.keymappers.WrappedByteArrayOrPrimitiveMapper; import org.infinispan.persistence.rest.metadata.EmbeddedMetadataHelper; import org.infinispan.persistence.rest.metadata.MetadataHelper; /** * RestStoreConfigurationChildBuilder. * * @author Tristan Tarrant * @since 6.0 */ public interface RestStoreConfigurationChildBuilder<S> extends StoreConfigurationChildBuilder<S> { /** * Configures the connection pool */ ConnectionPoolConfigurationBuilder connectionPool(); /** * The host to connect to */ RestStoreConfigurationBuilder host(String host); /** * The class name of a {@link org.infinispan.persistence.keymappers.Key2StringMapper} to use for mapping keys to strings suitable for * RESTful retrieval/storage. Defaults to {@link WrappedByteArrayOrPrimitiveMapper} */ RestStoreConfigurationBuilder key2StringMapper(String key2StringMapper); /** * The class of a {@link org.infinispan.persistence.keymappers.Key2StringMapper} to use for mapping keys to strings suitable for * RESTful retrieval/storage. Defaults to {@link WrappedByteArrayOrPrimitiveMapper} */ RestStoreConfigurationBuilder key2StringMapper(Class<? extends MarshallingTwoWayKey2StringMapper> klass); /** * The class name of a {@link MetadataHelper} to use for managing appropriate metadata for the entries * Defaults to {@link EmbeddedMetadataHelper} */ RestStoreConfigurationBuilder metadataHelper(String metadataHelper); /** * The class of a {@link MetadataHelper} to use for managing appropriate metadata for the entries * Defaults to {@link EmbeddedMetadataHelper} */ RestStoreConfigurationBuilder metadataHelper(Class<? extends MetadataHelper> metadataHelper); /** * The path portion of the RESTful service. Defaults to / */ RestStoreConfigurationBuilder path(String path); /** * The port to connect to. Defaults to 80 */ RestStoreConfigurationBuilder port(int port); /** * Determines whether to append the cache name to the path URI. Defaults to false. */ RestStoreConfigurationBuilder appendCacheNameToPath(boolean appendCacheNameToPath); /** * Reads/writes "raw" values to the REST server instead of marshalling (used by the rolling upgrades feature) */ RestStoreConfigurationBuilder rawValues(boolean rawValues); }