Java Code Examples for javax.cache.configuration.Configuration#getValueType()

The following examples show how to use javax.cache.configuration.Configuration#getValueType() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CacheManagerImpl.java    From caffeine with Apache License 2.0 6 votes vote down vote up
@Override
public @Nullable <K, V> Cache<K, V> getCache(
    String cacheName, Class<K> keyType, Class<V> valueType) {
  CacheProxy<K, V> cache = getCache(cacheName);
  if (cache == null) {
    return null;
  }
  requireNonNull(keyType);
  requireNonNull(valueType);

  Configuration<?, ?> config = cache.getConfiguration();
  if (keyType != config.getKeyType()) {
    throw new ClassCastException("Incompatible cache key types specified, expected " +
        config.getKeyType() + " but " + keyType + " was specified");
  } else if (valueType != config.getValueType()) {
    throw new ClassCastException("Incompatible cache value types specified, expected " +
        config.getValueType() + " but " + valueType + " was specified");
  }
  return cache;
}
 
Example 2
Source File: CsCache107Manager.java    From demo_cache with Apache License 2.0 5 votes vote down vote up
@SuppressWarnings("unchecked")
@Override
public <K, V> Cache<K, V> getCache(String cacheName, Class<K> keyClazz, Class<V> valueClazz) {
	if (isClosed()) {
		throw new IllegalStateException();
	}

	checkNotNull(keyClazz, "keyType");
	checkNotNull(valueClazz, "valueType");

	CsCache107<K, V> cache = (CsCache107<K, V>) caches.get(cacheName);

	if (cache == null) {
		return null;
	} else {
		Configuration<?, ?> configuration = cache.getConfiguration(Configuration.class);

		if (configuration.getKeyType() != null && configuration.getKeyType().equals(keyClazz)) {
			if (configuration.getValueType() != null && configuration.getValueType().equals(valueClazz)) {
				return cache;
			} else {
				throw new ClassCastException("Incompatible cache value types specified, expected "
						+ configuration.getValueType() + " but " + keyClazz + " was specified");
			}
		} else {
			throw new ClassCastException("Incompatible cache key types specified, expected "
					+ configuration.getKeyType() + " but " + valueClazz + " was specified");
		}
	}
}
 
Example 3
Source File: RepositoryCacheManager.java    From mobi with GNU Affero General Public License v3.0 5 votes vote down vote up
@Override
@SuppressWarnings("unchecked")
public <K, V> Cache<K, V> getCache(String cacheName, Class<K> keyType, Class<V> valueType) {
    if (cacheName == null) {
        throw new IllegalArgumentException("CacheName must not be null");
    }
    if (keyType == null) {
        throw new IllegalArgumentException("KeyType must not be null");
    }
    if (valueType == null) {
        throw new IllegalArgumentException("KeyType must not be null");
    }

    Cache<K, V> cache = getCache(cacheName);
    if (cache == null) {
        return null;
    }

    Configuration<?, ?> config = cache.getConfiguration(CompleteConfiguration.class);
    if (keyType != config.getKeyType()) {
        throw new ClassCastException("Incompatible cache key types specified, expected "
                + config.getKeyType() + " but " + keyType + " was specified");
    } else if (valueType != config.getValueType()) {
        throw new ClassCastException("Incompatible cache value types specified, expected "
                +  config.getValueType() + " but " + valueType + " was specified");
    }
    return cache;
}
 
Example 4
Source File: Builder.java    From triava with Apache License 2.0 4 votes vote down vote up
/**
 * Copies the configuration to the target Builder. If the source (configuration)
 * is also a Builder, its fields also get copied. Any null-value in the
 * configuration is ignored in the copying process, leaving the corresponding
 * target value unchanged. The CacheWriteMode can be
 * defined in two ways: If configuration is a Builder it is copied plainly,
 * otherwise it is derived from configuration.isStoreByValue().
 * 
 * @param configuration The source builder
 * @param target The target builder
 */
