public interface AddressSection extends AddressSegmentSeries
| Modifier and Type | Method and Description |
|---|---|
AddressSection |
adjustPrefixBySegment(boolean nextSegment)
Increases or decreases prefix length to the next segment boundary.
|
AddressSection |
adjustPrefixBySegment(boolean nextSegment,
boolean zeroed)
Increases or decreases prefix length to the next segment boundary.
|
AddressSection |
adjustPrefixLength(int adjustment)
Increases or decreases prefix length by the given increment.
|
AddressSection |
adjustPrefixLength(int adjustment,
boolean zeroed)
Increases or decreases prefix length by the given increment.
|
AddressSection |
applyPrefixLength(int networkPrefixLength)
Applies the given prefix length to create a new segment series.
|
boolean |
contains(AddressSection other)
Determines if one section contains another.
|
java.lang.Iterable<? extends AddressSection> |
getIterable()
Useful for using an instance in a "for-each loop".
|
AddressSection |
getLower()
If this represents a series with ranging values, returns a series representing the lower values of the range.
|
AddressSection |
getUpper()
If this represents a series with ranging values, returns a series representing the upper values of the range
If this represents a series with a single value in each segment, returns this.
|
AddressSection |
increment(long increment)
Returns the series from the subnet that is the given increment upwards into the subnet range,
or if the given increment is negative the given increment downwards into the subnet range,
or if this is just an individual series, it simply adds the increment to this.
|
java.util.Iterator<? extends AddressSection> |
iterator()
Iterates through the individual segment series.
|
java.util.Iterator<? extends AddressSection> |
prefixBlockIterator()
Iterates through the individual prefix blocks.
|
AddressSection |
removePrefixLength()
Removes the prefix length.
|
AddressSection |
removePrefixLength(boolean zeroed)
Removes the prefix length.
|
AddressSection |
reverseBits(boolean perByte)
Returns a new segment series with the bits reversed.
|
AddressSection |
reverseBytes()
Returns a new segment series with the bytes reversed.
|
AddressSection |
reverseBytesPerSegment()
Returns a new segment series with the bytes reversed within each segment.
|
AddressSection |
reverseSegments()
Returns a new segment series with the segments reversed.
|
AddressSection |
setPrefixLength(int prefixLength)
Sets the prefix length.
|
AddressSection |
setPrefixLength(int prefixLength,
boolean zeroed)
Sets the prefix length.
|
AddressSection |
toPrefixBlock()
If this series has a prefix length, returns the block for that prefix.
|
getBitsPerSegment, getBytesPerSegment, getNetwork, getSection, getSection, getSection, getSegment, getSegmentCount, getSegments, getSegments, getSegments, getSegmentStrings, segmentsIterator, toCanonicalString, toCompressedStringcontainsPrefixBlock, containsSinglePrefixBlock, getDivision, getDivisionStrings, getMinPrefixLengthForBlock, getPrefixCount, getPrefixLength, getPrefixLengthForSingleBlock, getUpperValue, getValue, isMore, isPrefixBlock, isPrefixed, isSinglePrefixBlockgetDivisionCountgetByteCount, toHexString, toNormalizedStringgetBitCount, getBytes, getBytes, getCount, getUpperBytes, getUpperBytes, includesMax, includesZero, isFullRange, isMax, isMultiple, isZeroboolean contains(AddressSection other)
other - AddressSection getLower()
AddressSegmentSeriesgetLower in interface AddressComponentgetLower in interface AddressSegmentSeriesAddressSection getUpper()
AddressSegmentSeriesgetUpper in interface AddressComponentgetUpper in interface AddressSegmentSeriesAddressSection reverseSegments()
AddressSegmentSeriesIncompatibleAddressException since all address series can reverse their segments.reverseSegments in interface AddressSegmentSeriesAddressSection reverseBits(boolean perByte)
AddressSegmentSeriesreverseBits in interface AddressComponentreverseBits in interface AddressSegmentSeriesperByte - if true, only the bits in each byte are reversed, if false, then all bits in the component are reversedAddressSection reverseBytes()
AddressSegmentSeriesreverseBytes in interface AddressComponentreverseBytes in interface AddressSegmentSeriesAddressSection reverseBytesPerSegment()
AddressSegmentSeriesreverseBytesPerSegment in interface AddressSegmentSeriesAddressSection toPrefixBlock()
AddressSegmentSeriestoPrefixBlock in interface AddressSegmentSeriesAddressSection removePrefixLength()
AddressSegmentSeriesIf the series already has a prefix length, the bits outside the prefix become zero.
removePrefixLength in interface AddressSegmentSeriesAddressSection removePrefixLength(boolean zeroed)
AddressSegmentSeriesremovePrefixLength in interface AddressSegmentSerieszeroed - whether the bits outside the prefix become zeroAddressSection adjustPrefixBySegment(boolean nextSegment)
AddressSegmentSeries
Follows the same rules as AddressSegmentSeries.adjustPrefixLength(int):
When prefix length is increased, the bits moved within the prefix become zero.
When a prefix length is decreased, the bits moved outside the prefix become zero.
adjustPrefixBySegment in interface AddressSegmentSeriesnextSegment - whether to move prefix to previous or following segment coundaryAddressSection adjustPrefixBySegment(boolean nextSegment, boolean zeroed)
AddressSegmentSeriesadjustPrefixBySegment in interface AddressSegmentSeriesnextSegment - whether to move prefix to previous or following segment coundaryzeroed - whether the bits that move from one side of the prefix to the other become zero or retain their original valuesAddressSection adjustPrefixLength(int adjustment)
AddressSegmentSeriesWhen prefix length is increased, the bits moved within the prefix become zero. When the prefix is extended beyond the segment series boundary, it is removed. When a prefix length is decreased, the bits moved outside the prefix become zero.
adjustPrefixLength in interface AddressSegmentSeriesAddressSection adjustPrefixLength(int adjustment, boolean zeroed)
AddressSegmentSeriesadjustPrefixLength in interface AddressSegmentSeriesadjustment - the incrementzeroed - whether the bits that move from one side of the prefix to the other become zero or retain their original valuesAddressSection setPrefixLength(int prefixLength)
AddressSegmentSeriesIf this series has a prefix length, and the prefix length is increased, the bits moved within the prefix become zero.
When the prefix is extended beyond the segment series boundary, it is removed.
The bits that move from one side of the prefix length to the other (ie bits moved into the prefix or outside the prefix) are zeroed.
setPrefixLength in interface AddressSegmentSeriesAddressSegmentSeries.applyPrefixLength(int)AddressSection setPrefixLength(int prefixLength, boolean zeroed)
AddressSegmentSeriesWhen the prefix is extended beyond the segment series boundary, it is removed.
setPrefixLength in interface AddressSegmentSerieszeroed - whether the bits that move from one side of the prefix length to the other (ie bits moved into the prefix or outside the prefix) are zeroed.AddressSection applyPrefixLength(int networkPrefixLength)
AddressSegmentSeries
Similar to AddressSegmentSeries.setPrefixLength(int) except that prefix lengths are never increased.
When this series already has a prefix length that is less than or equal to the requested prefix length, this series is returned.
Otherwise the returned series has the given prefix length.
The bits moved outside the prefix will become zero in the returned series.
applyPrefixLength in interface AddressSegmentSeriesAddressSegmentSeries.setPrefixLength(int)java.lang.Iterable<? extends AddressSection> getIterable()
AddressComponentAddressComponent.iterator() directly.getIterable in interface AddressComponentgetIterable in interface AddressSegmentSeriesjava.util.Iterator<? extends AddressSection> iterator()
AddressSegmentSeriesiterator in interface AddressComponentiterator in interface AddressSegmentSeriesjava.util.Iterator<? extends AddressSection> prefixBlockIterator()
AddressSegmentSeriesAddressSegmentSeries.iterator()prefixBlockIterator in interface AddressSegmentSeriesAddressSection increment(long increment)
AddressSegmentSeriesIf the subnet has multiple values and the increment exceeds the subnet size, then the amount by which is exceeds the size is added to the upper series of the range (the final iterator value) or is subtracted from the lower series of the range (the first iterator value) if negative.
If the subnet is just a single address values, the series is simply incremented by the given value, positive or negative.
If a subnet has multiple values, a positive increment value is equivalent to the same number of values from the iterator. For instance, a increment of 1 is value 1 from the iterator, an increment of 2 is the second value from the iterator, and so on. A negative increment is equivalent to the same number of values preceding the upper bound of the iterator. For instance, an increment of -1 is the last value from the iterator, and increment of -2 is the second last value, and so on.
Therefore, to get the series just above the highest series of the subnet, use an increment of size:count > 1 ? count + 1 : 1 where count is the subnet size.
To get the series just below the lowest series of the subnet, use an increment of size:-(count > 1 ? count + 1 : 1) where count is the subnet size.
increment in interface AddressSegmentSeries