Class DualIPv4v6AssociativeTries<V>
java.lang.Object
inet.ipaddr.format.util.BaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
inet.ipaddr.format.util.DualIPv4v6AssociativeTries<V>
- All Implemented Interfaces:
Serializable, Cloneable, Iterable<IPAddress>
public class DualIPv4v6AssociativeTries<V>
extends BaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
Combines an IPv4 with an IPv6 associative trie to map both IPv4 and IPv6 addresses and prefix blocks.
For a tree that is either IPv4 or IPv6, one or the other, you can just use #
AssociativeAddressTrie.
Another alternative to this data structure is to use a single IPv6 trie, while mapping IPv4 addresses to IPv6 with the default IPv4-mapped address mapping, or some other mapping.- Author:
- scfoley
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface -
Constructor Summary
ConstructorsConstructorDescriptionDualIPv4v6AssociativeTries(IPv4AddressAssociativeTrie<V> ipv4Trie, IPv6AddressAssociativeTrie<V> ipv6Trie) -
Method Summary
Modifier and TypeMethodDescriptionAssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> addTrie(AddressTrie.TrieNode<? extends IPAddress> trie) AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> addTrie(AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> trie) Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V>> blockSizeNodeIterator(boolean lowerSubNodeFirst) AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> ceilingAddedNode(IPAddress addr) clone()Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V>> containedFirstIterator(boolean forwardSubNodeOrder) Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V>> containingFirstIterator(boolean forwardSubNodeOrder) AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> elementsContainedBy(IPAddress addr) AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> elementsContaining(IPAddress addr) AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> floorAddedNode(IPAddress addr) AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> getAddedNode(IPAddress addr) returns the contained IPv4 triereturns the contained IPv6 trieAssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> higherAddedNode(IPAddress addr) AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> lowerAddedNode(IPAddress addr) Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V>> nodeIterator(boolean forward) Spliterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V>> nodeSpliterator(boolean forward) booleanAssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> putTrie(AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> trie) AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> remapIfAbsent(IPAddress addr, Supplier<? extends V> remapper, boolean insertNull) AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> Methods inherited from class BaseDualIPv4v6Tries
add, ceiling, contains, descendingIterator, descendingSpliterator, elementContains, equals, floor, higher, isEmpty, iterator, longestPrefixMatch, lower, remove, size, spliterator, toString
-
Constructor Details
-
DualIPv4v6AssociativeTries
public DualIPv4v6AssociativeTries() -
DualIPv4v6AssociativeTries
public DualIPv4v6AssociativeTries(IPv4AddressAssociativeTrie<V> ipv4Trie, IPv6AddressAssociativeTrie<V> ipv6Trie)
-
-
Method Details
-
clone
- Overrides:
clonein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
getIPv4Trie
Description copied from class:BaseDualIPv4v6Triesreturns the contained IPv4 trie- Specified by:
getIPv4Triein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>- Returns:
-
getIPv6Trie
Description copied from class:BaseDualIPv4v6Triesreturns the contained IPv6 trie- Specified by:
getIPv6Triein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>- Returns:
-
elementsContaining
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> elementsContaining(IPAddress addr) - Overrides:
elementsContainingin classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
elementsContainedBy
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> elementsContainedBy(IPAddress addr) - Overrides:
elementsContainedByin classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
removeElementsContainedBy
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> removeElementsContainedBy(IPAddress addr) - Overrides:
removeElementsContainedByin classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
getAddedNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> getAddedNode(IPAddress addr) - Overrides:
getAddedNodein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
longestPrefixMatchNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> longestPrefixMatchNode(IPAddress addr) - Overrides:
longestPrefixMatchNodein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
addNode
- Overrides:
addNodein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
addTrie
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> addTrie(AddressTrie.TrieNode<? extends IPAddress> trie) - Overrides:
addTriein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
floorAddedNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> floorAddedNode(IPAddress addr) - Overrides:
floorAddedNodein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
lowerAddedNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> lowerAddedNode(IPAddress addr) - Overrides:
lowerAddedNodein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
ceilingAddedNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> ceilingAddedNode(IPAddress addr) - Overrides:
ceilingAddedNodein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
higherAddedNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> higherAddedNode(IPAddress addr) - Overrides:
higherAddedNodein classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
nodeIterator
public Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V>> nodeIterator(boolean forward) - Specified by:
nodeIteratorin classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
containingFirstIterator
public Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V>> containingFirstIterator(boolean forwardSubNodeOrder) - Specified by:
containingFirstIteratorin classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
containedFirstIterator
public Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V>> containedFirstIterator(boolean forwardSubNodeOrder) - Specified by:
containedFirstIteratorin classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
blockSizeNodeIterator
public Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V>> blockSizeNodeIterator(boolean lowerSubNodeFirst) - Specified by:
blockSizeNodeIteratorin classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
nodeSpliterator
public Spliterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V>> nodeSpliterator(boolean forward) - Specified by:
nodeSpliteratorin classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>, IPv6AddressAssociativeTrie<V>>
-
addTrie
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> addTrie(AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> trie) -
get
-
put
-
putNew
-
putNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> putNode(IPAddress addr, V value) -
putTrie
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> putTrie(AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress, V> trie) -
remap
-
remapIfAbsent
-