private void copyBuilder(Configuration<K, V> configuration, Builder<K, V> target)
{
	CacheWriteMode tcacheWriteMode = null;
	if (configuration instanceof Builder)
	{
		Builder<K, V> sourceB = (Builder<K, V>)configuration;
		// tCache native configuration
		if (sourceB.id != null)
			target.id = sourceB.id;
		target.strictJSR107 = sourceB.strictJSR107;
		target.maxCacheTime = sourceB.maxCacheTime;
		target.maxCacheTimeSpread = sourceB.maxCacheTimeSpread;
		this.cleanUpIntervalMillis = sourceB.cleanUpIntervalMillis;
		target.expectedMapSize = sourceB.expectedMapSize;
		target.concurrencyLevel = sourceB.concurrencyLevel;
		if (sourceB.evictionPolicy != null)
			target.evictionPolicy = sourceB.evictionPolicy;
		if (sourceB.evictionClass != null)
			target.evictionClass = sourceB.evictionClass;			
		if (sourceB.hashImplementation != null)
			target.hashImplementation = sourceB.hashImplementation;
		if (sourceB.jamPolicy != null)
			target.jamPolicy = sourceB.jamPolicy;
		if (sourceB.loader != null)
			target.loader = sourceB.loader; // loader vs loaderFactory

		tcacheWriteMode = sourceB.writeMode;
	}
	
	if (configuration instanceof CompleteConfiguration)
	{
		CompleteConfiguration<K,V> cc = (CompleteConfiguration<K,V>)configuration;
		target.statistics = cc.isStatisticsEnabled();
		target.management = cc.isManagementEnabled();
		
		target.expiryPolicyFactory = cc.getExpiryPolicyFactory();
		target.writerFactory = cc.getCacheWriterFactory();
		Factory<javax.cache.integration.CacheLoader<K, V>> lf = cc.getCacheLoaderFactory();
		if (lf != null)
		{
			target.loader = null; // loader vs loaderFactory
			target.loaderFactory = lf;
		}
		
		Collection<CacheEntryListenerConfiguration<K, V>> listenerConfsCopy = new ArrayList<>(0);
		for (CacheEntryListenerConfiguration<K, V> entry : cc.getCacheEntryListenerConfigurations())
		{
			listenerConfsCopy.add(entry);
		}
		target.listenerConfigurations = listenerConfsCopy;
		
		target.writeThrough = cc.isWriteThrough();
		target.readThrough =  cc.isReadThrough();
	}
	
	// JSR107 configuration follows
	if (tcacheWriteMode != null)
		target.writeMode = tcacheWriteMode;
	else
		target.writeMode = CacheWriteMode.fromStoreByValue(configuration.isStoreByValue());
	
	target.keyType = configuration.getKeyType();
	target.valueType = configuration.getValueType();

}
 
