Interface ILispDAO
-
- All Known Implementing Classes:
HashMapDb
public interface ILispDAO
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Map<java.lang.String,java.lang.Object>
get(java.lang.Object key)
Get the entries from the DAO.void
getAll(IRowVisitor visitor)
Enumerate all the entries from the DAO.java.util.Map<java.lang.String,java.lang.Object>
getBest(java.lang.Object key)
Get value for longest prefix match from the DAO.java.util.AbstractMap.SimpleImmutableEntry<Eid,java.util.Map<java.lang.String,?>>
getBestPair(java.lang.Object key)
Get longest prefix match and value from the DAO.Eid
getCoveringLessSpecific(Eid key)
Look up the covering prefix for the argument, but exclude the argument itself, so the result is always less specific than the lookup key.Eid
getParentPrefix(Eid key)
Get parent prefix.Eid
getSiblingPrefix(Eid key)
Get sibling prefix.java.lang.Object
getSpecific(java.lang.Object key, java.lang.String valueKey)
Get a specific value from the DAO.java.util.Set<Eid>
getSubtree(Eid key)
Get the subtree of the given prefix.Eid
getVirtualParentSiblingPrefix(Eid key)
Get virtual parent sibling prefix.Eid
getWidestNegativePrefix(Eid key)
Get widest negative prefix.boolean
isEmpty()
Check if the DAO is empty.void
put(java.lang.Object key, MappingEntry<?>... values)
Put a entry into the DAO.ILispDAO
putNestedTable(java.lang.Object key, java.lang.String valueKey)
Inserts a new, nested table for given key and subkey.ILispDAO
putTable(java.lang.String key)
Insert a new table for given key.void
remove(java.lang.Object key)
Remove an entry from the DAO.void
removeAll()
Clear the DAO and remove all of the entries.void
removeSpecific(java.lang.Object key, java.lang.String valueKey)
Remove an entry from the DAO.
-
-
-
Method Detail
-
put
void put(java.lang.Object key, MappingEntry<?>... values)
Put a entry into the DAO.- Parameters:
key
- The entry's key.values
- The entry's value.
-
getSpecific
java.lang.Object getSpecific(java.lang.Object key, java.lang.String valueKey)
Get a specific value from the DAO.- Parameters:
key
- The key of the value to fetchvalueKey
- The value to fetch- Returns:
- The value from the DAO.
-
get
java.util.Map<java.lang.String,java.lang.Object> get(java.lang.Object key)
Get the entries from the DAO.- Parameters:
key
- The key to be looked up as exact match.- Returns:
- The value from the DAO.
-
getBest
java.util.Map<java.lang.String,java.lang.Object> getBest(java.lang.Object key)
Get value for longest prefix match from the DAO.- Parameters:
key
- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The value from the DAO.
-
getBestPair
java.util.AbstractMap.SimpleImmutableEntry<Eid,java.util.Map<java.lang.String,?>> getBestPair(java.lang.Object key)
Get longest prefix match and value from the DAO.- Parameters:
key
- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized- Returns:
- The best match and value pair from the DAO.
-
getCoveringLessSpecific
Eid getCoveringLessSpecific(Eid key)
Look up the covering prefix for the argument, but exclude the argument itself, so the result is always less specific than the lookup key.- Parameters:
key
- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The covering prefix.
-
getParentPrefix
Eid getParentPrefix(Eid key)
Get parent prefix.- Parameters:
key
- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The parent prefix of the longest prefix match for the key.
-
getSiblingPrefix
Eid getSiblingPrefix(Eid key)
Get sibling prefix.- Parameters:
key
- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The sibling prefix of the longest prefix match for the key.
-
getVirtualParentSiblingPrefix
Eid getVirtualParentSiblingPrefix(Eid key)
Get virtual parent sibling prefix.- Parameters:
key
- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The longest prefix match node's virtual parent's sibling or null if nothing is found.
-
getWidestNegativePrefix
Eid getWidestNegativePrefix(Eid key)
Get widest negative prefix.- Parameters:
key
- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The widest negative prefix found.
-
getSubtree
java.util.Set<Eid> getSubtree(Eid key)
Get the subtree of the given prefix.- Parameters:
key
- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The set of EIDs that part of the subtree of the given EID.
-
getAll
void getAll(IRowVisitor visitor)
Enumerate all the entries from the DAO.- Parameters:
visitor
- The visitor object.
-
remove
void remove(java.lang.Object key)
Remove an entry from the DAO.- Parameters:
key
- The key of the entry to delete
-
removeSpecific
void removeSpecific(java.lang.Object key, java.lang.String valueKey)
Remove an entry from the DAO.- Parameters:
key
- The key of the entryvalueKey
- The value to delete
-
removeAll
void removeAll()
Clear the DAO and remove all of the entries.
-
putTable
ILispDAO putTable(java.lang.String key)
Insert a new table for given key.- Parameters:
key
- The key for the table- Returns:
- The inserted table
-
putNestedTable
ILispDAO putNestedTable(java.lang.Object key, java.lang.String valueKey)
Inserts a new, nested table for given key and subkey. Also acts as factory method.- Parameters:
key
- The key for which a new table is linked invalueKey
- The subkey under which to insert the new table- Returns:
- The inserted table
-
isEmpty
boolean isEmpty()
Check if the DAO is empty.- Returns:
- true if empty
-
-