Class CacheSimpleConfig

  • All Implemented Interfaces:
    NamedConfig, DataSerializable, IdentifiedDataSerializable, com.hazelcast.nio.serialization.impl.Versioned

    public class CacheSimpleConfig
    extends java.lang.Object
    implements IdentifiedDataSerializable, NamedConfig, com.hazelcast.nio.serialization.impl.Versioned
    Simple configuration to hold parsed XML configuration. CacheConfig depends on the JCache API. If the JCache API is not in the classpath, you can use CacheSimpleConfig as a communicator between the code and CacheConfig.
    • Field Detail

      • MIN_BACKUP_COUNT

        public static final int MIN_BACKUP_COUNT
        The minimum number of backups.
        See Also:
        Constant Field Values
      • MAX_BACKUP_COUNT

        public static final int MAX_BACKUP_COUNT
        The maximum number of backups.
        See Also:
        Constant Field Values
      • DEFAULT_BACKUP_COUNT

        public static final int DEFAULT_BACKUP_COUNT
        The default number of backups.
        See Also:
        Constant Field Values
      • DEFAULT_IN_MEMORY_FORMAT

        public static final InMemoryFormat DEFAULT_IN_MEMORY_FORMAT
        Default InMemory Format.
    • Constructor Detail

      • CacheSimpleConfig

        public CacheSimpleConfig​(CacheSimpleConfig cacheSimpleConfig)
      • CacheSimpleConfig

        public CacheSimpleConfig​(java.lang.String name)
        Create a Cache Simple Config for a cache with a specific name.
        Parameters:
        name - cache name
      • CacheSimpleConfig

        public CacheSimpleConfig()
    • Method Detail

      • getName

        public java.lang.String getName()
        Gets the name of this ICache.
        Specified by:
        getName in interface NamedConfig
        Returns:
        the name of the ICache
      • setName

        public CacheSimpleConfig setName​(java.lang.String name)
        Sets the name of this ICache.
        Specified by:
        setName in interface NamedConfig
        Parameters:
        name - the name to set for this ICache
        Returns:
        the current cache config instance
      • getKeyType

        public java.lang.String getKeyType()
        Gets the key type for this ICache.
        Returns:
        the key type
      • setKeyType

        public CacheSimpleConfig setKeyType​(java.lang.String keyType)
        Sets the key type for this ICache.
        Parameters:
        keyType - the key type to set for this ICache
        Returns:
        the current cache config instance
      • getValueType

        public java.lang.String getValueType()
        Gets the value type for this ICache.
        Returns:
        the value type for this ICache
      • setValueType

        public CacheSimpleConfig setValueType​(java.lang.String valueType)
        Sets the value type for this ICache.
        Parameters:
        valueType - the value type to set for this ICache
        Returns:
        the current cache config instance
      • isStatisticsEnabled

        public boolean isStatisticsEnabled()
        Checks if statistics are enabled for this ICache.
        Returns:
        true if statistics are enabled, false otherwise
      • setStatisticsEnabled

        public CacheSimpleConfig setStatisticsEnabled​(boolean statisticsEnabled)
        Sets statistics to enabled or disabled for this ICache.
        Parameters:
        statisticsEnabled - true to enable cache statistics, false to disable
        Returns:
        the current cache config instance
      • isManagementEnabled

        public boolean isManagementEnabled()
        Checks if management is enabled for this ICache.
        Returns:
        true if cache management is enabled, false otherwise
      • setManagementEnabled

        public CacheSimpleConfig setManagementEnabled​(boolean managementEnabled)
        Sets management to enabled or disabled for this ICache.
        Parameters:
        managementEnabled - true to enable cache management, false to disable
        Returns:
        the current cache config instance
      • isReadThrough

        public boolean isReadThrough()
        Checks if this ICache is read-through: a read loads the entry from the data store if it is not already in the cache.
        Returns:
        true if the cache is read-through, false otherwise
      • setReadThrough

        public CacheSimpleConfig setReadThrough​(boolean readThrough)
        Enables or disables read-through: a read loads the entry from the data store if it is not already in the cache.
        Parameters:
        readThrough - true to enable read-through for this ICache, false to disable
        Returns:
        the current cache config instance
      • isWriteThrough

        public boolean isWriteThrough()
        Checks if the ICache is write-through: a write to the queue also loads the entry into the data store.
        Returns:
        true if the cache is write-through, false otherwise
      • setWriteThrough

        public CacheSimpleConfig setWriteThrough​(boolean writeThrough)
        Enables or disables write-through for this ICache: a write to the queue also loads the entry into the data store.
        Parameters:
        writeThrough - true to enable write-through, false to disable
        Returns:
        the current cache config instance
      • getCacheLoaderFactory

        public java.lang.String getCacheLoaderFactory()
        Gets the factory for the CacheLoader.
        Returns:
        the factory for the CacheLoader
      • setCacheLoaderFactory

        public CacheSimpleConfig setCacheLoaderFactory​(java.lang.String cacheLoaderFactory)
        Sets the factory for this CacheLoader.
        Parameters:
        cacheLoaderFactory - the factory to set for this CacheLoader
        Returns:
        the current cache config instance
      • getCacheLoader

        public java.lang.String getCacheLoader()
        Get classname of a class to be used as CacheLoader.
        Returns:
        classname to be used as CacheLoader
      • setCacheLoader

        public CacheSimpleConfig setCacheLoader​(java.lang.String cacheLoader)
        Set classname of a class to be used as CacheLoader.
        Parameters:
        cacheLoader - classname to be used as CacheLoader
        Returns:
        the current cache config instance
      • getCacheWriterFactory

        public java.lang.String getCacheWriterFactory()
        Gets the factory for the CacheWriter.
        Returns:
        the factory for the CacheWriter
      • setCacheWriterFactory

        public CacheSimpleConfig setCacheWriterFactory​(java.lang.String cacheWriterFactory)
        Sets the factory for this CacheWriter.
        Parameters:
        cacheWriterFactory - the factory to set for this CacheWriter
        Returns:
        the current cache config instance
      • getCacheWriter

        public java.lang.String getCacheWriter()
        Get classname of a class to be used as CacheWriter.
        Returns:
        classname to be used as CacheWriter
      • setCacheWriter

        public CacheSimpleConfig setCacheWriter​(java.lang.String cacheWriter)
        Set classname of a class to be used as CacheWriter.
        Parameters:
        cacheWriter - classname to be used as CacheWriter
        Returns:
        the current cache config instance
      • getExpiryPolicyFactoryConfig

        public CacheSimpleConfig.ExpiryPolicyFactoryConfig getExpiryPolicyFactoryConfig()
        Gets the factory configuration for the ExpiryPolicy.
        Returns:
        the factory configuration for the ExpiryPolicy
      • setExpiryPolicyFactoryConfig

        public CacheSimpleConfig setExpiryPolicyFactoryConfig​(CacheSimpleConfig.ExpiryPolicyFactoryConfig expiryPolicyFactoryConfig)
        Sets the factory configuration for this ExpiryPolicy.
        Parameters:
        expiryPolicyFactoryConfig - the factory configuration to set for this ExpiryPolicy
        Returns:
        the current cache config instance
      • setExpiryPolicyFactory

        public CacheSimpleConfig setExpiryPolicyFactory​(java.lang.String className)
        Sets the factory for this ExpiryPolicy.
        Parameters:
        className - the factory to set for this ExpiryPolicy
        Returns:
        the current cache config instance
      • getAsyncBackupCount

        public int getAsyncBackupCount()
        Gets the number of asynchronous backups for this ICache.
        Returns:
        the number of asynchronous backups for this ICache
      • setAsyncBackupCount

        public CacheSimpleConfig setAsyncBackupCount​(int asyncBackupCount)
        Sets the number of asynchronous backups for this ICache.
        Parameters:
        asyncBackupCount - the number of asynchronous synchronous backups to set
        Returns:
        the updated CacheSimpleConfig
        Throws:
        java.lang.IllegalArgumentException - if asyncBackupCount smaller than 0, or larger than the maximum number of backups, or the sum of the backups and async backups is larger than the maximum number of backups
        See Also:
        setBackupCount(int), getAsyncBackupCount()
      • getBackupCount

        public int getBackupCount()
        Gets the number of synchronous backups for this ICache.
        Returns:
        the number of synchronous backups
      • setBackupCount

        public CacheSimpleConfig setBackupCount​(int backupCount)
        Sets the number of synchronous backups for this ICache.
        Parameters:
        backupCount - the new backupCount
        Returns:
        the updated CacheSimpleConfig
        Throws:
        java.lang.IllegalArgumentException - if backupCount smaller than 0, or larger than the maximum number of backup or the sum of the backups and async backups is larger than the maximum number of backups
      • getInMemoryFormat

        public InMemoryFormat getInMemoryFormat()
        Gets the InMemory Format for this ICache.
        Returns:
        the InMemory Format
      • setInMemoryFormat

        public CacheSimpleConfig setInMemoryFormat​(InMemoryFormat inMemoryFormat)
        Sets the InMemory Format for this ICache.
        Parameters:
        inMemoryFormat - the InMemory Format
        Returns:
        the updated CacheSimpleConfig
      • getEvictionConfig

        public EvictionConfig getEvictionConfig()
        Gets the eviction configuration for this ICache.
        Returns:
        the eviction configuration
      • setEvictionConfig

        public CacheSimpleConfig setEvictionConfig​(EvictionConfig evictionConfig)
        Sets the eviction configuration for this ICache.
        Parameters:
        evictionConfig - the eviction configuration to set
        Returns:
        the updated CacheSimpleConfig
      • getWanReplicationRef

        public WanReplicationRef getWanReplicationRef()
        Gets the WAN target replication reference.
        Returns:
        the WAN target replication reference
      • setWanReplicationRef

        public CacheSimpleConfig setWanReplicationRef​(WanReplicationRef wanReplicationRef)
        Sets the WAN target replication reference.
        Parameters:
        wanReplicationRef - the WAN target replication reference
        Returns:
        this configuration
      • getPartitionLostListenerConfigs

        public java.util.List<CachePartitionLostListenerConfig> getPartitionLostListenerConfigs()
        Gets the partition lost listener references added to cache configuration.
        Returns:
        List of CachePartitionLostListenerConfig
      • setPartitionLostListenerConfigs

        public CacheSimpleConfig setPartitionLostListenerConfigs​(java.util.List<CachePartitionLostListenerConfig> partitionLostListenerConfigs)
        Sets the PartitionLostListenerConfigs.
        Parameters:
        partitionLostListenerConfigs - CachePartitionLostListenerConfig list
      • addCachePartitionLostListenerConfig

        public CacheSimpleConfig addCachePartitionLostListenerConfig​(CachePartitionLostListenerConfig listenerConfig)
        Adds the CachePartitionLostListenerConfig to partitionLostListenerConfigs.
        Parameters:
        listenerConfig - CachePartitionLostListenerConfig to be added
      • getSplitBrainProtectionName

        public java.lang.String getSplitBrainProtectionName()
        Gets the name of the associated split brain protection if any.
        Returns:
        the name of the associated split brain protection if any
      • setSplitBrainProtectionName

        public CacheSimpleConfig setSplitBrainProtectionName​(java.lang.String splitBrainProtectionName)
        Associates this cache configuration to a split brain protection.
        Parameters:
        splitBrainProtectionName - name of the desired split brain protection
        Returns:
        the updated CacheSimpleConfig
      • getHotRestartConfig

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

        public DataPersistenceConfig getDataPersistenceConfig()
        Gets the DataPersistenceConfig for this CacheSimpleConfig
        Returns:
        dataPersistenceConfig config
      • setDataPersistenceConfig

        public CacheSimpleConfig setDataPersistenceConfig​(DataPersistenceConfig dataPersistenceConfig)
        Sets the DataPersistenceConfig for this CacheSimpleConfig
        Parameters:
        dataPersistenceConfig - dataPersistenceConfig config
        Returns:
        this CacheSimpleConfig instance
      • getEventJournalConfig

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

        public CacheSimpleConfig setEventJournalConfig​(@Nonnull
                                                       EventJournalConfig eventJournalConfig)
        Sets the EventJournalConfig for this CacheSimpleConfig
        Parameters:
        eventJournalConfig - event journal config
        Returns:
        this CacheSimpleConfig instance
      • isDisablePerEntryInvalidationEvents

        public boolean isDisablePerEntryInvalidationEvents()
        Returns invalidation events disabled status for per entry.
        Returns:
        true if invalidation events are disabled for per entry, false otherwise
      • setDisablePerEntryInvalidationEvents

        public CacheSimpleConfig setDisablePerEntryInvalidationEvents​(boolean disablePerEntryInvalidationEvents)
        Sets invalidation events disabled status for per entry.
        Parameters:
        disablePerEntryInvalidationEvents - Disables invalidation event sending behaviour if it is true, otherwise enables it
        Returns:
        this configuration
      • getMerkleTreeConfig

        @Nonnull
        public MerkleTreeConfig getMerkleTreeConfig()
        Gets the MerkleTreeConfig for this CacheSimpleConfig
        Returns:
        merkle tree config
      • setMerkleTreeConfig

        public CacheSimpleConfig setMerkleTreeConfig​(@Nonnull
                                                     MerkleTreeConfig merkleTreeConfig)
        Sets the MerkleTreeConfig for this CacheSimpleConfig
        Parameters:
        merkleTreeConfig - merkle tree config
        Returns:
        this CacheSimpleConfig instance
      • writeData

        public void writeData​(ObjectDataOutput out)
                       throws java.io.IOException
        Description copied from interface: DataSerializable
        Writes object fields to output stream
        Specified by:
        writeData in interface DataSerializable
        Parameters:
        out - output
        Throws:
        java.io.IOException - if an I/O error occurs. In particular, an IOException may be thrown if the output stream has been closed.
      • readData

        public void readData​(ObjectDataInput in)
                      throws java.io.IOException
        Description copied from interface: DataSerializable
        Reads fields from the input stream
        Specified by:
        readData in interface DataSerializable
        Parameters:
        in - input
        Throws:
        java.io.IOException - if an I/O error occurs. In particular, an IOException may be thrown if the input stream has been closed.
      • equals

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

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object