All Known Implementing Classes:
HashMapDb

public interface ILispDAO
  • Method Details

    • put

      void put(Object key, MappingEntry<?>... values)
      Put a entry into the DAO.
      Parameters:
      key - The entry's key.
      values - The entry's value.
    • getSpecific

      Object getSpecific(Object key, String valueKey)
      Get a specific value from the DAO.
      Parameters:
      key - The key of the value to fetch
      valueKey - The value to fetch
      Returns:
      The value from the DAO.
    • get

      Map<String,Object> get(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

      Map<String,Object> getBest(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

      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

      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(Object key)
      Remove an entry from the DAO.
      Parameters:
      key - The key of the entry to delete
    • removeSpecific

      void removeSpecific(Object key, String valueKey)
      Remove an entry from the DAO.
      Parameters:
      key - The key of the entry
      valueKey - The value to delete
    • removeAll

      void removeAll()
      Clear the DAO and remove all of the entries.
    • putTable

      ILispDAO putTable(String key)
      Insert a new table for given key.
      Parameters:
      key - The key for the table
      Returns:
      The inserted table
    • putNestedTable

      ILispDAO putNestedTable(Object key, 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 in
      valueKey - 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