Class CollectionConfig<T extends CollectionConfig>

java.lang.Object
com.hazelcast.config.CollectionConfig<T>
Type Parameters:
T - Type of Collection such as List, Set
All Implemented Interfaces:
NamedConfig, UserCodeNamespaceAwareConfig<CollectionConfig<T>>, DataSerializable, IdentifiedDataSerializable, com.hazelcast.nio.serialization.impl.Versioned
Direct Known Subclasses:
ListConfig, SetConfig

public abstract class CollectionConfig<T extends CollectionConfig> extends Object implements IdentifiedDataSerializable, NamedConfig, com.hazelcast.nio.serialization.impl.Versioned, UserCodeNamespaceAwareConfig<CollectionConfig<T>>
Provides configuration service for Collection.
  • Field Details

    • DEFAULT_MAX_SIZE

      public static final int DEFAULT_MAX_SIZE
      Default maximum size for the Configuration.
      See Also:
    • DEFAULT_SYNC_BACKUP_COUNT

      public static final int DEFAULT_SYNC_BACKUP_COUNT
      The default number of synchronous backups
      See Also:
    • DEFAULT_ASYNC_BACKUP_COUNT

      public static final int DEFAULT_ASYNC_BACKUP_COUNT
      The default number of asynchronous backups
      See Also:
  • Constructor Details

    • CollectionConfig

      protected CollectionConfig()
    • CollectionConfig

      protected CollectionConfig(CollectionConfig config)
  • Method Details

    • getName

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

      public T setName(String name)
      Sets the name of this collection.
      Specified by:
      setName in interface NamedConfig
      Parameters:
      name - the name of this collection
      Returns:
      the updated collection configuration
    • getItemListenerConfigs

      public List<ItemListenerConfig> getItemListenerConfigs()
      Gets the list of ItemListenerConfigs.
      Returns:
      the list of ItemListenerConfigs
    • setItemListenerConfigs

      public T setItemListenerConfigs(List<ItemListenerConfig> listenerConfigs)
      Sets the list of ItemListenerConfigs.
      Parameters:
      listenerConfigs - the list of ItemListenerConfigs to set
      Returns:
      this collection configuration
    • getTotalBackupCount

      public int getTotalBackupCount()
      Gets the total number of synchronous and asynchronous backups for this collection.
      Returns:
      the total number of synchronous and asynchronous backups for this collection
    • getBackupCount

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

      public T setBackupCount(int backupCount)
      Sets the number of synchronous backups for this collection.
      Parameters:
      backupCount - the number of synchronous backups to set for this collection
      Returns:
      the current CollectionConfig
      Throws:
      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
      See Also:
    • getAsyncBackupCount

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

      public T setAsyncBackupCount(int asyncBackupCount)
      Sets the number of asynchronous backups.
      Parameters:
      asyncBackupCount - the number of asynchronous synchronous backups to set
      Returns:
      the updated CollectionConfig
      Throws:
      IllegalArgumentException - if asyncBackupCount is 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:
    • getMaxSize

      public int getMaxSize()
      Gets the maximum size for the Configuration.
      Returns:
      the maximum size for the Configuration
    • setMaxSize

      public T setMaxSize(int maxSize)
      Sets the maximum size for the collection.
      Returns:
      the current CollectionConfig
    • isStatisticsEnabled

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

      public T setStatisticsEnabled(boolean statisticsEnabled)
      Sets collection statistics to enabled or disabled.
      Parameters:
      statisticsEnabled - true to enable collection statistics, false to disable
      Returns:
      the current collection config instance
    • addItemListenerConfig

      public T addItemListenerConfig(ItemListenerConfig itemListenerConfig)
      Adds an item listener to this collection (listens for when items are added or removed).
      Parameters:
      itemListenerConfig - the item listener to add to this collection
      Returns:
      this configuration
    • getSplitBrainProtectionName

      public String getSplitBrainProtectionName()
      Returns the split brain protection name for operations.
      Returns:
      the split brain protection name
    • setSplitBrainProtectionName

      public T setSplitBrainProtectionName(String splitBrainProtectionName)
      Sets the split brain protection name for operations.
      Parameters:
      splitBrainProtectionName - the split brain protection name
      Returns:
      the updated configuration
    • getMergePolicyConfig

      public MergePolicyConfig getMergePolicyConfig()
      Gets the MergePolicyConfig for the collection.
      Returns:
      the MergePolicyConfig for the collection
    • setMergePolicyConfig

      public T setMergePolicyConfig(MergePolicyConfig mergePolicyConfig)
      Sets the MergePolicyConfig for the collection.
      Returns:
      the current CollectionConfig
    • getUserCodeNamespace

      @Nullable public String getUserCodeNamespace()
      Retrieve the User Code Deployment Namespace to be used for ClassLoader awareness during operations related to the structure associated with this configuration.
      Specified by:
      getUserCodeNamespace in interface UserCodeNamespaceAwareConfig<T extends CollectionConfig>
      Returns:
      Namespace Name for use with the UserCodeNamespaceService, or null if there is no User Code Namespace to associate with.
    • setUserCodeNamespace

      public T setUserCodeNamespace(@Nullable String userCodeNamespace)
      Associates the provided Namespace Name with this structure for ClassLoader awareness.

      The behaviour of setting this to null is outlined in the documentation for UserCodeNamespaceAwareConfig.DEFAULT_NAMESPACE.

      Specified by:
      setUserCodeNamespace in interface UserCodeNamespaceAwareConfig<T extends CollectionConfig>
      Parameters:
      userCodeNamespace - The ID of the Namespace to associate with this structure.
      Returns:
      the updated CollectionConfig instance
      Since:
      5.4
    • getFactoryId

      public int getFactoryId()
      Description copied from interface: IdentifiedDataSerializable
      Returns DataSerializableFactory factory ID for this class.
      Specified by:
      getFactoryId in interface IdentifiedDataSerializable
      Returns:
      factory ID
    • writeData

      public void writeData(ObjectDataOutput out) throws IOException
      Description copied from interface: DataSerializable
      Writes object fields to output stream
      Specified by:
      writeData in interface DataSerializable
      Parameters:
      out - output
      Throws:
      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 IOException
      Description copied from interface: DataSerializable
      Reads fields from the input stream
      Specified by:
      readData in interface DataSerializable
      Parameters:
      in - input
      Throws:
      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(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • fieldsToString

      protected String fieldsToString()
      Returns field names with values as concatenated String, so it can be used in child classes' toString() methods.