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

org.wildfly.swarm.config.infinispan.cache_container.InvalidationCache Maven / Gradle / Ivy

package org.wildfly.swarm.config.infinispan.cache_container;

import org.wildfly.swarm.config.runtime.AttributeDocumentation;
import org.wildfly.swarm.config.runtime.ResourceDocumentation;
import org.wildfly.swarm.config.runtime.SingletonResource;
import org.wildfly.swarm.config.runtime.Address;
import org.wildfly.swarm.config.runtime.ResourceType;
import java.beans.PropertyChangeSupport;
import java.beans.PropertyChangeListener;
import java.util.List;
import org.wildfly.swarm.config.runtime.Subresource;
import org.wildfly.swarm.config.infinispan.cache_container.ExpirationComponentConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.ExpirationComponentSupplier;
import org.wildfly.swarm.config.infinispan.cache_container.CustomStoreConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.CustomStoreSupplier;
import org.wildfly.swarm.config.infinispan.cache_container.NoneStoreConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.NoneStoreSupplier;
import org.wildfly.swarm.config.infinispan.cache_container.ObjectMemoryConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.ObjectMemorySupplier;
import org.wildfly.swarm.config.infinispan.cache_container.TransactionComponentConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.TransactionComponentSupplier;
import org.wildfly.swarm.config.infinispan.cache_container.HotrodStoreConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.HotrodStoreSupplier;
import org.wildfly.swarm.config.infinispan.cache_container.BinaryMemoryConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.BinaryMemorySupplier;
import org.wildfly.swarm.config.infinispan.cache_container.BinaryJDBCStoreConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.BinaryJDBCStoreSupplier;
import org.wildfly.swarm.config.infinispan.cache_container.FileStoreConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.FileStoreSupplier;
import org.wildfly.swarm.config.infinispan.cache_container.OffHeapMemoryConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.OffHeapMemorySupplier;
import org.wildfly.swarm.config.infinispan.cache_container.JDBCStoreConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.JDBCStoreSupplier;
import org.wildfly.swarm.config.infinispan.cache_container.LockingComponentConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.LockingComponentSupplier;
import org.wildfly.swarm.config.infinispan.cache_container.MixedJDBCStoreConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.MixedJDBCStoreSupplier;
import org.wildfly.swarm.config.infinispan.cache_container.RemoteStoreConsumer;
import org.wildfly.swarm.config.infinispan.cache_container.RemoteStoreSupplier;
import org.wildfly.swarm.config.runtime.ModelNodeBinding;
import java.util.Map;

/**
 * An invalidation cache
 */
