package org.infinispan.hibernate.search.spi;
import java.util.Properties;
/**
* Configuration constants for the Infinispan integration
*
* @author Sanne Grinovero <sanne@hibernate.org> (C) 2012 Red Hat Inc.
*/
public class InfinispanIntegration {
private InfinispanIntegration() {
//not meant to be instantiated
}
/**
* Configuration attribute to override the value of {@link #DEFAULT_LOCKING_CACHENAME}.
*/
public static final String LOCKING_CACHENAME = "locking_cachename";
/**
* Configuration attribute to override the value of {@link #DEFAULT_INDEXESDATA_CACHENAME}.
*/
public static final String DATA_CACHENAME = "data_cachename";
/**
* Configuration attribute to override the value of {@link #DEFAULT_INDEXESMETADATA_CACHENAME}.
*/
public static final String METADATA_CACHENAME = "metadata_cachename";
/**
* Default name of the cache used to store Locking metadata
*/
public static final String DEFAULT_LOCKING_CACHENAME = "LuceneIndexesLocking";
/**
* Default name of the cache used to store Index Data
*/
public static final String DEFAULT_INDEXESDATA_CACHENAME = "LuceneIndexesData";
/**
* Default name of the cache used to store Index MetaData
*/
public static final String DEFAULT_INDEXESMETADATA_CACHENAME = "LuceneIndexesMetadata";
/**
* Configuration attribute to control if the writes to Index Metadata should be performed asynchronously.
* <p/>
* Defaults to {@code false} if the backend is configured as synchronous and defaults to {@code true} if the backend
* is configured as asynchronous.
* <p/>
* Setting this to {@code true} might improve performance but is highly experimental.
*/
public static final String WRITE_METADATA_ASYNC = "write_metadata_async";
/**
* @param properties the Hibernate Search configuration
* @return the name of the Cache to be retrieved from the CacheManager to store Index Metadata
*/
public static String getMetadataCacheName(Properties properties) {
return properties.getProperty(METADATA_CACHENAME, DEFAULT_INDEXESMETADATA_CACHENAME);
}
/**
* @param properties the Hibernate Search configuration
* @return the name of the Cache to be retrieved from the CacheManager to store Index Data
*/
public static String getDataCacheName(Properties properties) {
return properties.getProperty(DATA_CACHENAME, DEFAULT_INDEXESDATA_CACHENAME);
}
/**
* @param properties the Hibernate Search configuration
* @return the name of the Cache to be retrieved from the CacheManager to store Locking metadata
*/
public static String getLockingCacheName(Properties properties) {
return properties.getProperty(LOCKING_CACHENAME, DEFAULT_LOCKING_CACHENAME);
}
}