public class JdbmTable<K,V> extends AbstractTable<K,V>
allowsDuplicates, commitNumber, count, keyComparator, name, schemaManager, valueComparator
Constructor and Description |
---|
JdbmTable(org.apache.directory.api.ldap.model.schema.SchemaManager schemaManager,
String name,
int numDupLimit,
jdbm.RecordManager manager,
Comparator<K> keyComparator,
Comparator<V> valueComparator,
jdbm.helper.Serializer keySerializer,
jdbm.helper.Serializer valueSerializer)
Creates a Jdbm BTree based tuple Table abstraction that enables
duplicates.
|
JdbmTable(org.apache.directory.api.ldap.model.schema.SchemaManager schemaManager,
String name,
jdbm.RecordManager manager,
Comparator<K> keyComparator,
jdbm.helper.Serializer keySerializer,
jdbm.helper.Serializer valueSerializer)
Creates a Jdbm BTree based tuple Table abstraction without duplicates
enabled using a simple key comparator.
|
Modifier and Type | Method and Description |
---|---|
void |
close(PartitionTxn transaction)
Closes the underlying Db of this Table.
|
long |
count(PartitionTxn transaction,
K key)
Gets the count of the number of records in this Table with a specific
key: returns the number of duplicates for a key.
|
org.apache.directory.api.ldap.model.cursor.Cursor<org.apache.directory.api.ldap.model.cursor.Tuple<K,V>> |
cursor()
Creates a Cursor that traverses Tuples in a Table.
|
org.apache.directory.api.ldap.model.cursor.Cursor<org.apache.directory.api.ldap.model.cursor.Tuple<K,V>> |
cursor(PartitionTxn partitionTxn,
K key)
Creates a Cursor that traverses Table Tuples for the same key.
|
V |
get(PartitionTxn transaction,
K key)
Gets the value of a record by key if the key exists.
|
Marshaller<ArrayTree<V>> |
getMarshaller() |
boolean |
has(PartitionTxn transaction,
K key)
Checks to see if this table has one or more tuples with a specific key:
this is exactly the same as a get call with a check to see if the
returned value is null or not.
|
boolean |
has(PartitionTxn transaction,
K key,
V value)
Checks to see if this table has a key with a specific value.
|
boolean |
hasGreaterOrEqual(PartitionTxn transaction,
K key)
Checks to see if this table has a record with a key greater than or
equal to the key argument.
|
boolean |
hasGreaterOrEqual(PartitionTxn transaction,
K key,
V val)
Checks to see if this table has a Tuple with a key equal to the key
argument, yet with a value greater than or equal to the value argument
provided.
|
boolean |
hasLessOrEqual(PartitionTxn transaction,
K key)
Checks to see if this table has a record with a key less than or
equal to the key argument.
|
boolean |
hasLessOrEqual(PartitionTxn transaction,
K key,
V val)
Checks to see if this table has a Tuple with a key equal to the key
argument, yet with a value less than or equal to the value argument
provided.
|
void |
put(PartitionTxn transaction,
K key,
V value)
Puts a record into this Table.
|
void |
remove(PartitionTxn transaction,
K key)
Removes all records with a specified key from this Table.
|
void |
remove(PartitionTxn transaction,
K key,
V value)
Removes a single key value pair with a specified key and value from
this Table.
|
org.apache.directory.api.ldap.model.cursor.Cursor<V> |
valueCursor(PartitionTxn transaction,
K key)
Creates a Cursor that traverses Table values for the same key.
|
count, getKeyComparator, getName, getValueComparator, greaterThanCount, isDupsEnabled, lessThanCount, toString
public JdbmTable(org.apache.directory.api.ldap.model.schema.SchemaManager schemaManager, String name, int numDupLimit, jdbm.RecordManager manager, Comparator<K> keyComparator, Comparator<V> valueComparator, jdbm.helper.Serializer keySerializer, jdbm.helper.Serializer valueSerializer) throws IOException
schemaManager
- The server schemaManagername
- the name of the tablenumDupLimit
- the size limit of duplicates before switching to BTrees for values instead of AvlTreesmanager
- the record manager to be used for this tablekeyComparator
- a key comparatorvalueComparator
- a value comparatorkeySerializer
- a serializer to use for the keys instead of using
default Java serialization which could be very expensivevalueSerializer
- a serializer to use for the values instead of
using default Java serialization which could be very expensiveIOException
- if the table's file cannot be createdpublic JdbmTable(org.apache.directory.api.ldap.model.schema.SchemaManager schemaManager, String name, jdbm.RecordManager manager, Comparator<K> keyComparator, jdbm.helper.Serializer keySerializer, jdbm.helper.Serializer valueSerializer) throws IOException
schemaManager
- The server schemaManagername
- the name of the tablemanager
- the record manager to be used for this tablekeyComparator
- a tuple comparatorkeySerializer
- a serializer to use for the keys instead of using
default Java serialization which could be very expensivevalueSerializer
- a serializer to use for the values instead of
using default Java serialization which could be very expensiveIOException
- if the table's file cannot be createdpublic long count(PartitionTxn transaction, K key) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the Object key to count.org.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read the underlying Dbpublic V get(PartitionTxn transaction, K key) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the key of the recordorg.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read the underlying Dbpublic boolean hasGreaterOrEqual(PartitionTxn transaction, K key, V val) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the keyval
- the value to compare values toorg.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read the underlying Db
or if the underlying Db is not of the Btree type that allows sorted
duplicate values.public boolean hasLessOrEqual(PartitionTxn transaction, K key, V val) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the keyval
- the value to compare values toorg.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read the underlying Db
or if the underlying Db is not of the Btree type that allows sorted
duplicate values.public boolean hasGreaterOrEqual(PartitionTxn transaction, K key) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the key to compare keys toorg.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read the underlying Dbpublic boolean hasLessOrEqual(PartitionTxn transaction, K key) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the key to compare keys toorg.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read the underlying Dbpublic boolean has(PartitionTxn transaction, K key, V value) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the key to check forvalue
- the value to check fororg.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read the underlying Dbpublic boolean has(PartitionTxn transaction, K key) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the Object of the key to check fororg.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read the underlying Dbpublic void put(PartitionTxn transaction, K key, V value) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the key of the recordvalue
- the value of the record.org.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read or write to the
underlying Dbpublic void remove(PartitionTxn transaction, K key, V value) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the key of the record to removevalue
- the value of the record to removeorg.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read or write to
the underlying Dbpublic void remove(PartitionTxn transaction, K key) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the key of the records to removeorg.apache.directory.api.ldap.model.exception.LdapException
- if there is a failure to read or write to
the underlying Dbpublic org.apache.directory.api.ldap.model.cursor.Cursor<org.apache.directory.api.ldap.model.cursor.Tuple<K,V>> cursor()
public org.apache.directory.api.ldap.model.cursor.Cursor<org.apache.directory.api.ldap.model.cursor.Tuple<K,V>> cursor(PartitionTxn partitionTxn, K key) throws org.apache.directory.api.ldap.model.exception.LdapException
partitionTxn
- The transaction we are running inkey
- the duplicate key to return the Tuples oforg.apache.directory.api.ldap.model.exception.LdapException
- if there are failures accessing underlying storespublic org.apache.directory.api.ldap.model.cursor.Cursor<V> valueCursor(PartitionTxn transaction, K key) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inkey
- the duplicate key to return the values oforg.apache.directory.api.ldap.model.exception.LdapException
- if there are failures accessing underlying storespublic void close(PartitionTxn transaction) throws org.apache.directory.api.ldap.model.exception.LdapException
transaction
- The transaction we are running inorg.apache.directory.api.ldap.model.exception.LdapException
- on any failurespublic Marshaller<ArrayTree<V>> getMarshaller()
Copyright © 2003–2020 The Apache Software Foundation. All rights reserved.