Class AbstractCacheConfig<K,​V>

    • Field Detail

      • cacheLoaderFactory

        protected com.hazelcast.cache.impl.DeferredValue<javax.cache.configuration.Factory<javax.cache.integration.CacheLoader<K,​V>>> cacheLoaderFactory
        The Factory for the CacheLoader.
      • cacheWriterFactory

        protected com.hazelcast.cache.impl.DeferredValue<javax.cache.configuration.Factory<javax.cache.integration.CacheWriter<? super K,​? super V>>> cacheWriterFactory
        The Factory for the CacheWriter.
      • expiryPolicyFactory

        protected com.hazelcast.cache.impl.DeferredValue<javax.cache.configuration.Factory<javax.cache.expiry.ExpiryPolicy>> expiryPolicyFactory
        The Factory for the ExpiryPolicy.
      • isReadThrough

        protected boolean isReadThrough
        A flag indicating if "read-through" mode is required.
      • isWriteThrough

        protected boolean isWriteThrough
        A flag indicating if "write-through" mode is required.
      • isStatisticsEnabled

        protected boolean isStatisticsEnabled
        A flag indicating if statistics gathering is enabled.
      • isStoreByValue

        protected boolean isStoreByValue
        A flag indicating if the cache will be store-by-value or store-by-reference.
      • isManagementEnabled

        protected boolean isManagementEnabled
        Whether management is enabled
      • classLoader

        protected transient java.lang.ClassLoader classLoader
        The ClassLoader to be used to resolve key & value types, if set
      • serializationService

        protected transient com.hazelcast.internal.serialization.SerializationService serializationService
      • listenerConfigurations

        protected java.util.Set<com.hazelcast.cache.impl.DeferredValue<javax.cache.configuration.CacheEntryListenerConfiguration<K,​V>>> listenerConfigurations
        The CacheEntryListenerConfigurations for the Configuration.
    • Constructor Detail

      • AbstractCacheConfig

        public AbstractCacheConfig()
      • AbstractCacheConfig

        public AbstractCacheConfig​(javax.cache.configuration.CompleteConfiguration<K,​V> configuration)
    • Method Detail

      • addCacheEntryListenerConfiguration

        public CacheConfiguration<K,​V> addCacheEntryListenerConfiguration​(javax.cache.configuration.CacheEntryListenerConfiguration<K,​V> cacheEntryListenerConfiguration)
        Add a configuration for a CacheEntryListener.
        Specified by:
        addCacheEntryListenerConfiguration in interface CacheConfiguration<K,​V>
        Parameters:
        cacheEntryListenerConfiguration - the CacheEntryListenerConfiguration
        Returns:
        the CacheConfig
        Throws:
        java.lang.IllegalArgumentException - if the same CacheEntryListenerConfiguration is used more than once
      • removeCacheEntryListenerConfiguration

        public CacheConfiguration<K,​V> removeCacheEntryListenerConfiguration​(javax.cache.configuration.CacheEntryListenerConfiguration<K,​V> cacheEntryListenerConfiguration)
        Remove a configuration for a CacheEntryListener.
        Specified by:
        removeCacheEntryListenerConfiguration in interface CacheConfiguration<K,​V>
        Parameters:
        cacheEntryListenerConfiguration - the CacheEntryListenerConfiguration to remove
        Returns:
        the CacheConfig
      • getCacheEntryListenerConfigurations

        public java.lang.Iterable<javax.cache.configuration.CacheEntryListenerConfiguration<K,​V>> getCacheEntryListenerConfigurations()
        Specified by:
        getCacheEntryListenerConfigurations in interface javax.cache.configuration.CompleteConfiguration<K,​V>
      • isReadThrough

        public boolean isReadThrough()
        Specified by:
        isReadThrough in interface javax.cache.configuration.CompleteConfiguration<K,​V>
      • setReadThrough

        public CacheConfiguration<K,​V> setReadThrough​(boolean isReadThrough)
        Description copied from interface: CacheConfiguration
        Set if read-through caching should be used.

        It is an invalid configuration to set this to true without specifying a CacheLoader Factory.

        Specified by:
        setReadThrough in interface CacheConfiguration<K,​V>
        Parameters:
        isReadThrough - true if read-through is required, false otherwise
        Returns:
        the CacheConfiguration to permit fluent-style method calls
      • isWriteThrough

        public boolean isWriteThrough()
        Specified by:
        isWriteThrough in interface javax.cache.configuration.CompleteConfiguration<K,​V>
      • setWriteThrough

        public CacheConfiguration<K,​V> setWriteThrough​(boolean isWriteThrough)
        Description copied from interface: CacheConfiguration
        Set if write-through caching should be used.

        It is an invalid configuration to set this to true without specifying a CacheWriter Factory.

        Specified by:
        setWriteThrough in interface CacheConfiguration<K,​V>
        Parameters:
        isWriteThrough - true if write-through is required, false otherwise
        Returns:
        the CacheConfiguration to permit fluent-style method calls
      • isStatisticsEnabled

        public boolean isStatisticsEnabled()
        Specified by:
        isStatisticsEnabled in interface javax.cache.configuration.CompleteConfiguration<K,​V>
      • setStatisticsEnabled

        public CacheConfiguration<K,​V> setStatisticsEnabled​(boolean enabled)
        Sets whether or not statistics gathering is enabled on this cache.

        Statistics may be enabled or disabled at runtime via CacheManager.enableStatistics(String, boolean).

        Specified by:
        setStatisticsEnabled in interface CacheConfiguration<K,​V>
        Parameters:
        enabled - true to enable statistics, false to disable
        Returns:
        the CacheConfig
      • isManagementEnabled

        public boolean isManagementEnabled()
        Specified by:
        isManagementEnabled in interface javax.cache.configuration.CompleteConfiguration<K,​V>
      • setManagementEnabled

        public CacheConfiguration<K,​V> setManagementEnabled​(boolean enabled)
        Sets whether or not management is enabled on this cache.

        Management may be enabled or disabled at runtime via CacheManager.enableManagement(String, boolean).

        Specified by:
        setManagementEnabled in interface CacheConfiguration<K,​V>
        Parameters:
        enabled - true to enable management, false to disable
        Returns:
        the CacheConfig
      • getHotRestartConfig

        @Nonnull
        public HotRestartConfig getHotRestartConfig()
        Gets the HotRestartConfig for this CacheConfiguration
        Returns:
        hot restart config
      • getDataPersistenceConfig

        @Nonnull
        public DataPersistenceConfig getDataPersistenceConfig()
        Gets the PersistConfig for this CacheConfiguration
        Returns:
        dataPersistenceConfig config
      • setDataPersistenceConfig

        public CacheConfiguration<K,​V> setDataPersistenceConfig​(@Nonnull
                                                                      DataPersistenceConfig dataPersistenceConfig)
        Sets the DataPersistenceConfig for this CacheConfiguration
        Parameters:
        dataPersistenceConfig - dataPersistenceConfig config
        Returns:
        this CacheConfiguration instance
      • getEventJournalConfig

        @Nonnull
        public EventJournalConfig getEventJournalConfig()
        Gets the EventJournalConfig for this CacheConfiguration
        Returns:
        event journal config
      • setEventJournalConfig

        public CacheConfiguration<K,​V> setEventJournalConfig​(@Nonnull
                                                                   EventJournalConfig eventJournalConfig)
        Sets the EventJournalConfig for this CacheConfiguration
        Parameters:
        eventJournalConfig - event journal config
        Returns:
        this CacheConfiguration instance
      • getCacheLoaderFactory

        public javax.cache.configuration.Factory<javax.cache.integration.CacheLoader<K,​V>> getCacheLoaderFactory()
        Specified by:
        getCacheLoaderFactory in interface javax.cache.configuration.CompleteConfiguration<K,​V>
      • setExpiryPolicyFactory

        public CacheConfiguration<K,​V> setExpiryPolicyFactory​(javax.cache.configuration.Factory<? extends javax.cache.expiry.ExpiryPolicy> expiryPolicyFactory)
        Description copied from interface: CacheConfiguration
        Set the Factory for the ExpiryPolicy. If null is specified the default ExpiryPolicy is used.
        Specified by:
        setExpiryPolicyFactory in interface CacheConfiguration<K,​V>
        Parameters:
        expiryPolicyFactory - the ExpiryPolicy Factory
        Returns:
        the CacheConfiguration to permit fluent-style method calls
      • setCacheWriterFactory

        public CacheConfiguration<K,​V> setCacheWriterFactory​(javax.cache.configuration.Factory<? extends javax.cache.integration.CacheWriter<? super K,​? super V>> cacheWriterFactory)
        Description copied from interface: CacheConfiguration
        Set the CacheWriter factory.
        Specified by:
        setCacheWriterFactory in interface CacheConfiguration<K,​V>
        Parameters:
        cacheWriterFactory - the CacheWriter Factory
        Returns:
        the CacheConfiguration to permit fluent-style method calls
      • getCacheWriterFactory

        public javax.cache.configuration.Factory<javax.cache.integration.CacheWriter<? super K,​? super V>> getCacheWriterFactory()
        Specified by:
        getCacheWriterFactory in interface javax.cache.configuration.CompleteConfiguration<K,​V>
      • getExpiryPolicyFactory

        public javax.cache.configuration.Factory<javax.cache.expiry.ExpiryPolicy> getExpiryPolicyFactory()
        Specified by:
        getExpiryPolicyFactory in interface javax.cache.configuration.CompleteConfiguration<K,​V>
      • getKeyType

        public java.lang.Class<K> getKeyType()
        Specified by:
        getKeyType in interface javax.cache.configuration.Configuration<K,​V>
      • getKeyClassName

        public java.lang.String getKeyClassName()
      • setKeyClassName

        public CacheConfiguration<K,​V> setKeyClassName​(java.lang.String keyClassName)
      • getValueType

        public java.lang.Class<V> getValueType()
        Specified by:
        getValueType in interface javax.cache.configuration.Configuration<K,​V>
      • getValueClassName

        public java.lang.String getValueClassName()
      • setValueClassName

        public CacheConfiguration<K,​V> setValueClassName​(java.lang.String valueClassName)
      • setTypes

        public CacheConfiguration<K,​V> setTypes​(java.lang.Class<K> keyType,
                                                      java.lang.Class<V> valueType)
        Sets the expected type of keys and values for a Cache configured with this Configuration. Setting both to Object.class means type-safety checks are not required.

        This is used by CacheManager to ensure that the key and value types are the same as those configured for the Cache prior to returning a requested cache from this method.

        Implementations may further perform type checking on mutative cache operations and throw a ClassCastException if these checks fail.

        Specified by:
        setTypes in interface CacheConfiguration<K,​V>
        Parameters:
        keyType - the expected key type
        valueType - the expected value type
        Returns:
        the CacheConfig
        Throws:
        java.lang.NullPointerException - should the key or value type be null
        See Also:
        CacheManager.getCache(String, Class, Class)
      • isStoreByValue

        public boolean isStoreByValue()
        Specified by:
        isStoreByValue in interface javax.cache.configuration.Configuration<K,​V>
      • setStoreByValue

        public CacheConfiguration<K,​V> setStoreByValue​(boolean storeByValue)
        Set if a configured cache should use store-by-value or store-by-reference semantics.
        Specified by:
        setStoreByValue in interface CacheConfiguration<K,​V>
        Parameters:
        storeByValue - true if store-by-value is required, false for store-by-reference
        Returns:
        the CacheConfig
      • createConcurrentSet

        protected java.util.Set<com.hazelcast.cache.impl.DeferredValue<javax.cache.configuration.CacheEntryListenerConfiguration<K,​V>>> createConcurrentSet()
      • setListenerConfigurations

        protected CacheConfiguration<K,​V> setListenerConfigurations​(java.util.Set<javax.cache.configuration.CacheEntryListenerConfiguration<K,​V>> listeners)
      • getListenerConfigurations

        public java.util.Set<javax.cache.configuration.CacheEntryListenerConfiguration<K,​V>> getListenerConfigurations()
      • hasListenerConfiguration

        protected boolean hasListenerConfiguration()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • setClassLoader

        protected void setClassLoader​(java.lang.ClassLoader classLoader)