public class AvlTable<K,V> extends AbstractTable<K,V>
| Modifier and Type | Field and Description |
|---|---|
private AvlTreeMap<K,V> |
avl |
private java.util.Comparator<org.apache.directory.api.ldap.model.cursor.Tuple<K,V>> |
keyOnlytupleComparator |
allowsDuplicates, commitNumber, count, keyComparator, name, schemaManager, valueComparator| Constructor and Description |
|---|
AvlTable(java.lang.String name,
java.util.Comparator<K> keyComparator,
java.util.Comparator<V> valueComparator,
boolean dupsEnabled) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes the underlying Db of this Table.
|
long |
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.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(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.
|
(package private) AvlTreeMap<K,V> |
getAvlTreeMap()
Returns the internal AvlTreeMap so other classes like Cursors
in the same package can access it.
|
long |
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 |
isDupsEnabled()
Checks to see if this Table has allows for duplicate keys (a.k.a.
|
long |
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.
|
org.apache.directory.api.ldap.model.cursor.Cursor<V> |
valueCursor(K key)
Creates a Cursor that traverses Table values for the same key.
|
count, getKeyComparator, getName, getValueComparator, toStringprivate final AvlTreeMap<K,V> avl
public void close()
throws java.lang.Exception
java.lang.Exception - on any failurespublic long count(K key) throws java.lang.Exception
key - the Object key to count.java.lang.Exception - if there is a failure to read the underlying Dbpublic V get(K key) throws org.apache.directory.api.ldap.model.exception.LdapException
key - the key of the recordorg.apache.directory.api.ldap.model.exception.LdapExceptionpublic long greaterThanCount(K key) throws java.lang.Exception
key - the key to use in comparisonsjava.lang.Exception - if there is a failure to read the underlying dbpublic boolean has(K key) throws java.lang.Exception
key - the Object of the key to check forjava.lang.Exception - if there is a failure to read the underlying Dbpublic boolean has(K key, V value) throws org.apache.directory.api.ldap.model.exception.LdapException
key - the key to check forvalue - the value to check fororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic boolean hasGreaterOrEqual(K key) throws java.lang.Exception
key - the key to compare keys tojava.lang.Exception - if there is a failure to read the underlying Dbpublic boolean hasGreaterOrEqual(K key, V val) throws org.apache.directory.api.ldap.model.exception.LdapException
key - the keyval - the value to compare values toorg.apache.directory.api.ldap.model.exception.LdapExceptionpublic boolean hasLessOrEqual(K key) throws java.lang.Exception
key - the key to compare keys tojava.lang.Exception - if there is a failure to read the underlying Dbpublic boolean hasLessOrEqual(K key, V val) throws java.lang.Exception
key - the keyval - the value to compare values tojava.lang.Exception - 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 isDupsEnabled()
public long lessThanCount(K key) throws java.lang.Exception
key - the key to use in comparisonsjava.lang.Exception - if there is a failure to read the underlying dbpublic void put(K key, V value) throws java.lang.Exception
key - the key of the recordvalue - the value of the record.java.lang.Exception - if there is a failure to read or write to the
underlying Dbjava.lang.IllegalArgumentException - if a null key or value is usedpublic void remove(K key) throws java.lang.Exception
key - the key of the records to removejava.lang.Exception - if there is a failure to read or write to
the underlying Dbpublic void remove(K key, V value) throws java.lang.Exception
key - the key of the record to removevalue - the value of the record to removejava.lang.Exception - 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() throws org.apache.directory.api.ldap.model.exception.LdapException
org.apache.directory.api.ldap.model.exception.LdapExceptionpublic org.apache.directory.api.ldap.model.cursor.Cursor<org.apache.directory.api.ldap.model.cursor.Tuple<K,V>> cursor(K key) throws java.lang.Exception
key - the duplicate key to return the Tuples ofjava.lang.Exception - if there are failures accessing underlying storespublic org.apache.directory.api.ldap.model.cursor.Cursor<V> valueCursor(K key) throws java.lang.Exception
key - the duplicate key to return the values ofjava.lang.Exception - if there are failures accessing underlying storesAvlTreeMap<K,V> getAvlTreeMap()