Files
alfresco-community-repo/source/java/org/alfresco/repo/cache/AbstractCacheFactory.java
Raluca Munteanu 8674e2bfc8 Merged 5.1.N (5.1.2) to 5.2.N (5.2.1)
125603 rmunteanu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2)
      125484 slanglois: MNT-16155 Update source headers - remove old Copyrights from Java and JSP dource files


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@125781 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2016-04-26 12:48:49 +00:00

45 lines
1.4 KiB
Java

package org.alfresco.repo.cache;
import java.io.Serializable;
import java.util.Properties;
/**
* Abstract {@link CacheFactory} implementation containing common functionality
* such as cache configuration properties support.
*
* @author Matt Ward
*/
public abstract class AbstractCacheFactory<K extends Serializable, V> implements CacheFactory<K, V>
{
private static final String PROP_SEPERATOR = ".";
private Properties properties;
public String getProperty(String cacheName, String propName, final String defaultValue)
{
final String fqPropName = cacheName + PROP_SEPERATOR + propName;
String value = properties.getProperty(fqPropName);
if (value != null)
{
value = value.trim();
}
if (value == null || value.isEmpty())
{
value = defaultValue;
}
return value;
}
/**
* Provide properties to parameterize cache creation. Cache properties are prefixed
* with the cacheName supplied when invoking {@link DefaultCacheFactory#createCache(String)}.
* For example, for a cache named cache.ticketsCache the property cache.ticketsCache.maxItems
* will determine the capacity of the cache.
*
* @param properties Properties
*/
public void setProperties(Properties properties)
{
this.properties = properties;
}
}