Class Database.Builder<K,V>

java.lang.Object
io.pmem.pmemkv.Database.Builder<K,V>
Enclosing class:
Database<K,V>

public static class Database.Builder<K,V> extends Object
Builder is used to build instances of pmemkv Database class.

Configuration is composed using setter functions defined in this class. Pmemkv config fields are mapped to builder setters accordingly.

See Also:
  • Field Details

    • keyConverter

      private Converter<K> keyConverter
    • valueConverter

      private Converter<V> valueConverter
    • config

      private long config
    • engine

      private String engine
  • Constructor Details

    • Builder

      public Builder(String engine)
  • Method Details

    • finalize

      public void finalize()
      Overrides:
      finalize in class Object
    • setSize

      public Database.Builder<K,V> setSize(long size)
      Sets "size" parameter for pmemkv engine
      Parameters:
      size - size of pmemkv datastore
      Returns:
      this builder object
    • setForceCreate

      public Database.Builder<K,V> setForceCreate(boolean forceCreate)
      Sets "force_create" parameter for pmemkv engine
      Parameters:
      forceCreate - specify force_create engine parameter
      Returns:
      this builder object
    • setPath

      public Database.Builder<K,V> setPath(String path)
      Sets path for pmemkv engine
      Parameters:
      path - specify path engine parameter
      Returns:
      this builder
    • build

      public Database<K,V> build()
      Returns an instance of pmemkv Database created from the fields set on this builder
      Returns:
      instance of pmemkv Database
    • setKeyConverter

      public Database.Builder<K,V> setKeyConverter(Converter<K> newKeyConverter)
      Sets converter object from a given key type K to ByteBuffer. All data is internally stored as ByteBuffer. It's possible to store objects of arbitrary chosen type K as key by providing object, which implements conversion between K and ByteBuffer. Type of such object has to implement Converter interface
      Parameters:
      newKeyConverter - Converter object from K type to ByteBuffer
      Returns:
      this builder
    • setValueConverter

      public Database.Builder<K,V> setValueConverter(Converter<V> newValueConverter)
      Sets converter object from a given value type V to ByteBuffer. All data is internally stored as ByteBuffer. It's possible to store objects of arbitrary chosen type V as value by providing object, which implements conversion between V and ByteBuffer. Type of such object has to implement Converter interface.
      Parameters:
      newValueConverter - Converter object from V type to ByteBuffer
      Returns:
      this builder
    • config_new

      private long config_new()
    • config_delete

      private void config_delete(long ptr)
    • config_put_int

      private void config_put_int(long ptr, String key, long value)
    • config_put_string

      private void config_put_string(long ptr, String key, String value)