Class IPv6Network

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<IPv6AddressRange>, java.lang.Iterable<IPv6Address>

    public final class IPv6Network
    extends IPv6AddressRange
    Immutable representation of an IPv6 network based on an address and a prefix length. An IPv6 network is also an IPv6 address range (but not all ranges are valid networks).
    See Also:
    Serialized Form
    • Constructor Detail

      • IPv6Network

        private IPv6Network​(IPv6Address address,
                            IPv6NetworkMask networkMask)
        Construct from address and network mask.
        Parameters:
        address - address
        networkMask - network mask
    • Method Detail

      • fromAddressAndMask

        public static IPv6Network fromAddressAndMask​(IPv6Address address,
                                                     IPv6NetworkMask networkMask)
        Create an IPv6 network from an IPv6Address and an IPv6NetworkMask
        Parameters:
        address - IPv6 address (the network address or any other address within the network)
        networkMask - IPv6 network mask
        Returns:
        IPv6 network
      • fromTwoAddresses

        public static IPv6Network fromTwoAddresses​(IPv6Address one,
                                                   IPv6Address two)
        Create an IPv6 network from the two addresses within the network. This will construct the smallest possible network ("longest prefix length") which contains both addresses.
        Parameters:
        one - address one
        two - address two, should be bigger than address one
        Returns:
        ipv6 network
      • fromString

        public static IPv6Network fromString​(java.lang.String string)
        Create an IPv6 network from its String representation. For example "1234:5678:abcd:0:0:0:0:0/64" or "2001::ff/128".
        Parameters:
        string - string representation
        Returns:
        ipv6 network
      • parseNetworkAddress

        private static java.lang.String parseNetworkAddress​(java.lang.String string)
      • parsePrefixLength

        private static int parsePrefixLength​(java.lang.String string)
      • split

        public java.util.Iterator<IPv6Network> split​(IPv6NetworkMask size)
        Split a network in smaller subnets of a given size.
        Parameters:
        size - size (expressed as IPv6NetworkMask) of the subnets
        Returns:
        iterator of the splitted subnets.
        Throws:
        java.lang.IllegalArgumentException - if the requested size is bigger than the original size
      • toLongString

        public java.lang.String toLongString()
        Overrides:
        toLongString in class IPv6AddressRange
        Returns:
        like toString but without using shorthand notations for addresses