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) nodeSpliterator
(boolean forward) boolean
AssociativeAddressTrie.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 inet.ipaddr.format.util.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:
clone
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
getIPv4Trie
Description copied from class:BaseDualIPv4v6Tries
returns the contained IPv4 trie- Specified by:
getIPv4Trie
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>> - Returns:
-
getIPv6Trie
Description copied from class:BaseDualIPv4v6Tries
returns the contained IPv6 trie- Specified by:
getIPv6Trie
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>> - Returns:
-
elementsContaining
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V> elementsContaining(IPAddress addr) - Overrides:
elementsContaining
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
elementsContainedBy
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V> elementsContainedBy(IPAddress addr) - Overrides:
elementsContainedBy
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
removeElementsContainedBy
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V> removeElementsContainedBy(IPAddress addr) - Overrides:
removeElementsContainedBy
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
getAddedNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V> getAddedNode(IPAddress addr) - Overrides:
getAddedNode
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
longestPrefixMatchNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V> longestPrefixMatchNode(IPAddress addr) - Overrides:
longestPrefixMatchNode
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
addNode
- Overrides:
addNode
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
addTrie
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V> addTrie(AddressTrie.TrieNode<? extends IPAddress> trie) - Overrides:
addTrie
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
floorAddedNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V> floorAddedNode(IPAddress addr) - Overrides:
floorAddedNode
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
lowerAddedNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V> lowerAddedNode(IPAddress addr) - Overrides:
lowerAddedNode
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
ceilingAddedNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V> ceilingAddedNode(IPAddress addr) - Overrides:
ceilingAddedNode
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
higherAddedNode
public AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V> higherAddedNode(IPAddress addr) - Overrides:
higherAddedNode
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
nodeIterator
public Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V>> nodeIterator(boolean forward) - Specified by:
nodeIterator
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
containingFirstIterator
public Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V>> containingFirstIterator(boolean forwardSubNodeOrder) - Specified by:
containingFirstIterator
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
containedFirstIterator
public Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V>> containedFirstIterator(boolean forwardSubNodeOrder) - Specified by:
containedFirstIterator
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
blockSizeNodeIterator
public Iterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V>> blockSizeNodeIterator(boolean lowerSubNodeFirst) - Specified by:
blockSizeNodeIterator
in classBaseDualIPv4v6Tries<IPv4AddressAssociativeTrie<V>,
IPv6AddressAssociativeTrie<V>>
-
nodeSpliterator
public Spliterator<AssociativeAddressTrie.AssociativeTrieNode<? extends IPAddress,V>> nodeSpliterator(boolean forward) - Specified by:
nodeSpliterator
in 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
-