public class AvlTable<K,V> extends Object implements Table<K,V>
Constructor and Description |
---|
AvlTable(String name,
Comparator<K> keyComparator,
Comparator<V> valComparator,
boolean dupsEnabled) |
Modifier and Type | Method and Description |
---|---|
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.
|
Comparator<K> |
getKeyComparator()
Gets the key comparator used by this Table: may be null if this Table
was not initialized with one.
|
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.
|
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.
|
public AvlTable(String name, Comparator<K> keyComparator, Comparator<V> valComparator, boolean dupsEnabled)
public void close() throws Exception
public int count() throws Exception
public int count(K key) throws Exception
public V get(K key) throws Exception
public Comparator<K> getKeyComparator()
getKeyComparator
in interface Table<K,V>
public Comparator<V> getValueComparator()
getValueComparator
in interface Table<K,V>
public String getName()
public int greaterThanCount(K key) throws Exception
greaterThanCount
in interface Table<K,V>
key
- the key to use in comparisonsException
- if there is a failure to read the underlying dbpublic boolean has(K key) throws Exception
public boolean has(K key, V value) throws Exception
public boolean hasGreaterOrEqual(K key) throws Exception
hasGreaterOrEqual
in interface Table<K,V>
key
- the key to compare keys toException
- if there is a failure to read the underlying Dbpublic boolean hasGreaterOrEqual(K key, V val) throws Exception
hasGreaterOrEqual
in interface Table<K,V>
key
- the keyval
- the value to compare values toException
- 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 Exception
hasLessOrEqual
in interface Table<K,V>
key
- the key to compare keys toException
- if there is a failure to read the underlying Dbpublic boolean hasLessOrEqual(K key, V val) throws Exception
hasLessOrEqual
in interface Table<K,V>
key
- the keyval
- the value to compare values toException
- 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 Exception
lessThanCount
in interface Table<K,V>
key
- the key to use in comparisonsException
- if there is a failure to read the underlying dbpublic void put(K key, V value) throws Exception
public void remove(K key) throws Exception
public void remove(K key, V value) throws Exception
public org.apache.directory.shared.ldap.cursor.Cursor<Tuple<K,V>> cursor() throws Exception
public org.apache.directory.shared.ldap.cursor.Cursor<Tuple<K,V>> cursor(K key) throws Exception
public org.apache.directory.shared.ldap.cursor.Cursor<V> valueCursor(K key) throws Exception
valueCursor
in interface Table<K,V>
key
- the duplicate key to return the values ofException
- if there are failures accessing underlying storesCopyright © 2003–2015 The Apache Software Foundation. All rights reserved.