@Address("/subsystem=infinispan/cache-container=*/invalidation-cache=*")
@ResourceType("invalidation-cache")
public class InvalidationCache>
		implements
			org.wildfly.swarm.config.runtime.Keyed {

	private String key;
	private PropertyChangeSupport pcs;
	private InvalidationCacheResources subresources = new InvalidationCacheResources();
	@AttributeDocumentation("The number of cache node activations (bringing a node into memory from a cache store).")
	private Long activations;
	@AttributeDocumentation("If enabled, this will cause marshalling of entries to be performed asynchronously.")
	private Boolean asyncMarshalling;
	@AttributeDocumentation("Average time (in ms) for cache reads. Includes hits and misses.")
	private Long averageReadTime;
	@AttributeDocumentation("The average time taken to replicate data around the cluster.")
	private Long averageReplicationTime;
	@AttributeDocumentation("Average time (in ms) for cache writes.")
	private Long averageWriteTime;
	@AttributeDocumentation("If enabled, the invocation batching API will be made available for this cache.")
	private Boolean batching;
	@AttributeDocumentation("The status of the cache component.")
	private String cacheStatus;
	@AttributeDocumentation("Time (in secs) since cache started.")
	private Long elapsedTime;
	@AttributeDocumentation("The hit/miss ratio for the cache (hits/hits+misses).")
	private Double hitRatio;
	@AttributeDocumentation("The number of cache attribute hits.")
	private Long hits;
	@AttributeDocumentation("If enabled, entries will be indexed when they are added to the cache. Indexes will be updated as entries change or are removed.")
	private String indexing;
	@AttributeDocumentation("Properties to control indexing behaviour")
	private Map indexingProperties;
	@AttributeDocumentation("The number of cache invalidations.")
	private Long invalidations;
	@AttributeDocumentation("The jndi-name to which to bind this cache instance.")
	private String jndiName;
	@AttributeDocumentation("The number of cache attribute misses.")
	private Long misses;
	@AttributeDocumentation("Sets the clustered cache mode, ASYNC for asynchronous operation, or SYNC for synchronous operation.")
	private String mode;
	@AttributeDocumentation("The module whose class loader should be used when building this cache's configuration.")
	private String module;
	@AttributeDocumentation("The number of entries in the cache including passivated entries.")
	private Integer numberOfEntries;
	@AttributeDocumentation("The number of cache node passivations (passivating a node from memory to a cache store).")
	private Long passivations;
	@AttributeDocumentation("In ASYNC mode, this attribute controls how often the asynchronous thread used to flush the replication queue runs. This should be a positive integer which represents thread wakeup time in milliseconds.")
	private Long queueFlushInterval;
	@AttributeDocumentation("In ASYNC mode, this attribute can be used to trigger flushing of the queue when it reaches a specific threshold.")
	private Integer queueSize;
	@AttributeDocumentation("The read/write ratio of the cache ((hits+misses)/stores).")
	private Double readWriteRatio;
	@AttributeDocumentation("In SYNC mode, the timeout (in ms) used to wait for an acknowledgment when making a remote call, after which the call is aborted and an exception is thrown.")
	private Long remoteTimeout;
	@AttributeDocumentation("The number of cache attribute remove hits.")
	private Long removeHits;
	@AttributeDocumentation("The number of cache attribute remove misses.")
	private Long removeMisses;
	@AttributeDocumentation("The number of times data was replicated around the cluster.")
	private Long replicationCount;
	@AttributeDocumentation("The number of data replication failures.")
	private Long replicationFailures;
	@AttributeDocumentation("The cache start mode, which can be EAGER (immediate start) or LAZY (on-demand start).")
	private String start;
	@AttributeDocumentation("If enabled, statistics will be collected for this cache")
	private Boolean statisticsEnabled;
	@AttributeDocumentation("The number of cache attribute put operations.")
	private Long stores;
	@AttributeDocumentation("The data replication success ratio (successes/successes+failures).")
	private Double successRatio;
	@AttributeDocumentation("Time (in secs) since cache statistics were reset.")
	private Long timeSinceReset;

	public InvalidationCache(java.lang.String key) {
		super();
		this.key = key;
	}

	public String getKey() {
		return this.key;
	}

	/**
	 * Adds a property change listener
	 */
	public void addPropertyChangeListener(PropertyChangeListener listener) {
		if (null == this.pcs)
			this.pcs = new PropertyChangeSupport(this);
		this.pcs.addPropertyChangeListener(listener);
	}

	/**
	 * Removes a property change listener
	 */
	public void removePropertyChangeListener(
			java.beans.PropertyChangeListener listener) {
		if (this.pcs != null)
			this.pcs.removePropertyChangeListener(listener);
	}

	public InvalidationCacheResources subresources() {
		return this.subresources;
	}

	/**
	 * The cache expiration configuration.
	 */
	@SuppressWarnings("unchecked")
	public T expirationComponent(
			org.wildfly.swarm.config.infinispan.cache_container.ExpirationComponent value) {
		this.subresources.expirationComponent = value;
		return (T) this;
	}

	/**
	 * The cache expiration configuration.
	 */
	@SuppressWarnings("unchecked")
	public T expirationComponent(ExpirationComponentConsumer consumer) {
		ExpirationComponent child = new ExpirationComponent<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.expirationComponent = child;
		return (T) this;
	}

	/**
	 * The cache expiration configuration.
	 */
	@SuppressWarnings("unchecked")
	public T expirationComponent() {
		ExpirationComponent child = new ExpirationComponent<>();
		this.subresources.expirationComponent = child;
		return (T) this;
	}

	/**
	 * The cache expiration configuration.
	 */
	@SuppressWarnings("unchecked")
	public T expirationComponent(ExpirationComponentSupplier supplier) {
		this.subresources.expirationComponent = supplier.get();
		return (T) this;
	}

	/**
	 * The cache store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T customStore(
			org.wildfly.swarm.config.infinispan.cache_container.CustomStore value) {
		this.subresources.customStore = value;
		return (T) this;
	}

	/**
	 * The cache store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T customStore(CustomStoreConsumer consumer) {
		CustomStore child = new CustomStore<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.customStore = child;
		return (T) this;
	}

	/**
	 * The cache store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T customStore() {
		CustomStore child = new CustomStore<>();
		this.subresources.customStore = child;
		return (T) this;
	}

	/**
	 * The cache store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T customStore(CustomStoreSupplier supplier) {
		this.subresources.customStore = supplier.get();
		return (T) this;
	}

	/**
	 * A store-less configuration.
	 */
	@SuppressWarnings("unchecked")
	public T noneStore(
			org.wildfly.swarm.config.infinispan.cache_container.NoneStore value) {
		this.subresources.noneStore = value;
		return (T) this;
	}

	/**
	 * A store-less configuration.
	 */
	@SuppressWarnings("unchecked")
	public T noneStore(NoneStoreConsumer consumer) {
		NoneStore child = new NoneStore<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.noneStore = child;
		return (T) this;
	}

	/**
	 * A store-less configuration.
	 */
	@SuppressWarnings("unchecked")
	public T noneStore() {
		NoneStore child = new NoneStore<>();
		this.subresources.noneStore = child;
		return (T) this;
	}

	/**
	 * A store-less configuration.
	 */
	@SuppressWarnings("unchecked")
	public T noneStore(NoneStoreSupplier supplier) {
		this.subresources.noneStore = supplier.get();
		return (T) this;
	}

	/**
	 * On-heap object-based memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T objectMemory(
			org.wildfly.swarm.config.infinispan.cache_container.ObjectMemory value) {
		this.subresources.objectMemory = value;
		return (T) this;
	}

	/**
	 * On-heap object-based memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T objectMemory(ObjectMemoryConsumer consumer) {
		ObjectMemory child = new ObjectMemory<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.objectMemory = child;
		return (T) this;
	}

	/**
	 * On-heap object-based memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T objectMemory() {
		ObjectMemory child = new ObjectMemory<>();
		this.subresources.objectMemory = child;
		return (T) this;
	}

	/**
	 * On-heap object-based memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T objectMemory(ObjectMemorySupplier supplier) {
		this.subresources.objectMemory = supplier.get();
		return (T) this;
	}

	/**
	 * The cache transaction configuration.
	 */
	@SuppressWarnings("unchecked")
	public T transactionComponent(
			org.wildfly.swarm.config.infinispan.cache_container.TransactionComponent value) {
		this.subresources.transactionComponent = value;
		return (T) this;
	}

	/**
	 * The cache transaction configuration.
	 */
	@SuppressWarnings("unchecked")
	public T transactionComponent(TransactionComponentConsumer consumer) {
		TransactionComponent child = new TransactionComponent<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.transactionComponent = child;
		return (T) this;
	}

	/**
	 * The cache transaction configuration.
	 */
	@SuppressWarnings("unchecked")
	public T transactionComponent() {
		TransactionComponent child = new TransactionComponent<>();
		this.subresources.transactionComponent = child;
		return (T) this;
	}

	/**
	 * The cache transaction configuration.
	 */
	@SuppressWarnings("unchecked")
	public T transactionComponent(TransactionComponentSupplier supplier) {
		this.subresources.transactionComponent = supplier.get();
		return (T) this;
	}

	/**
	 * HotRod-based store using Infinispan Server instance to store data.
	 */
	@SuppressWarnings("unchecked")
	public T hotrodStore(
			org.wildfly.swarm.config.infinispan.cache_container.HotrodStore value) {
		this.subresources.hotrodStore = value;
		return (T) this;
	}

	/**
	 * HotRod-based store using Infinispan Server instance to store data.
	 */
	@SuppressWarnings("unchecked")
	public T hotrodStore(HotrodStoreConsumer consumer) {
		HotrodStore child = new HotrodStore<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.hotrodStore = child;
		return (T) this;
	}

	/**
	 * HotRod-based store using Infinispan Server instance to store data.
	 */
	@SuppressWarnings("unchecked")
	public T hotrodStore() {
		HotrodStore child = new HotrodStore<>();
		this.subresources.hotrodStore = child;
		return (T) this;
	}

	/**
	 * HotRod-based store using Infinispan Server instance to store data.
	 */
	@SuppressWarnings("unchecked")
	public T hotrodStore(HotrodStoreSupplier supplier) {
		this.subresources.hotrodStore = supplier.get();
		return (T) this;
	}

	/**
	 * On-heap binary-based memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T binaryMemory(
			org.wildfly.swarm.config.infinispan.cache_container.BinaryMemory value) {
		this.subresources.binaryMemory = value;
		return (T) this;
	}

	/**
	 * On-heap binary-based memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T binaryMemory(BinaryMemoryConsumer consumer) {
		BinaryMemory child = new BinaryMemory<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.binaryMemory = child;
		return (T) this;
	}

	/**
	 * On-heap binary-based memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T binaryMemory() {
		BinaryMemory child = new BinaryMemory<>();
		this.subresources.binaryMemory = child;
		return (T) this;
	}

	/**
	 * On-heap binary-based memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T binaryMemory(BinaryMemorySupplier supplier) {
		this.subresources.binaryMemory = supplier.get();
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T binaryJdbcStore(
			org.wildfly.swarm.config.infinispan.cache_container.BinaryJDBCStore value) {
		this.subresources.binaryJdbcStore = value;
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T binaryJdbcStore(BinaryJDBCStoreConsumer consumer) {
		BinaryJDBCStore child = new BinaryJDBCStore<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.binaryJdbcStore = child;
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T binaryJdbcStore() {
		BinaryJDBCStore child = new BinaryJDBCStore<>();
		this.subresources.binaryJdbcStore = child;
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T binaryJdbcStore(BinaryJDBCStoreSupplier supplier) {
		this.subresources.binaryJdbcStore = supplier.get();
		return (T) this;
	}

	/**
	 * The cache file store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T fileStore(
			org.wildfly.swarm.config.infinispan.cache_container.FileStore value) {
		this.subresources.fileStore = value;
		return (T) this;
	}

	/**
	 * The cache file store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T fileStore(FileStoreConsumer consumer) {
		FileStore child = new FileStore<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.fileStore = child;
		return (T) this;
	}

	/**
	 * The cache file store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T fileStore() {
		FileStore child = new FileStore<>();
		this.subresources.fileStore = child;
		return (T) this;
	}

	/**
	 * The cache file store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T fileStore(FileStoreSupplier supplier) {
		this.subresources.fileStore = supplier.get();
		return (T) this;
	}

	/**
	 * Off-heap memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T offHeapMemory(
			org.wildfly.swarm.config.infinispan.cache_container.OffHeapMemory value) {
		this.subresources.offHeapMemory = value;
		return (T) this;
	}

	/**
	 * Off-heap memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T offHeapMemory(OffHeapMemoryConsumer consumer) {
		OffHeapMemory child = new OffHeapMemory<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.offHeapMemory = child;
		return (T) this;
	}

	/**
	 * Off-heap memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T offHeapMemory() {
		OffHeapMemory child = new OffHeapMemory<>();
		this.subresources.offHeapMemory = child;
		return (T) this;
	}

	/**
	 * Off-heap memory configuration.
	 */
	@SuppressWarnings("unchecked")
	public T offHeapMemory(OffHeapMemorySupplier supplier) {
		this.subresources.offHeapMemory = supplier.get();
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T jdbcStore(
			org.wildfly.swarm.config.infinispan.cache_container.JDBCStore value) {
		this.subresources.jdbcStore = value;
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T jdbcStore(JDBCStoreConsumer consumer) {
		JDBCStore child = new JDBCStore<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.jdbcStore = child;
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T jdbcStore() {
		JDBCStore child = new JDBCStore<>();
		this.subresources.jdbcStore = child;
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T jdbcStore(JDBCStoreSupplier supplier) {
		this.subresources.jdbcStore = supplier.get();
		return (T) this;
	}

	/**
	 * The locking configuration of the cache.
	 */
	@SuppressWarnings("unchecked")
	public T lockingComponent(
			org.wildfly.swarm.config.infinispan.cache_container.LockingComponent value) {
		this.subresources.lockingComponent = value;
		return (T) this;
	}

	/**
	 * The locking configuration of the cache.
	 */
	@SuppressWarnings("unchecked")
	public T lockingComponent(LockingComponentConsumer consumer) {
		LockingComponent child = new LockingComponent<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.lockingComponent = child;
		return (T) this;
	}

	/**
	 * The locking configuration of the cache.
	 */
	@SuppressWarnings("unchecked")
	public T lockingComponent() {
		LockingComponent child = new LockingComponent<>();
		this.subresources.lockingComponent = child;
		return (T) this;
	}

	/**
	 * The locking configuration of the cache.
	 */
	@SuppressWarnings("unchecked")
	public T lockingComponent(LockingComponentSupplier supplier) {
		this.subresources.lockingComponent = supplier.get();
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T mixedJdbcStore(
			org.wildfly.swarm.config.infinispan.cache_container.MixedJDBCStore value) {
		this.subresources.mixedJdbcStore = value;
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T mixedJdbcStore(MixedJDBCStoreConsumer consumer) {
		MixedJDBCStore child = new MixedJDBCStore<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.mixedJdbcStore = child;
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T mixedJdbcStore() {
		MixedJDBCStore child = new MixedJDBCStore<>();
		this.subresources.mixedJdbcStore = child;
		return (T) this;
	}

	/**
	 * The cache JDBC store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T mixedJdbcStore(MixedJDBCStoreSupplier supplier) {
		this.subresources.mixedJdbcStore = supplier.get();
		return (T) this;
	}

	/**
	 * The cache remote store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T remoteStore(
			org.wildfly.swarm.config.infinispan.cache_container.RemoteStore value) {
		this.subresources.remoteStore = value;
		return (T) this;
	}

	/**
	 * The cache remote store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T remoteStore(RemoteStoreConsumer consumer) {
		RemoteStore child = new RemoteStore<>();
		if (consumer != null) {
			consumer.accept(child);
		}
		this.subresources.remoteStore = child;
		return (T) this;
	}

	/**
	 * The cache remote store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T remoteStore() {
		RemoteStore child = new RemoteStore<>();
		this.subresources.remoteStore = child;
		return (T) this;
	}

	/**
	 * The cache remote store configuration.
	 */
	@SuppressWarnings("unchecked")
	public T remoteStore(RemoteStoreSupplier supplier) {
		this.subresources.remoteStore = supplier.get();
		return (T) this;
	}

	/**
	 * Child mutators for InvalidationCache
	 */
	public static class InvalidationCacheResources {
		@SingletonResource
		@ResourceDocumentation("The cache expiration configuration.")
		private ExpirationComponent expirationComponent;
		@SingletonResource
		@ResourceDocumentation("The cache store configuration.")
		private CustomStore customStore;
		@SingletonResource
		@ResourceDocumentation("A store-less configuration.")
		private NoneStore noneStore;
		@SingletonResource
		@ResourceDocumentation("On-heap object-based memory configuration.")
		private ObjectMemory objectMemory;
		@SingletonResource
		@ResourceDocumentation("The cache transaction configuration.")
		private TransactionComponent transactionComponent;
		@SingletonResource
		@ResourceDocumentation("HotRod-based store using Infinispan Server instance to store data.")
		private HotrodStore hotrodStore;
		@SingletonResource
		@ResourceDocumentation("On-heap binary-based memory configuration.")
		private BinaryMemory binaryMemory;
		@SingletonResource
		@ResourceDocumentation("The cache JDBC store configuration.")
		private BinaryJDBCStore binaryJdbcStore;
		@SingletonResource
		@ResourceDocumentation("The cache file store configuration.")
		private FileStore fileStore;
		@SingletonResource
		@ResourceDocumentation("Off-heap memory configuration.")
		private OffHeapMemory offHeapMemory;
		@SingletonResource
		@ResourceDocumentation("The cache JDBC store configuration.")
		private JDBCStore jdbcStore;
		@SingletonResource
		@ResourceDocumentation("The locking configuration of the cache.")
		private LockingComponent lockingComponent;
		@SingletonResource
		@ResourceDocumentation("The cache JDBC store configuration.")
		private MixedJDBCStore mixedJdbcStore;
		@SingletonResource
		@ResourceDocumentation("The cache remote store configuration.")
		private RemoteStore remoteStore;

		/**
		 * The cache expiration configuration.
		 */
		@Subresource
		public ExpirationComponent expirationComponent() {
			return this.expirationComponent;
		}

		/**
		 * The cache store configuration.
		 */
		@Subresource
		public CustomStore customStore() {
			return this.customStore;
		}

		/**
		 * A store-less configuration.
		 */
		@Subresource
		public NoneStore noneStore() {
			return this.noneStore;
		}

		/**
		 * On-heap object-based memory configuration.
		 */
		@Subresource
		public ObjectMemory objectMemory() {
			return this.objectMemory;
		}

		/**
		 * The cache transaction configuration.
		 */
		@Subresource
		public TransactionComponent transactionComponent() {
			return this.transactionComponent;
		}

		/**
		 * HotRod-based store using Infinispan Server instance to store data.
		 */
		@Subresource
		public HotrodStore hotrodStore() {
			return this.hotrodStore;
		}

		/**
		 * On-heap binary-based memory configuration.
		 */
		@Subresource
		public BinaryMemory binaryMemory() {
			return this.binaryMemory;
		}

		/**
		 * The cache JDBC store configuration.
		 */
		@Subresource
		public BinaryJDBCStore binaryJdbcStore() {
			return this.binaryJdbcStore;
		}

		/**
		 * The cache file store configuration.
		 */
		@Subresource
		public FileStore fileStore() {
			return this.fileStore;
		}

		/**
		 * Off-heap memory configuration.
		 */
		@Subresource
		public OffHeapMemory offHeapMemory() {
			return this.offHeapMemory;
		}

		/**
		 * The cache JDBC store configuration.
		 */
		@Subresource
		public JDBCStore jdbcStore() {
			return this.jdbcStore;
		}

		/**
		 * The locking configuration of the cache.
		 */
		@Subresource
		public LockingComponent lockingComponent() {
			return this.lockingComponent;
		}

		/**
		 * The cache JDBC store configuration.
		 */
		@Subresource
		public MixedJDBCStore mixedJdbcStore() {
			return this.mixedJdbcStore;
		}

		/**
		 * The cache remote store configuration.
		 */
		@Subresource
		public RemoteStore remoteStore() {
			return this.remoteStore;
		}
	}

	/**
	 * The number of cache node activations (bringing a node into memory from a
	 * cache store).
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "activations")
	public Long activations() {
		return this.activations;
	}

	/**
	 * The number of cache node activations (bringing a node into memory from a
	 * cache store).
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T activations(java.lang.Long value) {
		Object oldValue = this.activations;
		this.activations = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("activations", oldValue, value);
		return (T) this;
	}

	/**
	 * If enabled, this will cause marshalling of entries to be performed
	 * asynchronously.
	 * 
	 * @deprecated Deprecated. Asynchronous marshalling is no longer supported.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "async-marshalling")
	public Boolean asyncMarshalling() {
		return this.asyncMarshalling;
	}

	/**
	 * If enabled, this will cause marshalling of entries to be performed
	 * asynchronously.
	 * 
	 * @deprecated Deprecated. Asynchronous marshalling is no longer supported.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T asyncMarshalling(java.lang.Boolean value) {
		Object oldValue = this.asyncMarshalling;
		this.asyncMarshalling = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("asyncMarshalling", oldValue, value);
		return (T) this;
	}

	/**
	 * Average time (in ms) for cache reads. Includes hits and misses.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "average-read-time")
	public Long averageReadTime() {
		return this.averageReadTime;
	}

	/**
	 * Average time (in ms) for cache reads. Includes hits and misses.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T averageReadTime(java.lang.Long value) {
		Object oldValue = this.averageReadTime;
		this.averageReadTime = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("averageReadTime", oldValue, value);
		return (T) this;
	}

	/**
	 * The average time taken to replicate data around the cluster.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "average-replication-time")
	public Long averageReplicationTime() {
		return this.averageReplicationTime;
	}

	/**
	 * The average time taken to replicate data around the cluster.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T averageReplicationTime(java.lang.Long value) {
		Object oldValue = this.averageReplicationTime;
		this.averageReplicationTime = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("averageReplicationTime", oldValue,
					value);
		return (T) this;
	}

	/**
	 * Average time (in ms) for cache writes.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "average-write-time")
	public Long averageWriteTime() {
		return this.averageWriteTime;
	}

	/**
	 * Average time (in ms) for cache writes.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T averageWriteTime(java.lang.Long value) {
		Object oldValue = this.averageWriteTime;
		this.averageWriteTime = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("averageWriteTime", oldValue, value);
		return (T) this;
	}

	/**
	 * If enabled, the invocation batching API will be made available for this
	 * cache.
	 * 
	 * @deprecated Deprecated. Replaced by BATCH transaction mode.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "batching")
	public Boolean batching() {
		return this.batching;
	}

	/**
	 * If enabled, the invocation batching API will be made available for this
	 * cache.
	 * 
	 * @deprecated Deprecated. Replaced by BATCH transaction mode.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T batching(java.lang.Boolean value) {
		Object oldValue = this.batching;
		this.batching = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("batching", oldValue, value);
		return (T) this;
	}

	/**
	 * The status of the cache component.
	 * 
	 * @deprecated Deprecated. Always returns RUNNING.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "cache-status")
	public String cacheStatus() {
		return this.cacheStatus;
	}

	/**
	 * The status of the cache component.
	 * 
	 * @deprecated Deprecated. Always returns RUNNING.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T cacheStatus(java.lang.String value) {
		Object oldValue = this.cacheStatus;
		this.cacheStatus = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("cacheStatus", oldValue, value);
		return (T) this;
	}

	/**
	 * Time (in secs) since cache started.
	 * 
	 * @deprecated Deprecated. Use time-since-start instead.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "elapsed-time")
	public Long elapsedTime() {
		return this.elapsedTime;
	}

	/**
	 * Time (in secs) since cache started.
	 * 
	 * @deprecated Deprecated. Use time-since-start instead.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T elapsedTime(java.lang.Long value) {
		Object oldValue = this.elapsedTime;
		this.elapsedTime = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("elapsedTime", oldValue, value);
		return (T) this;
	}

	/**
	 * The hit/miss ratio for the cache (hits/hits+misses).
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "hit-ratio")
	public Double hitRatio() {
		return this.hitRatio;
	}

	/**
	 * The hit/miss ratio for the cache (hits/hits+misses).
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T hitRatio(java.lang.Double value) {
		Object oldValue = this.hitRatio;
		this.hitRatio = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("hitRatio", oldValue, value);
		return (T) this;
	}

	/**
	 * The number of cache attribute hits.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "hits")
	public Long hits() {
		return this.hits;
	}

	/**
	 * The number of cache attribute hits.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T hits(java.lang.Long value) {
		Object oldValue = this.hits;
		this.hits = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("hits", oldValue, value);
		return (T) this;
	}

	/**
	 * If enabled, entries will be indexed when they are added to the cache.
	 * Indexes will be updated as entries change or are removed.
	 * 
	 * @deprecated Deprecated. Has no effect.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "indexing")
	public String indexing() {
		return this.indexing;
	}

	/**
	 * If enabled, entries will be indexed when they are added to the cache.
	 * Indexes will be updated as entries change or are removed.
	 * 
	 * @deprecated Deprecated. Has no effect.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T indexing(java.lang.String value) {
		Object oldValue = this.indexing;
		this.indexing = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("indexing", oldValue, value);
		return (T) this;
	}

	/**
	 * Properties to control indexing behaviour
	 * 
	 * @deprecated Deprecated. Has no effect.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "indexing-properties")
	public Map indexingProperties() {
		return this.indexingProperties;
	}

	/**
	 * Properties to control indexing behaviour
	 * 
	 * @deprecated Deprecated. Has no effect.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T indexingProperties(java.util.Map value) {
		Object oldValue = this.indexingProperties;
		this.indexingProperties = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("indexingProperties", oldValue, value);
		return (T) this;
	}

	/**
	 * Properties to control indexing behaviour
	 * 
	 * @deprecated Deprecated. Has no effect.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T indexingProperty(java.lang.String key, java.lang.Object value) {
		if (this.indexingProperties == null) {
			this.indexingProperties = new java.util.HashMap<>();
		}
		this.indexingProperties.put(key, value);
		return (T) this;
	}

	/**
	 * The number of cache invalidations.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "invalidations")
	public Long invalidations() {
		return this.invalidations;
	}

	/**
	 * The number of cache invalidations.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T invalidations(java.lang.Long value) {
		Object oldValue = this.invalidations;
		this.invalidations = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("invalidations", oldValue, value);
		return (T) this;
	}

	/**
	 * The jndi-name to which to bind this cache instance.
	 * 
	 * @deprecated Deprecated. Will be ignored.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "jndi-name")
	public String jndiName() {
		return this.jndiName;
	}

	/**
	 * The jndi-name to which to bind this cache instance.
	 * 
	 * @deprecated Deprecated. Will be ignored.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T jndiName(java.lang.String value) {
		Object oldValue = this.jndiName;
		this.jndiName = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("jndiName", oldValue, value);
		return (T) this;
	}

	/**
	 * The number of cache attribute misses.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "misses")
	public Long misses() {
		return this.misses;
	}

	/**
	 * The number of cache attribute misses.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T misses(java.lang.Long value) {
		Object oldValue = this.misses;
		this.misses = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("misses", oldValue, value);
		return (T) this;
	}

	/**
	 * Sets the clustered cache mode, ASYNC for asynchronous operation, or SYNC
	 * for synchronous operation.
	 * 
	 * @deprecated Deprecated. This attribute will be ignored. All cache modes
	 *             will be treated as SYNC. To perform asynchronous cache
	 *             operations, use Infinispan's asynchronous cache API.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "mode")
	public String mode() {
		return this.mode;
	}

	/**
	 * Sets the clustered cache mode, ASYNC for asynchronous operation, or SYNC
	 * for synchronous operation.
	 * 
	 * @deprecated Deprecated. This attribute will be ignored. All cache modes
	 *             will be treated as SYNC. To perform asynchronous cache
	 *             operations, use Infinispan's asynchronous cache API.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T mode(java.lang.String value) {
		Object oldValue = this.mode;
		this.mode = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("mode", oldValue, value);
		return (T) this;
	}

	/**
	 * The module whose class loader should be used when building this cache's
	 * configuration.
	 */
	@ModelNodeBinding(detypedName = "module")
	public String module() {
		return this.module;
	}

	/**
	 * The module whose class loader should be used when building this cache's
	 * configuration.
	 */
	@SuppressWarnings("unchecked")
	public T module(java.lang.String value) {
		Object oldValue = this.module;
		this.module = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("module", oldValue, value);
		return (T) this;
	}

	/**
	 * The number of entries in the cache including passivated entries.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "number-of-entries")
	public Integer numberOfEntries() {
		return this.numberOfEntries;
	}

	/**
	 * The number of entries in the cache including passivated entries.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T numberOfEntries(java.lang.Integer value) {
		Object oldValue = this.numberOfEntries;
		this.numberOfEntries = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("numberOfEntries", oldValue, value);
		return (T) this;
	}

	/**
	 * The number of cache node passivations (passivating a node from memory to
	 * a cache store).
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "passivations")
	public Long passivations() {
		return this.passivations;
	}

	/**
	 * The number of cache node passivations (passivating a node from memory to
	 * a cache store).
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T passivations(java.lang.Long value) {
		Object oldValue = this.passivations;
		this.passivations = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("passivations", oldValue, value);
		return (T) this;
	}

	/**
	 * In ASYNC mode, this attribute controls how often the asynchronous thread
	 * used to flush the replication queue runs. This should be a positive
	 * integer which represents thread wakeup time in milliseconds.
	 * 
	 * @deprecated Deprecated. This attribute will be ignored.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "queue-flush-interval")
	public Long queueFlushInterval() {
		return this.queueFlushInterval;
	}

	/**
	 * In ASYNC mode, this attribute controls how often the asynchronous thread
	 * used to flush the replication queue runs. This should be a positive
	 * integer which represents thread wakeup time in milliseconds.
	 * 
	 * @deprecated Deprecated. This attribute will be ignored.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T queueFlushInterval(java.lang.Long value) {
		Object oldValue = this.queueFlushInterval;
		this.queueFlushInterval = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("queueFlushInterval", oldValue, value);
		return (T) this;
	}

	/**
	 * In ASYNC mode, this attribute can be used to trigger flushing of the
	 * queue when it reaches a specific threshold.
	 * 
	 * @deprecated Deprecated. This attribute will be ignored.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "queue-size")
	public Integer queueSize() {
		return this.queueSize;
	}

	/**
	 * In ASYNC mode, this attribute can be used to trigger flushing of the
	 * queue when it reaches a specific threshold.
	 * 
	 * @deprecated Deprecated. This attribute will be ignored.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T queueSize(java.lang.Integer value) {
		Object oldValue = this.queueSize;
		this.queueSize = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("queueSize", oldValue, value);
		return (T) this;
	}

	/**
	 * The read/write ratio of the cache ((hits+misses)/stores).
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "read-write-ratio")
	public Double readWriteRatio() {
		return this.readWriteRatio;
	}

	/**
	 * The read/write ratio of the cache ((hits+misses)/stores).
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T readWriteRatio(java.lang.Double value) {
		Object oldValue = this.readWriteRatio;
		this.readWriteRatio = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("readWriteRatio", oldValue, value);
		return (T) this;
	}

	/**
	 * In SYNC mode, the timeout (in ms) used to wait for an acknowledgment when
	 * making a remote call, after which the call is aborted and an exception is
	 * thrown.
	 */
	@ModelNodeBinding(detypedName = "remote-timeout")
	public Long remoteTimeout() {
		return this.remoteTimeout;
	}

	/**
	 * In SYNC mode, the timeout (in ms) used to wait for an acknowledgment when
	 * making a remote call, after which the call is aborted and an exception is
	 * thrown.
	 */
	@SuppressWarnings("unchecked")
	public T remoteTimeout(java.lang.Long value) {
		Object oldValue = this.remoteTimeout;
		this.remoteTimeout = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("remoteTimeout", oldValue, value);
		return (T) this;
	}

	/**
	 * The number of cache attribute remove hits.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "remove-hits")
	public Long removeHits() {
		return this.removeHits;
	}

	/**
	 * The number of cache attribute remove hits.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T removeHits(java.lang.Long value) {
		Object oldValue = this.removeHits;
		this.removeHits = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("removeHits", oldValue, value);
		return (T) this;
	}

	/**
	 * The number of cache attribute remove misses.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "remove-misses")
	public Long removeMisses() {
		return this.removeMisses;
	}

	/**
	 * The number of cache attribute remove misses.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T removeMisses(java.lang.Long value) {
		Object oldValue = this.removeMisses;
		this.removeMisses = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("removeMisses", oldValue, value);
		return (T) this;
	}

	/**
	 * The number of times data was replicated around the cluster.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "replication-count")
	public Long replicationCount() {
		return this.replicationCount;
	}

	/**
	 * The number of times data was replicated around the cluster.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T replicationCount(java.lang.Long value) {
		Object oldValue = this.replicationCount;
		this.replicationCount = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("replicationCount", oldValue, value);
		return (T) this;
	}

	/**
	 * The number of data replication failures.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "replication-failures")
	public Long replicationFailures() {
		return this.replicationFailures;
	}

	/**
	 * The number of data replication failures.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T replicationFailures(java.lang.Long value) {
		Object oldValue = this.replicationFailures;
		this.replicationFailures = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("replicationFailures", oldValue, value);
		return (T) this;
	}

	/**
	 * The cache start mode, which can be EAGER (immediate start) or LAZY
	 * (on-demand start).
	 * 
	 * @deprecated Deprecated. Only LAZY mode is supported.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "start")
	public String start() {
		return this.start;
	}

	/**
	 * The cache start mode, which can be EAGER (immediate start) or LAZY
	 * (on-demand start).
	 * 
	 * @deprecated Deprecated. Only LAZY mode is supported.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T start(java.lang.String value) {
		Object oldValue = this.start;
		this.start = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("start", oldValue, value);
		return (T) this;
	}

	/**
	 * If enabled, statistics will be collected for this cache
	 */
	@ModelNodeBinding(detypedName = "statistics-enabled")
	public Boolean statisticsEnabled() {
		return this.statisticsEnabled;
	}

	/**
	 * If enabled, statistics will be collected for this cache
	 */
	@SuppressWarnings("unchecked")
	public T statisticsEnabled(java.lang.Boolean value) {
		Object oldValue = this.statisticsEnabled;
		this.statisticsEnabled = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("statisticsEnabled", oldValue, value);
		return (T) this;
	}

	/**
	 * The number of cache attribute put operations.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "stores")
	public Long stores() {
		return this.stores;
	}

	/**
	 * The number of cache attribute put operations.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T stores(java.lang.Long value) {
		Object oldValue = this.stores;
		this.stores = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("stores", oldValue, value);
		return (T) this;
	}

	/**
	 * The data replication success ratio (successes/successes+failures).
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "success-ratio")
	public Double successRatio() {
		return this.successRatio;
	}

	/**
	 * The data replication success ratio (successes/successes+failures).
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T successRatio(java.lang.Double value) {
		Object oldValue = this.successRatio;
		this.successRatio = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("successRatio", oldValue, value);
		return (T) this;
	}

	/**
	 * Time (in secs) since cache statistics were reset.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@Deprecated
	@ModelNodeBinding(detypedName = "time-since-reset")
	public Long timeSinceReset() {
		return this.timeSinceReset;
	}

	/**
	 * Time (in secs) since cache statistics were reset.
	 * 
	 * @deprecated Deprecated. Use metric from corresponding runtime cache
	 *             resource.
	 */
	@SuppressWarnings("unchecked")
	@Deprecated
	public T timeSinceReset(java.lang.Long value) {
		Object oldValue = this.timeSinceReset;
		this.timeSinceReset = value;
		if (this.pcs != null)
			this.pcs.firePropertyChange("timeSinceReset", oldValue, value);
		return (T) this;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy