public abstract class IPRange<T extends IPAddress & java.lang.Comparable<T>>
extends java.lang.Object
implements java.lang.Iterable<T>, java.io.Serializable
| Constructor and Description |
|---|
IPRange() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
contains(IPRange<T> range)
Checks whether this range contains all addresses of a given range.
|
boolean |
contains(T ip)
Checks whether a given address is inside this range
|
boolean |
equals(java.lang.Object obj) |
abstract T |
getFirst() |
abstract T |
getLast() |
int |
hashCode() |
java.util.Iterator<T> |
iterator() |
java.util.Iterator<T> |
iterator(boolean trim)
Returns an iterator that optionally skips both the first and last
addresses in the range
|
abstract java.util.Iterator<T> |
iterator(boolean skipFirst,
boolean skipLast)
Returns an iterator that optionally skips the first, last or both
addresses in the range
|
abstract java.lang.Number |
length()
Returns the number of addresses in the range
|
boolean |
overlaps(IPRange<T> range)
Checks whether this range has any overlapping addresses with a given
range.
|
protected static <T> T |
parseRange(java.lang.String from,
java.util.function.BiFunction<java.lang.String,java.lang.String,? extends T> rangeProducer,
java.util.function.Function<java.lang.String,? extends T> subnetProducer) |
protected static <T> T |
parseSubnet(java.lang.String from,
java.util.function.BiFunction<java.lang.String,java.lang.Integer,? extends T> subnetProducer,
int singleAddressMask) |
java.lang.String |
toString() |
abstract java.util.List<? extends IPSubnet<? extends T>> |
toSubnets()
Calculates and returns the minimal list of Subnets that compose this
address range.
|
protected static <T> T parseRange(java.lang.String from,
java.util.function.BiFunction<java.lang.String,java.lang.String,? extends T> rangeProducer,
java.util.function.Function<java.lang.String,? extends T> subnetProducer)
protected static <T> T parseSubnet(java.lang.String from,
java.util.function.BiFunction<java.lang.String,java.lang.Integer,? extends T> subnetProducer,
int singleAddressMask)
public abstract T getFirst()
public abstract T getLast()
public boolean overlaps(IPRange<T> range)
contains(IPRange)range - the range to check for overlappublic boolean contains(T ip)
ip - public boolean contains(IPRange<T> range)
overlaps(IPRange)range - range to checkpublic int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic abstract java.lang.Number length()
public java.util.Iterator<T> iterator()
public java.util.Iterator<T> iterator(boolean trim)
trim - set to true to skip first and last addressespublic abstract java.util.Iterator<T> iterator(boolean skipFirst, boolean skipLast)
skipFirst - set to true to skip the first addressskipLast - set to true to skip the last addresses