Package org.h2.mvstore

# Class MVMap.BasicBuilder<M extends MVMap<K,V>,K,V>

java.lang.Object
org.h2.mvstore.MVMap.BasicBuilder<M,K,V>

Type Parameters:
  `K` - the key type
  `V` - the value type

All Implemented Interfaces:
  `MVMap.MapBuilder<M,K,V>`

Direct Known Subclasses:
  `MVMap.Builder`, `MVRTreeMap.Builder`

Enclosing class:
  `MVMap<K,V>`

public abstract static class MVMap.BasicBuilder<M extends MVMap<K,V>,K,V> extends Object implements MVMap.MapBuilder<M,K,V>
A builder for this class.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`BasicBuilder()`
Create a new builder with the default key and value data types.

## Method Summary

Modifier and Type
Method
Description
`protected abstract M`
`create(Map<String,Object> config)`
Create map from config.
`M`
`create(MVStore store, Map<String,Object> config)`
Create a new map of the given type.
`DataType<K>`
`getKeyType()`
`DataType<V>`
`getValueType()`
`MVMap.BasicBuilder<M,K,V>`
`keyType(DataType<? super K> keyType)`
Set the key data type.
`void`
`setKeyType(DataType<? super K> keyType)`
`void`
`setValueType(DataType<? super V> valueType)`
`MVMap.BasicBuilder<M,K,V>`
`valueType(DataType<? super V> valueType)`
Set the value data type.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### BasicBuilder

protected BasicBuilder()
Create a new builder with the default key and value data types.

## Method Details

### getKeyType

public DataType<K> getKeyType()

Specified by:
  `getKeyType` in interface `MVMap.MapBuilder<M extends MVMap<K,V>,K,V>`

### getValueType

public DataType<V> getValueType()

Specified by:
  `getValueType` in interface `MVMap.MapBuilder<M extends MVMap<K,V>,K,V>`

### setKeyType

public void setKeyType(DataType<? super K> keyType)

Specified by:
  `setKeyType` in interface `MVMap.MapBuilder<M extends MVMap<K,V>,K,V>`

### setValueType

public void setValueType(DataType<? super V> valueType)

Specified by:
  `setValueType` in interface `MVMap.MapBuilder<M extends MVMap<K,V>,K,V>`

### keyType

public MVMap.BasicBuilder<M,K,V> keyType(DataType<? super K> keyType)
Set the key data type.

Parameters:
  `keyType` - the key type
Returns:
  this

### valueType

public MVMap.BasicBuilder<M,K,V> valueType(DataType<? super V> valueType)
Set the value data type.

Parameters:
  `valueType` - the value type
Returns:
  this

### create

public M create(MVStore store, Map<String,Object> config)
Description copied from interface: `MVMap.MapBuilder`
Create a new map of the given type.

Specified by:
  `create` in interface `MVMap.MapBuilder<M extends MVMap<K,V>,K,V>`
Parameters:
  `store` - which will own this map
  `config` - configuration
Returns:
  the map

### create

protected abstract M create(Map<String,Object> config)
Create map from config.

Parameters:
  `config` - config map
Returns:
  new map