public class JdbmTable<K,V> extends Object implements Table<K,V>
| Constructor and Description |
|---|
JdbmTable(org.apache.directory.shared.ldap.schema.SchemaManager schemaManager,
String name,
int numDupLimit,
RecordManager manager,
Comparator<K> keyComparator,
Comparator<V> valueComparator,
Serializer keySerializer,
Serializer valueSerializer)
Creates a Jdbm BTree based tuple Table abstraction that enables
duplicates.
|
JdbmTable(org.apache.directory.shared.ldap.schema.SchemaManager schemaManager,
String name,
RecordManager manager,
Comparator<K> keyComparator,
Serializer keySerializer,
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()
Closes the underlying Db of this Table.
|
int |
count()
Gets the count of the number of records in this Table.
|
int |
count(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.shared.ldap.cursor.Cursor<Tuple<K,V>> |
cursor()
Creates a Cursor that traverses Tuples in a Table.
|
org.apache.directory.shared.ldap.cursor.Cursor<Tuple<K,V>> |
cursor(K key)
Creates a Cursor that traverses Table Tuples for the same key.
|
V |
get(K key)
Gets the value of a record by key if the key exists.
|
Comparator<K> |
getKeyComparator()
Gets the key comparator used by this Table: may be null if this Table
was not initialized with one.
|
Serializer |
getKeySerializer() |
Marshaller<ArrayTree<V>> |
getMarshaller() |
String |
getName()
Gets the name of this Table.
|
Comparator<V> |
getValueComparator()
Gets the value comparator used by this Table: may be null if this Table
was not initialized with one.
|
Serializer |
getValueSerializer() |
int |
greaterThanCount(K key)
Gets the number of records greater than or equal to a key value.
|
boolean |
has(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(K key,
V value)
Checks to see if this table has a key with a specific value.
|
boolean |
hasGreaterOrEqual(K key)
Checks to see if this table has a record with a key greater than or
equal to the key argument.
|
boolean |
hasGreaterOrEqual(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(K key)
Checks to see if this table has a record with a key less than or
equal to the key argument.
|
boolean |
hasLessOrEqual(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.
|
boolean |
isCountExact()
Checks whether or not calls to count the number of keys greater than or
less than the key are exact.
|
boolean |
isDupsEnabled()
Checks to see if this Table has allows for duplicate keys (a.k.a.
|
int |
lessThanCount(K key)
Gets the number of records less than or equal to a key value.
|
void |
put(K key,
V value)
Puts a record into this Table.
|
void |
remove(K key)
Removes all records with a specified key from this Table.
|
void |
remove(K key,
V value)
Removes a single key value pair with a specified key and value from
this Table.
|
void |
sync()
Synchronizes the buffers with disk.
|
org.apache.directory.shared.ldap.cursor.Cursor<V> |
valueCursor(K key)
Creates a Cursor that traverses Table values for the same key.
|
public JdbmTable(org.apache.directory.shared.ldap.schema.SchemaManager schemaManager,
String name,
int numDupLimit,
RecordManager manager,
Comparator<K> keyComparator,
Comparator<V> valueComparator,
Serializer keySerializer,
Serializer valueSerializer)
throws IOException
name - 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.shared.ldap.schema.SchemaManager schemaManager,
String name,
RecordManager manager,
Comparator<K> keyComparator,
Serializer keySerializer,
Serializer valueSerializer)
throws IOException
name - 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 Comparator<K> getKeyComparator()
TablegetKeyComparator in interface Table<K,V>Table.getKeyComparator()public Comparator<V> getValueComparator()
TablegetValueComparator in interface Table<K,V>Table.getValueComparator()public Serializer getKeySerializer()
public Serializer getValueSerializer()
public boolean isDupsEnabled()
TableisDupsEnabled in interface Table<K,V>Table.isDupsEnabled()public String getName()
TablegetName in interface Table<K,V>Table.getName()public boolean isCountExact()
TableisCountExact in interface Table<K,V>public int greaterThanCount(K key) throws IOException
TablegreaterThanCount in interface Table<K,V>key - the key to use in comparisonsIOExceptionTable.greaterThanCount(Object)public int lessThanCount(K key) throws IOException
TablelessThanCount in interface Table<K,V>key - the key to use in comparisonsIOExceptionTable.lessThanCount(Object)public int count(K key) throws IOException
Tablecount in interface Table<K,V>key - the Object key to count.IOExceptionTable.count(java.lang.Object)public int count()
throws IOException
Tablecount in interface Table<K,V>IOExceptionTable.count()public V get(K key) throws Exception
Tablepublic boolean hasGreaterOrEqual(K key, V val) throws IOException
TablehasGreaterOrEqual in interface Table<K,V>key - the keyval - the value to compare values toIOExceptionTable.hasGreaterOrEqual(Object,Object)public boolean hasLessOrEqual(K key, V val) throws IOException
TablehasLessOrEqual in interface Table<K,V>key - the keyval - the value to compare values toIOExceptionTable.hasLessOrEqual(Object,Object)public boolean hasGreaterOrEqual(K key) throws IOException
TablehasGreaterOrEqual in interface Table<K,V>key - the key to compare keys toIOExceptionTable.hasGreaterOrEqual(Object)public boolean hasLessOrEqual(K key) throws IOException
TablehasLessOrEqual in interface Table<K,V>key - the key to compare keys toIOExceptionTable.hasLessOrEqual(Object)public boolean has(K key, V value) throws IOException
Tablehas in interface Table<K,V>key - the key to check forvalue - the value to check forIOExceptionTable.has(java.lang.Object,
java.lang.Object)public boolean has(K key) throws IOException
Tablehas in interface Table<K,V>key - the Object of the key to check forIOExceptionTable.has(java.lang.Object)public void put(K key, V value) throws Exception
Tableput in interface Table<K,V>key - the key of the recordvalue - the value of the record.Exception - if there is a failure to read or write to the
underlying DbIllegalArgumentException - if a null key or value is usedTable.put(java.lang.Object,
java.lang.Object)public void remove(K key, V value) throws IOException
Tableremove in interface Table<K,V>key - the key of the record to removevalue - the value of the record to removeIOExceptionTable.remove(java.lang.Object,
java.lang.Object)public void remove(K key) throws IOException
Tableremove in interface Table<K,V>key - the key of the records to removeIOExceptionTable.remove(Object)public org.apache.directory.shared.ldap.cursor.Cursor<Tuple<K,V>> cursor() throws Exception
Tablepublic org.apache.directory.shared.ldap.cursor.Cursor<Tuple<K,V>> cursor(K key) throws Exception
Tablepublic org.apache.directory.shared.ldap.cursor.Cursor<V> valueCursor(K key) throws Exception
TablevalueCursor in interface Table<K,V>key - the duplicate key to return the values ofException - if there are failures accessing underlying storespublic void close()
throws IOException
Tableclose in interface Table<K,V>IOExceptionTable.close()public void sync()
throws IOException
IOException - if errors are encountered on the flushpublic Marshaller<ArrayTree<V>> getMarshaller()
Copyright © 2003-2012 Apache Software Foundation. All Rights Reserved.