Class InetAddressValidator


  • public class InetAddressValidator
    extends java.lang.Object
    This class provides static methods to check for valid Inet addresses in IPv4, IPv6 or mixed notation.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean isIPv4Address​(java.lang.String input)
      Check if input is a valid IPv4 address
      static boolean isIPv6Address​(java.lang.String input)
      Check if input is a IPv6 address.
      static boolean isIPv6HexCompressedAddress​(java.lang.String input)
      Check if the given address is a valid IPv6 address in the hex-compressed notation
      static boolean isIPv6IPv4MappedAddress​(java.lang.String input)
      Check if input is an IPv4 address mapped into a IPv6 address.
      static boolean isIPv6MixedAddress​(java.lang.String input)
      Check if the given address is a valid IPv6 address in the mixed-standard or mixed-compressed notation.
      static boolean isIPv6StdAddress​(java.lang.String input)
      Check if the given address is a valid IPv6 address in the standard format
      static boolean isLinkLocalIPv6WithZoneIndex​(java.lang.String input)
      Check if input is a link local IPv6 address starting with "fe80:" and containing a zone index with "%xxx".
      static boolean isValidIP​(java.lang.String ipAddress)
      Check if input is a valid IPv4 or IPv6 address.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • InetAddressValidator

        public InetAddressValidator()
    • Method Detail

      • isIPv4Address

        public static boolean isIPv4Address​(java.lang.String input)
        Check if input is a valid IPv4 address

        The format is 'xxx.xxx.xxx.xxx'. Four blocks of integer numbers ranging from 0 to 255 are required. Letters are not allowed.

        Parameters:
        input - ip-address to check
        Returns:
        true if input is in correct IPv4 notation.
      • isIPv6StdAddress

        public static boolean isIPv6StdAddress​(java.lang.String input)
        Check if the given address is a valid IPv6 address in the standard format

        The format is 'xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'. Eight blocks of hexadecimal digits are required.

        Parameters:
        input - ip-address to check
        Returns:
        true if input is in correct IPv6 notation.
      • isIPv6HexCompressedAddress

        public static boolean isIPv6HexCompressedAddress​(java.lang.String input)
        Check if the given address is a valid IPv6 address in the hex-compressed notation

        The format is 'xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'. If all digits in a block are '0' the block can be left empty.

        Parameters:
        input - ip-address to check
        Returns:
        true if input is in correct IPv6 (hex-compressed) notation.
      • isIPv6Address

        public static boolean isIPv6Address​(java.lang.String input)
        Check if input is a IPv6 address.

        Possible notations for valid IPv6 are: - Standard IPv6 address - Hex-compressed IPv6 address - Link-local IPv6 address - IPv4-mapped-to-IPV6 address - IPv6 mixed address

        Parameters:
        input - ip-address to check
        Returns:
        true if input is in correct IPv6 notation.
      • isIPv6MixedAddress

        public static boolean isIPv6MixedAddress​(java.lang.String input)
        Check if the given address is a valid IPv6 address in the mixed-standard or mixed-compressed notation. IPV6 Mixed mode consists of two parts, the first 96 bits (up to 6 blocks of 4 hex digits) are IPv6 the IPV6 part can be either compressed or uncompressed the second block is a full IPv4 address e.g. '0:0:0:0:0:0:172.12.55.18'
        Parameters:
        input - ip-address to check
        Returns:
        true if input is in correct IPv6 (mixed-standard or mixed-compressed) notation.
      • isIPv6IPv4MappedAddress

        public static boolean isIPv6IPv4MappedAddress​(java.lang.String input)
        Check if input is an IPv4 address mapped into a IPv6 address. These are starting with "::ffff:" followed by the IPv4 address in a dot-seperated notation.

        The format is '::ffff:d.d.d.d'

        Parameters:
        input - ip-address to check
        Returns:
        true if input is in correct IPv6 notation containing an IPv4 address
      • isLinkLocalIPv6WithZoneIndex

        public static boolean isLinkLocalIPv6WithZoneIndex​(java.lang.String input)
        Check if input is a link local IPv6 address starting with "fe80:" and containing a zone index with "%xxx". The zone index will not be checked.
        Parameters:
        input - ip-address to check
        Returns:
        true if address part of input is in correct IPv6 notation.
      • isValidIP

        public static boolean isValidIP​(java.lang.String ipAddress)
        Check if input is a valid IPv4 or IPv6 address.
        Parameters:
        ipAddress - ip-address to check
        Returns:
        true if ipAddress is a valid ip-address