Example 5
Source File: BlazingCacheCache.java    From blazingcache with Apache License 2.0 4 votes vote down vote up
public BlazingCacheCache(String cacheName, CacheClient client, CacheManager cacheManager, Serializer<K, String, String> keysSerializer,
        Serializer<V, InputStream, byte[]> valuesSerializer, boolean usefetch, Configuration<K, V> configuration) {
    this.cacheName = cacheName;
    this.cacheManager = cacheManager;
    this.client = client;
    this.keysSerializer = keysSerializer;
    this.valuesSerializer = valuesSerializer;
    this.valueType = configuration.getValueType();
    this.keyType = configuration.getKeyType();
    this.usefetch = usefetch;
    this.configurationMXBean = new BlazingCacheConfigurationMXBean<>(this);
    this.statisticsMXBean = new BlazingCacheStatisticsMXBean<>(this);
    this.storeByReference = !configuration.isStoreByValue();
    if (configuration instanceof CompleteConfiguration) {
        this.configuration = new MutableConfiguration<>((CompleteConfiguration<K, V>) configuration);
        CompleteConfiguration<K, V> cc = (CompleteConfiguration<K, V>) configuration;
        if (cc.getExpiryPolicyFactory() == null) {
            throw new IllegalArgumentException("ExpiryPolicyFactory cannot be null");
        } else {
            ExpiryPolicy _policy = cc.getExpiryPolicyFactory().create();;
            if (_policy == null) {
                throw new IllegalArgumentException("ExpiryPolicy cannot be null");
            }
            if (_policy instanceof EternalExpiryPolicy) {
                this.policy = null; // shortcut for the most common case
            } else {
                this.policy = _policy;
            }
        }

        if (cc.getCacheLoaderFactory() != null) {
            cacheLoader = (CacheLoader) cc.getCacheLoaderFactory().create();
        } else {
            cacheLoader = null;
        }
        if (cc.getCacheWriterFactory() != null) {
            cacheWriter = (CacheWriter<K, V>) cc.getCacheWriterFactory().create();
        } else {
            cacheWriter = null;
        }
        isReadThrough = cc.isReadThrough();
        isWriteThrough = cc.isWriteThrough();
        needPreviuosValueForListeners = policy != null;
        if (cc.getCacheEntryListenerConfigurations() != null) {
            for (CacheEntryListenerConfiguration<K, V> listenerConfig : cc.getCacheEntryListenerConfigurations()) {
                configureListener(listenerConfig);
            }
        }
    } else {
        this.configuration = new MutableConfiguration<K, V>()
                .setTypes(configuration.getKeyType(), configuration.getValueType())
                .setStoreByValue(configuration.isStoreByValue());
        this.policy = null; // means "eternal"
        cacheLoader = null;
        needPreviuosValueForListeners = false;
        cacheWriter = null;
        isReadThrough = false;
        isWriteThrough = false;
    }
    if (isReadThrough && cacheLoader == null) {
        throw new IllegalArgumentException("cache isReadThrough=" + isReadThrough + " cacheLoader=" + cacheLoader);
    }
    if (isWriteThrough && cacheWriter == null) {
        throw new IllegalArgumentException("cache isWriteThrough=" + isWriteThrough + " cacheWriter=" + cacheWriter);
    }
    if (this.configuration.isManagementEnabled()) {
        setManagementEnabled(true);
    }

    if (this.configuration.isStatisticsEnabled()) {
        setStatisticsEnabled(true);
    }

}
 
Example 6
Source File: Eh107CompleteConfiguration.java    From ehcache3 with Apache License 2.0 4 votes vote down vote up
public Eh107CompleteConfiguration(Configuration<K, V> config, final CacheConfiguration<K, V> ehcacheConfig, boolean useEhcacheExpiry, boolean useEhcacheLoaderWriter) {
  this.ehcacheConfig = ehcacheConfig;
  this.keyType = config.getKeyType();
  this.valueType = config.getValueType();
  this.isStoreByValue = isStoreByValue(config, ehcacheConfig);

  Factory<ExpiryPolicy> tempExpiryPolicyFactory = EternalExpiryPolicy.factoryOf();

  if (config instanceof CompleteConfiguration) {
    CompleteConfiguration<K, V> completeConfig = (CompleteConfiguration<K, V>) config;
    this.isReadThrough = completeConfig.isReadThrough();
    this.isWriteThrough = completeConfig.isWriteThrough();
    this.isStatisticsEnabled = completeConfig.isStatisticsEnabled();
    this.isManagementEnabled = completeConfig.isManagementEnabled();

    if (useEhcacheLoaderWriter) {
      this.cacheLoaderFactory = createThrowingFactory();
      this.cacheWriterFactory = createThrowingFactory();
    } else {
      this.cacheLoaderFactory = completeConfig.getCacheLoaderFactory();
      this.cacheWriterFactory = completeConfig.getCacheWriterFactory();
    }

    tempExpiryPolicyFactory = completeConfig.getExpiryPolicyFactory();
    for (CacheEntryListenerConfiguration<K, V> listenerConfig : completeConfig.getCacheEntryListenerConfigurations()) {
      cacheEntryListenerConfigs.add(listenerConfig);
    }
  } else {
    this.isReadThrough = false;
    this.isWriteThrough = false;
    this.isStatisticsEnabled = false;
    this.isManagementEnabled = false;
    this.cacheLoaderFactory = null;
    this.cacheWriterFactory = null;
  }

  if (useEhcacheExpiry) {
    tempExpiryPolicyFactory = createThrowingFactory();
  }

  this.expiryPolicyFactory = tempExpiryPolicyFactory;
}