Package com.googlecode.ipv6
Class IPv6Network
- java.lang.Object
-
- com.googlecode.ipv6.IPv6AddressRange
-
- com.googlecode.ipv6.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classIPv6Network.IPv6NetworkSplitsIterator
-
Field Summary
Fields Modifier and Type Field Description private IPv6Addressaddressstatic IPv6NetworkLINK_LOCAL_NETWORKstatic IPv6NetworkMULTICAST_NETWORKprivate IPv6NetworkMasknetworkMaskstatic IPv6NetworkSITE_LOCAL_NETWORK
-
Constructor Summary
Constructors Modifier Constructor Description privateIPv6Network(IPv6Address address, IPv6NetworkMask networkMask)Construct from address and network mask.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)static IPv6NetworkfromAddressAndMask(IPv6Address address, IPv6NetworkMask networkMask)Create an IPv6 network from an IPv6Address and an IPv6NetworkMaskstatic IPv6NetworkfromString(java.lang.String string)Create an IPv6 network from its String representation.static IPv6NetworkfromTwoAddresses(IPv6Address one, IPv6Address two)Create an IPv6 network from the two addresses within the network.IPv6NetworkMaskgetNetmask()inthashCode()private static java.lang.StringparseNetworkAddress(java.lang.String string)private static intparsePrefixLength(java.lang.String string)java.util.Iterator<IPv6Network>split(IPv6NetworkMask size)Split a network in smaller subnets of a given size.java.lang.StringtoLongString()java.lang.StringtoString()-
Methods inherited from class com.googlecode.ipv6.IPv6AddressRange
compareTo, contains, contains, extend, fromFirstAndLast, getFirst, getLast, iterator, overlaps, remove, remove, size, toSubnets
-
-
-
-
Field Detail
-
MULTICAST_NETWORK
public static final IPv6Network MULTICAST_NETWORK
-
SITE_LOCAL_NETWORK
public static final IPv6Network SITE_LOCAL_NETWORK
-
LINK_LOCAL_NETWORK
public static final IPv6Network LINK_LOCAL_NETWORK
-
address
private final IPv6Address address
-
networkMask
private final IPv6NetworkMask networkMask
-
-
Constructor Detail
-
IPv6Network
private IPv6Network(IPv6Address address, IPv6NetworkMask networkMask)
Construct from address and network mask.- Parameters:
address- addressnetworkMask- 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 onetwo- 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 asIPv6NetworkMask) of the subnets- Returns:
- iterator of the splitted subnets.
- Throws:
java.lang.IllegalArgumentException- if the requested size is bigger than the original size
-
toString
public java.lang.String toString()
- Overrides:
toStringin classIPv6AddressRange
-
toLongString
public java.lang.String toLongString()
- Overrides:
toLongStringin classIPv6AddressRange- Returns:
- like
toStringbut without using shorthand notations for addresses
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classIPv6AddressRange
-
hashCode
public int hashCode()
- Overrides:
hashCodein classIPv6AddressRange
-
getNetmask
public IPv6NetworkMask getNetmask()
-
-