Module inet.ipaddr

Class AddressDivisionBase

java.lang.Object
inet.ipaddr.format.AddressDivisionBase
All Implemented Interfaces:
AddressGenericDivision, AddressItem, AddressStringDivision, Serializable, Comparable<AddressItem>
Direct Known Subclasses:
AddressDivision, IPAddressLargeDivision

public abstract class AddressDivisionBase extends Object implements AddressGenericDivision
Base class for address divisions.
Author:
sfoley
See Also:
  • Method Details

    • equals

      public boolean equals(Object o)
      Two divisions are equal if they: - they match type/version (ipv4, ipv6, mac, or a specific division class) - match bit counts - match values Prefix lengths, for those divisions that have them, are ignored.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getBytes

      public byte[] getBytes()
      Gets the bytes for the lowest address in the range represented by this address division.

      Since bytes are signed values while addresses are unsigned, values greater than 127 are represented as the (negative) two's complement value of the actual value. You can get the unsigned integer value i from byte b using i = 0xff & b.

      Specified by:
      getBytes in interface AddressItem
      Returns:
    • getBytes

      public byte[] getBytes(byte[] bytes, int index)
      Gets the value for the lowest address in the range represented by this address division.

      If the value fits in the specified array at the specified index, the same array is returned with the value copied at the specified index. Otherwise, a new array is allocated and returned with the value copied at the specified index, and the rest of the array contents the same as the original.

      You can use AddressItem.getBitCount() to determine the required array length for the bytes.

      Since bytes are signed values while addresses are unsigned, values greater than 127 are represented as the (negative) two's complement value of the actual value. You can get the unsigned integer value i from byte b using i = 0xff & b.

      Specified by:
      getBytes in interface AddressItem
      Returns:
    • getBytes

      public byte[] getBytes(byte[] bytes)
      Equivalent to getBytes(byte[], int) with index of 0.
      Specified by:
      getBytes in interface AddressItem
      Returns:
      the bytes of the lowest address represented by this address item.
    • getUpperBytes

      public byte[] getUpperBytes()
      Specified by:
      getUpperBytes in interface AddressItem
      Returns:
      the bytes of the largest address item represented by this address item
    • getUpperBytes

      public byte[] getUpperBytes(byte[] bytes, int index)
      Description copied from interface: AddressItem
      Copies the bytes of the largest address item represented by this address item into the supplied array at the given index, and returns that array. If the supplied array is null or of insufficient size, a new array is created and returned.
      Specified by:
      getUpperBytes in interface AddressItem
      Returns:
      the bytes of the largest address represented by this address item.
    • getUpperBytes

      public byte[] getUpperBytes(byte[] bytes)
      Description copied from interface: AddressItem
      Copies the bytes of the largest address item represented by this address item into the supplied array, and returns that array. If the supplied array is null or of insufficient size, a new array is created and returned, with the rest of the array contents the same as the original.
      Specified by:
      getUpperBytes in interface AddressItem
      Returns:
      the bytes of the largest address represented by this address item.
    • getDigitCount

      public static int getDigitCount(long value, int radix)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getLowerStandardString

      public int getLowerStandardString(int segmentIndex, AddressSegmentParams params, StringBuilder appendable)
      Description copied from interface: AddressStringDivision
      Configures a segment string according to the given params and the given segment index, but using only the lower value of the segment range, if there is a range.

      If appendable is null, simply returns the length of the string that would have been appended.

      Specified by:
      getLowerStandardString in interface AddressStringDivision
      Parameters:
      segmentIndex -
      params -
      appendable -
      Returns:
    • getStandardString

      public int getStandardString(int segmentIndex, AddressSegmentParams params, StringBuilder appendable)
      Produces a string to represent the segment, using wildcards and range characters. Use this instead of getWildcardString() if you have a customized wildcard or range separator or you have a non-zero leadingZeroCount, or you have a non-standard radix (for IPv4 standard radix is 10, for IPv6 it is 16)
      Specified by:
      getStandardString in interface AddressStringDivision
      Parameters:
      segmentIndex -
      params -
      appendable -
      Returns: