Package org.eclipse.jetty.util
Class InetAddressSet
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet<java.lang.String>
-
- org.eclipse.jetty.util.InetAddressSet
-
- All Implemented Interfaces:
java.lang.Iterable<java.lang.String>
,java.util.Collection<java.lang.String>
,java.util.function.Predicate<java.net.InetAddress>
,java.util.Set<java.lang.String>
public class InetAddressSet extends java.util.AbstractSet<java.lang.String> implements java.util.Set<java.lang.String>, java.util.function.Predicate<java.net.InetAddress>
A set of InetAddress patterns.This is a
Set
of String patterns that are used to match aPredicate
over InetAddress for containment semantics. The patterns that may be set are:- InetAddress
- A single InetAddress either in hostname or address format.
All formats supported by
InetAddress
are accepted. Not ethat using hostname matches may force domain lookups. eg. "[::1]", "1.2.3.4", "::ffff:127.0.0.1" - InetAddress/CIDR
- An InetAddress with a integer number of bits to indicate the significant prefix. eg. "192.168.0.0/16" will match from "192.168.0.0" to "192.168.255.255"
- InetAddress-InetAddress
- An inclusive range of InetAddresses. eg. "[a000::1]-[afff::]", "192.168.128.0-192.168.128.255"
- Legacy format
- The legacy format used by
IPAddressMap
for IPv4 only. eg. "10.10.10-14.0-128"
This class is designed to work with
IncludeExcludeSet
- See Also:
IncludeExcludeSet
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
InetAddressSet.CidrInetRange
(package private) static class
InetAddressSet.InetPattern
(package private) static class
InetAddressSet.LegacyInetRange
(package private) static class
InetAddressSet.MinMaxInetRange
(package private) static class
InetAddressSet.SingletonInetRange
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,InetAddressSet.InetPattern>
_patterns
-
Constructor Summary
Constructors Constructor Description InetAddressSet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(java.lang.String pattern)
java.util.Iterator<java.lang.String>
iterator()
private InetAddressSet.InetPattern
newInetRange(java.lang.String pattern)
boolean
remove(java.lang.Object pattern)
int
size()
boolean
test(java.net.InetAddress address)
-
Methods inherited from class java.util.AbstractCollection
addAll, clear, contains, containsAll, isEmpty, retainAll, toArray, toArray, toString
-
-
-
-
Field Detail
-
_patterns
private java.util.Map<java.lang.String,InetAddressSet.InetPattern> _patterns
-
-
Method Detail
-
add
public boolean add(java.lang.String pattern)
- Specified by:
add
in interfacejava.util.Collection<java.lang.String>
- Specified by:
add
in interfacejava.util.Set<java.lang.String>
- Overrides:
add
in classjava.util.AbstractCollection<java.lang.String>
-
newInetRange
private InetAddressSet.InetPattern newInetRange(java.lang.String pattern)
-
remove
public boolean remove(java.lang.Object pattern)
- Specified by:
remove
in interfacejava.util.Collection<java.lang.String>
- Specified by:
remove
in interfacejava.util.Set<java.lang.String>
- Overrides:
remove
in classjava.util.AbstractCollection<java.lang.String>
-
iterator
public java.util.Iterator<java.lang.String> iterator()
- Specified by:
iterator
in interfacejava.util.Collection<java.lang.String>
- Specified by:
iterator
in interfacejava.lang.Iterable<java.lang.String>
- Specified by:
iterator
in interfacejava.util.Set<java.lang.String>
- Specified by:
iterator
in classjava.util.AbstractCollection<java.lang.String>
-
size
public int size()
- Specified by:
size
in interfacejava.util.Collection<java.lang.String>
- Specified by:
size
in interfacejava.util.Set<java.lang.String>
- Specified by:
size
in classjava.util.AbstractCollection<java.lang.String>
-
test
public boolean test(java.net.InetAddress address)
- Specified by:
test
in interfacejava.util.function.Predicate<java.net.InetAddress>
-
-