Class NetUtil

java.lang.Object
org.jboss.netty.util.NetUtil

public final class NetUtil extends Object
A class that holds a number of network-related constants.

This class borrowed some of its methods from a modified fork of the Inet6Util class which was part of Apache Harmony.

  • Field Details

    • IPV6_WORD_COUNT

      private static final int IPV6_WORD_COUNT
      This defines how many words (represented as ints) are needed to represent an IPv6 address
      See Also:
    • IPV6_MAX_CHAR_COUNT

      private static final int IPV6_MAX_CHAR_COUNT
      The maximum number of characters for an IPV6 string with no scope
      See Also:
    • IPV6_BYTE_COUNT

      private static final int IPV6_BYTE_COUNT
      Number of bytes needed to represent and IPV6 value
      See Also:
    • IPV6_MAX_CHAR_BETWEEN_SEPARATOR

      private static final int IPV6_MAX_CHAR_BETWEEN_SEPARATOR
      Maximum amount of value adding characters in between IPV6 separators
      See Also:
    • IPV6_MIN_SEPARATORS

      private static final int IPV6_MIN_SEPARATORS
      Minimum number of separators that must be present in an IPv6 string
      See Also:
    • IPV6_MAX_SEPARATORS

      private static final int IPV6_MAX_SEPARATORS
      Maximum number of separators that must be present in an IPv6 string
      See Also:
    • IPV4_BYTE_COUNT

      private static final int IPV4_BYTE_COUNT
      Number of bytes needed to represent and IPV4 value
      See Also:
    • IPV4_MAX_CHAR_BETWEEN_SEPARATOR

      private static final int IPV4_MAX_CHAR_BETWEEN_SEPARATOR
      Maximum amount of value adding characters in between IPV4 separators
      See Also:
    • IPV4_SEPARATORS

      private static final int IPV4_SEPARATORS
      Number of separators that must be present in an IPv4 string
      See Also:
    • logger

      private static final InternalLogger logger
      The logger being used by this class
  • Constructor Details

    • NetUtil

      private NetUtil()
      A constructor to stop this class being constructed.
  • Method Details

    • createByteArrayFromIpAddressString

      public static byte[] createByteArrayFromIpAddressString(String ipAddressString)
      Creates an byte[] based on an ipAddressString. No error handling is performed here.
    • convertToBytes

      private static void convertToBytes(String hexWord, byte[] ipByteArray, int byteIndex)
      Converts a 4 character hex word into a 2 byte word equivalent
    • getIntValue

      static int getIntValue(char c)
    • isValidIpV6Address

      public static boolean isValidIpV6Address(String ipAddress)
    • isValidIp4Word

      public static boolean isValidIp4Word(String word)
    • isValidHexChar

      private static boolean isValidHexChar(char c)
    • isValidNumericChar

      private static boolean isValidNumericChar(char c)
    • isValidIpV4Address

      public static boolean isValidIpV4Address(String value)
      Takes a string and parses it to see if it is a valid IPV4 address.
      Returns:
      true, if the string represents an IPV4 address in dotted notation, false otherwise
    • getByName

      public static Inet6Address getByName(CharSequence ip)
      Returns the Inet6Address representation of a CharSequence IP address.

      This method will treat all IPv4 type addresses as "IPv4 mapped" (see getByName(CharSequence, boolean))

      Parameters:
      ip - CharSequence IP address to be converted to a Inet6Address
      Returns:
      Inet6Address representation of the ip or null if not a valid IP address.
    • getByName

      public static Inet6Address getByName(CharSequence ip, boolean ipv4Mapped)
      Returns the Inet6Address representation of a CharSequence IP address.

      The ipv4Mapped parameter specifies how IPv4 addresses should be treated. "IPv4 mapped" format as defined in rfc 4291 section 2 is supported.

      Parameters:
      ip - CharSequence IP address to be converted to a Inet6Address
      ipv4Mapped -
      • true To allow IPv4 mapped inputs to be translated into Inet6Address
      • false Don't turn IPv4 addressed to mapped addresses
      Returns:
      Inet6Address representation of the ip or null if not a valid IP address.
    • toAddressString

      public static String toAddressString(InetAddress ip)
      Returns the String representation of an InetAddress.

      The output does not include Scope ID.

      Parameters:
      ip - InetAddress to be converted to an address string
      Returns:
      String containing the text-formatted IP address
    • toAddressString

      public static String toAddressString(InetAddress ip, boolean ipv4Mapped)
      Returns the String representation of an InetAddress.

      The output does not include Scope ID.

      Parameters:
      ip - InetAddress to be converted to an address string
      ipv4Mapped -
      • true to stray from strict rfc 5952 and support the "IPv4 mapped" format defined in rfc 4291 section 2 while still following the updated guidelines in rfc 5952 section 4
      • false to strictly follow rfc 5952
      Returns:
      String containing the text-formatted IP address
    • inRangeEndExclusive

      private static boolean inRangeEndExclusive(int value, int start, int end)
      Does a range check on value if is within start (inclusive) and end (exclusive).
      Parameters:
      value - The value to checked if is within start (inclusive) and end (exclusive)
      start - The start of the range (inclusive)
      end - The end of the range (exclusive)
      Returns:
      • true if value if is within start (inclusive) and end (exclusive)
      • false otherwise