|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.directory.server.core.partition.avl.AvlTable<K,V>
public class AvlTable<K,V>
A Table implementation backed by in memory AVL tree.
Constructor Summary | |
---|---|
AvlTable(java.lang.String name,
java.util.Comparator<K> keyComparator,
java.util.Comparator<V> valComparator,
boolean dupsEnabled)
|
Method Summary | |
---|---|
void |
close()
Does nothing. |
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. |
java.util.Comparator<K> |
getKeyComparator()
Gets the key comparator used by this Table: may be null if this Table was not initialized with one. |
java.lang.String |
getName()
Gets the name of this Table. |
java.util.Comparator<V> |
getValueComparator()
Gets the value comparator used by this Table: may be null if this Table was not initialized with one. |
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. |
org.apache.directory.shared.ldap.cursor.Cursor<V> |
valueCursor(K key)
Creates a Cursor that traverses Table values for the same key. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AvlTable(java.lang.String name, java.util.Comparator<K> keyComparator, java.util.Comparator<V> valComparator, boolean dupsEnabled)
Method Detail |
---|
public void close() throws java.lang.Exception
close
in interface Table<K,V>
java.lang.Exception
- on any failurespublic int count() throws java.lang.Exception
count
in interface Table<K,V>
java.lang.Exception
- if there is a failure to read the underlying Dbpublic int count(K key) throws java.lang.Exception
count
in interface Table<K,V>
key
- the Object key to count.
java.lang.Exception
- if there is a failure to read the underlying Dbpublic V get(K key) throws java.lang.Exception
get
in interface Table<K,V>
key
- the key of the record
java.lang.Exception
- if there is a failure to read the underlying Dbpublic java.util.Comparator<K> getKeyComparator()
getKeyComparator
in interface Table<K,V>
public java.util.Comparator<V> getValueComparator()
getValueComparator
in interface Table<K,V>
public java.lang.String getName()
getName
in interface Table<K,V>
public int greaterThanCount(K key) throws java.lang.Exception
greaterThanCount
in interface Table<K,V>
key
- the key to use in comparisons
java.lang.Exception
- if there is a failure to read the underlying dbpublic boolean has(K key) throws java.lang.Exception
has
in interface Table<K,V>
key
- the Object of the key to check for
java.lang.Exception
- if there is a failure to read the underlying Dbpublic boolean has(K key, V value) throws java.lang.Exception
has
in interface Table<K,V>
key
- the key to check forvalue
- the value to check for
java.lang.Exception
- if there is a failure to read the underlying Dbpublic boolean hasGreaterOrEqual(K key) throws java.lang.Exception
hasGreaterOrEqual
in interface Table<K,V>
key
- the key to compare keys to
java.lang.Exception
- if there is a failure to read the underlying Dbpublic boolean hasGreaterOrEqual(K key, V val) throws java.lang.Exception
hasGreaterOrEqual
in interface Table<K,V>
key
- the keyval
- the value to compare values to
java.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 hasLessOrEqual(K key) throws java.lang.Exception
hasLessOrEqual
in interface Table<K,V>
key
- the key to compare keys to
java.lang.Exception
- if there is a failure to read the underlying Dbpublic boolean hasLessOrEqual(K key, V val) throws java.lang.Exception
hasLessOrEqual
in interface Table<K,V>
key
- the keyval
- the value to compare values to
java.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 isCountExact()
isCountExact
in interface Table<K,V>
public boolean isDupsEnabled()
isDupsEnabled
in interface Table<K,V>
public int lessThanCount(K key) throws java.lang.Exception
lessThanCount
in interface Table<K,V>
key
- the key to use in comparisons
java.lang.Exception
- if there is a failure to read the underlying dbpublic void put(K key, V value) throws java.lang.Exception
put
in interface Table<K,V>
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 Db
java.lang.IllegalArgumentException
- if a null key or value is usedpublic void remove(K key) throws java.lang.Exception
remove
in interface Table<K,V>
key
- the key of the records to remove
java.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
remove
in interface Table<K,V>
key
- the key of the record to removevalue
- the value of the record to remove
java.lang.Exception
- if there is a failure to read or write to
the underlying Dbpublic org.apache.directory.shared.ldap.cursor.Cursor<Tuple<K,V>> cursor() throws java.lang.Exception
cursor
in interface Table<K,V>
java.lang.Exception
- if there are failures accessing underlying storespublic org.apache.directory.shared.ldap.cursor.Cursor<Tuple<K,V>> cursor(K key) throws java.lang.Exception
cursor
in interface Table<K,V>
key
- the duplicate key to return the Tuples of
java.lang.Exception
- if there are failures accessing underlying storespublic org.apache.directory.shared.ldap.cursor.Cursor<V> valueCursor(K key) throws java.lang.Exception
valueCursor
in interface Table<K,V>
key
- the duplicate key to return the values of
java.lang.Exception
- if there are failures accessing underlying stores
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |