Class HashMapDb
- java.lang.Object
-
- org.opendaylight.lispflowmapping.inmemorydb.HashMapDb
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.slf4j.Logger
LOG
-
Constructor Summary
Constructors Constructor Description HashMapDb()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
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.void
tryAddToIpTrie(java.lang.Object key)
-
-
-
Method Detail
-
tryAddToIpTrie
public void tryAddToIpTrie(java.lang.Object key)
-
put
public void put(java.lang.Object key, MappingEntry<?>... values)
Description copied from interface:ILispDAO
Put a entry into the DAO.
-
getSpecific
public java.lang.Object getSpecific(java.lang.Object key, java.lang.String valueKey)
Description copied from interface:ILispDAO
Get a specific value from the DAO.- Specified by:
getSpecific
in interfaceILispDAO
- Parameters:
key
- The key of the value to fetchvalueKey
- The value to fetch- Returns:
- The value from the DAO.
-
get
public java.util.Map<java.lang.String,java.lang.Object> get(java.lang.Object key)
Description copied from interface:ILispDAO
Get the entries from the DAO.
-
getBest
public java.util.Map<java.lang.String,java.lang.Object> getBest(java.lang.Object key)
Description copied from interface:ILispDAO
Get value for longest prefix match from the DAO.
-
getBestPair
public java.util.AbstractMap.SimpleImmutableEntry<Eid,java.util.Map<java.lang.String,?>> getBestPair(java.lang.Object key)
Description copied from interface:ILispDAO
Get longest prefix match and value from the DAO.- Specified by:
getBestPair
in interfaceILispDAO
- 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.
-
getAll
public void getAll(IRowVisitor visitor)
Description copied from interface:ILispDAO
Enumerate all the entries from the DAO.
-
getCoveringLessSpecific
public Eid getCoveringLessSpecific(Eid key)
Description copied from interface:ILispDAO
Look up the covering prefix for the argument, but exclude the argument itself, so the result is always less specific than the lookup key.- Specified by:
getCoveringLessSpecific
in interfaceILispDAO
- Parameters:
key
- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The covering prefix.
-
getParentPrefix
public Eid getParentPrefix(Eid key)
Description copied from interface:ILispDAO
Get parent prefix.- Specified by:
getParentPrefix
in interfaceILispDAO
- 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
public Eid getSiblingPrefix(Eid key)
Description copied from interface:ILispDAO
Get sibling prefix.- Specified by:
getSiblingPrefix
in interfaceILispDAO
- 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
public Eid getVirtualParentSiblingPrefix(Eid key)
Description copied from interface:ILispDAO
Get virtual parent sibling prefix.- Specified by:
getVirtualParentSiblingPrefix
in interfaceILispDAO
- 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
public Eid getWidestNegativePrefix(Eid key)
Description copied from interface:ILispDAO
Get widest negative prefix.- Specified by:
getWidestNegativePrefix
in interfaceILispDAO
- Parameters:
key
- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The widest negative prefix found.
-
getSubtree
public java.util.Set<Eid> getSubtree(Eid key)
Description copied from interface:ILispDAO
Get the subtree of the given prefix.- Specified by:
getSubtree
in interfaceILispDAO
- 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.
-
remove
public void remove(java.lang.Object key)
Description copied from interface:ILispDAO
Remove an entry from the DAO.
-
removeSpecific
public void removeSpecific(java.lang.Object key, java.lang.String valueKey)
Description copied from interface:ILispDAO
Remove an entry from the DAO.- Specified by:
removeSpecific
in interfaceILispDAO
- Parameters:
key
- The key of the entryvalueKey
- The value to delete
-
removeAll
public void removeAll()
Description copied from interface:ILispDAO
Clear the DAO and remove all of the entries.
-
close
public void close() throws java.lang.Exception
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Throws:
java.lang.Exception
-
putNestedTable
public ILispDAO putNestedTable(java.lang.Object key, java.lang.String valueKey)
Description copied from interface:ILispDAO
Inserts a new, nested table for given key and subkey. Also acts as factory method.- Specified by:
putNestedTable
in interfaceILispDAO
- 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
-
putTable
public ILispDAO putTable(java.lang.String key)
Description copied from interface:ILispDAO
Insert a new table for given key.
-
-