public interface AddressComponent extends AddressComponentRange
Modifier and Type | Method and Description |
---|---|
AddressNetwork<?> |
getNetwork()
Returns the network object for components of the same version (eg IPv4, IPv6 and MAC each have their own network object)
|
AddressComponent |
reverseBits(boolean perByte)
Returns a new AddressComponent with the bits reversed.
|
AddressComponent |
reverseBytes()
Returns an AddressComponent with the bytes reversed.
|
AddressComponentSpliterator<? extends AddressComponent> |
spliterator()
Partitions and traverses through the individual address components.
|
String |
toHexString(boolean with0xPrefix)
Writes this address component as a single hexadecimal value with always the exact same number of characters, with or without a preceding 0x prefix.
|
String |
toNormalizedString()
Produces a string that is consistent for all address components of the same type and version,
and is also similar to the canonical string
AddressSegmentSeries.toCanonicalString() in AddressComponent instances that are also AddressSegmentSeries instances. |
getIterable, getLower, getUpper, iterator, stream, stream, stream
compareTo, containsPrefixBlock, containsSinglePrefixBlock, getBitCount, getBitsForCount, getBlockSize, getByteCount, getBytes, getBytes, getBytes, getCount, getMinPrefixLengthForBlock, getPrefixCount, getPrefixLengthForSingleBlock, getUpperBytes, getUpperBytes, getUpperBytes, getUpperValue, getValue, includesMax, includesZero, isFullRange, isMax, isMultiple, isZero
AddressNetwork<?> getNetwork()
String toHexString(boolean with0xPrefix) throws IncompatibleAddressException
If this component represents a range of values outside of the network prefix length, then this is printed as a range of two hex values.
For instance, for IPv4 addresses there are 8 hex characters, for IPv6 addresses there are 32 hex characters.
IncompatibleAddressException
String toNormalizedString()
AddressSegmentSeries.toCanonicalString()
in AddressComponent
instances that are also AddressSegmentSeries
instances.AddressComponent reverseBits(boolean perByte)
IncompatibleAddressException
. In a range the most significant bits stay constant
while the least significant bits range over different values, so reversing that scenario results in a series of non-consecutive values, in most cases,
which cannot be represented with a single AddressComponent object.
In such cases where isMultiple() is true, call iterator(), getLower(), getUpper() or some other methods to break the series down into a series representing a single value.
perByte
- if true, only the bits in each byte are reversed, if false, then all bits in the component are reversedIncompatibleAddressException
- when subnet addresses cannot be reversedAddressComponent reverseBytes()
IncompatibleAddressException
. In a range the most significant bits stay constant
while the least significant bits range over different values, so reversing that scenario results in a series of non-consecutive values, in most cases,
which cannot be represented with a single AddressComponent object.
In such cases where isMultiple() is true, call iterator(), getLower(), getUpper() or some other methods to break the series down into a series representing a single value.
IncompatibleAddressException
- when subnet addresses cannot be reversedAddressComponentSpliterator<? extends AddressComponent> spliterator()
AddressComponentRange
spliterator
in interface AddressComponentRange