Module inet.ipaddr
Package inet.ipaddr

Interface AddressComponent

All Superinterfaces:
AddressComponentRange, AddressItem, AddressItemRange, Comparable<AddressItem>, Serializable
All Known Subinterfaces:
AddressSection, AddressSegment, AddressSegmentSeries, IPAddressSegmentSeries
All Known Implementing Classes:
Address, IPAddress, IPAddressSection, IPAddressSegment, IPv4Address, IPv4AddressSection, IPv4AddressSegment, IPv6Address, IPv6AddressSection, IPv6AddressSegment, MACAddress, MACAddressSection, MACAddressSegment

public interface AddressComponent extends AddressComponentRange
  • Method Details

    • getNetwork

      AddressNetwork<?> getNetwork()
      Returns the network object for components of the same version (eg IPv4, IPv6 and MAC each have their own network object)
      Returns:
    • toHexString

      String toHexString(boolean with0xPrefix) throws IncompatibleAddressException
      Writes this address component as a single hexadecimal value with always the exact same number of characters, with or without a preceding 0x prefix.

      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.

      Throws:
      IncompatibleAddressException
    • toNormalizedString

      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.
      Returns:
    • reverseBits

      AddressComponent reverseBits(boolean perByte)
      Returns a new AddressComponent with the bits reversed. If this component represents a range of values that cannot be reversed, then this throws 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.

      Parameters:
      perByte - if true, only the bits in each byte are reversed, if false, then all bits in the component are reversed
      Returns:
      Throws:
      IncompatibleAddressException - when subnet addresses cannot be reversed
    • reverseBytes

      AddressComponent reverseBytes()
      Returns an AddressComponent with the bytes reversed. If this component represents a range of values that cannot be reversed, then this throws 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.

      Returns:
      Throws:
      IncompatibleAddressException - when subnet addresses cannot be reversed
    • spliterator

      Description copied from interface: AddressComponentRange
      Partitions and traverses through the individual address components.
      Specified by:
      spliterator in interface AddressComponentRange
      Returns: