All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.cache.configuration.Configuration Maven / Gradle / Ivy

Go to download

Easy Redis Java client and Real-Time Data Platform. Valkey compatible. Sync/Async/RxJava3/Reactive API. Client side caching. Over 50 Redis based Java objects and services: JCache API, Apache Tomcat, Hibernate, Spring, Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Bloom filter, Scheduler, RPC

There is a newer version: 3.40.2
Show newest version
/**
 *  Copyright (c) 2011-2013 Terracotta, Inc.
 *  Copyright (c) 2011-2013 Oracle and/or its affiliates.
 *
 *  All rights reserved. Use is subject to license terms.
 */

package javax.cache.configuration;

import javax.cache.Cache;
import javax.cache.CacheManager;
import java.io.Serializable;

/**
 * A basic read-only representation of a {@link Cache} configuration.
 * 

* The properties provided by instances of this interface are used by * {@link CacheManager}s to configure {@link Cache}s. *

* Implementations of this interface must override {@link Object#hashCode()} and * {@link Object#equals(Object)} as {@link Configuration}s are often compared at * runtime. * * @param the type of keys maintained the cache * @param the type of cached values * @author Greg Luck * @author Brian Oliver * @since 1.0 */ public interface Configuration extends Serializable { /** * Determines the required type of keys for {@link Cache}s configured * with this {@link Configuration}. * * @return the key type or Object.class if the type is undefined */ Class getKeyType(); /** * Determines the required type of values for {@link Cache}s configured * with this {@link Configuration}. * * @return the value type or Object.class if the type is undefined */ Class getValueType(); /** * Whether storeByValue (true) or storeByReference (false). * When true, both keys and values are stored by value. *

* When false, both keys and values are stored by reference. * Caches stored by reference are capable of mutation by any threads holding * the reference. The effects are: *

    *
  • if the key is mutated, then the key may not be retrievable or * removable
  • *
  • if the value is mutated, then all threads in the JVM can potentially * observe those mutations, subject to the normal Java Memory Model rules.
  • *
* Storage by reference only applies to the local heap. If an entry is moved off * heap it will need to be transformed into a representation. Any mutations that * occur after transformation may not be reflected in the cache. *

* When a cache is storeByValue, any mutation to the key or value does not * affect the key of value stored in the cache. *

* The default value is true. * * @return true if the cache is store by value */ boolean isStoreByValue(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy