package org.infinispan.persistence.mongodb.configuration; import org.infinispan.commons.configuration.BuiltBy; import org.infinispan.commons.configuration.ConfigurationFor; import org.infinispan.commons.configuration.attributes.AttributeSet; import org.infinispan.configuration.cache.AbstractStoreConfiguration; import org.infinispan.configuration.cache.AsyncStoreConfiguration; import org.infinispan.configuration.cache.SingletonStoreConfiguration; import org.infinispan.persistence.mongodb.store.MongoDBStore; /** * The configuration of MongoDBStore. <br/> * This class wraps all the MongoDB information for the connection. * * @author Gabriel Francisco <gabfssilva@gmail.com> */ @ConfigurationFor(MongoDBStore.class) @BuiltBy(MongoDBStoreConfigurationBuilder.class) public class MongoDBStoreConfiguration extends AbstractStoreConfiguration { private final String connectionURI; private final String collection; public MongoDBStoreConfiguration(AttributeSet attributes, AsyncStoreConfiguration async, SingletonStoreConfiguration singletonStore, String connectionURI, String collection) { super(attributes, async, singletonStore); this.connectionURI = connectionURI; this.collection = collection; } public static AttributeSet attributeDefinitionSet() { return new AttributeSet( MongoDBStoreConfiguration.class, AbstractStoreConfiguration.attributeDefinitionSet()); } public String collection() { return collection; } @Override public AttributeSet attributes() { return attributes; } public String getConnectionURI() { return connectionURI; } }