Package org.onlab.packet
Class Ip4Address
- java.lang.Object
-
- org.onlab.packet.IpAddress
-
- org.onlab.packet.Ip4Address
-
- All Implemented Interfaces:
Comparable<IpAddress>
public final class Ip4Address extends IpAddress
A class representing an IPv4 address. This class is immutable.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.onlab.packet.IpAddress
IpAddress.Version
-
-
Field Summary
Fields Modifier and Type Field Description static int
BIT_LENGTH
static int
BYTE_LENGTH
static IpAddress.Version
VERSION
static Ip4Address
ZERO
All-zero unspecified IPv4 address.-
Fields inherited from class org.onlab.packet.IpAddress
INET_BIT_LENGTH, INET_BYTE_LENGTH, INET6_BIT_LENGTH, INET6_BYTE_LENGTH
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Ip4Address
makeMaskedAddress(Ip4Address address, int prefixLength)
Creates an IPv4 address by masking it with a network mask of given mask length.static Ip4Address
makeMaskPrefix(int prefixLength)
Creates an IPv4 network mask prefix.int
toInt()
Returns the integer value of this IPv4 address.static Ip4Address
valueOf(byte[] value)
Converts a byte array into an IPv4 address.static Ip4Address
valueOf(byte[] value, int offset)
Converts a byte array and a given offset from the beginning of the array into an IPv4 address.static Ip4Address
valueOf(int value)
Converts an integer into an IPv4 address.static Ip4Address
valueOf(String value)
Converts an IPv4 string literal (e.g., "10.2.3.4") into an IP address.static Ip4Address
valueOf(InetAddress inetAddress)
Converts an InetAddress into an IPv4 address.-
Methods inherited from class org.onlab.packet.IpAddress
byteLength, compareTo, equals, getIp4Address, getIp6Address, hashCode, isIp4, isIp6, isLinkLocal, isMulticast, isSelfAssigned, isZero, makeMaskedAddress, makeMaskPrefix, toInetAddress, toIpPrefix, toOctets, toString, valueOf, valueOf, version
-
-
-
-
Field Detail
-
VERSION
public static final IpAddress.Version VERSION
-
BYTE_LENGTH
public static final int BYTE_LENGTH
- See Also:
- Constant Field Values
-
BIT_LENGTH
public static final int BIT_LENGTH
- See Also:
- Constant Field Values
-
ZERO
public static final Ip4Address ZERO
All-zero unspecified IPv4 address.
-
-
Method Detail
-
toInt
public int toInt()
Returns the integer value of this IPv4 address.- Returns:
- the IPv4 address's value as an integer
-
valueOf
public static Ip4Address valueOf(int value)
Converts an integer into an IPv4 address.- Parameters:
value
- an integer representing an IPv4 address value- Returns:
- an IPv4 address
-
valueOf
public static Ip4Address valueOf(byte[] value)
Converts a byte array into an IPv4 address.- Parameters:
value
- the IPv4 address value stored in network byte order (i.e., the most significant byte first)- Returns:
- an IPv4 address
- Throws:
IllegalArgumentException
- if the argument is invalid
-
valueOf
public static Ip4Address valueOf(byte[] value, int offset)
Converts a byte array and a given offset from the beginning of the array into an IPv4 address.The IP address is stored in network byte order (i.e., the most significant byte first).
- Parameters:
value
- the value to useoffset
- the offset in bytes from the beginning of the byte array- Returns:
- an IPv4 address
- Throws:
IllegalArgumentException
- if the arguments are invalid
-
valueOf
public static Ip4Address valueOf(InetAddress inetAddress)
Converts an InetAddress into an IPv4 address.- Parameters:
inetAddress
- the InetAddress value to use. It must contain an IPv4 address- Returns:
- an IPv4 address
- Throws:
IllegalArgumentException
- if the argument is invalid
-
valueOf
public static Ip4Address valueOf(String value)
Converts an IPv4 string literal (e.g., "10.2.3.4") into an IP address.- Parameters:
value
- an IPv4 address value in string form- Returns:
- an IPv4 address
- Throws:
IllegalArgumentException
- if the argument is invalid
-
makeMaskPrefix
public static Ip4Address makeMaskPrefix(int prefixLength)
Creates an IPv4 network mask prefix.- Parameters:
prefixLength
- the length of the mask prefix. Must be in the interval [0, 32]- Returns:
- a new IPv4 address that contains a mask prefix of the specified length
- Throws:
IllegalArgumentException
- if the argument is invalid
-
makeMaskedAddress
public static Ip4Address makeMaskedAddress(Ip4Address address, int prefixLength)
Creates an IPv4 address by masking it with a network mask of given mask length.- Parameters:
address
- the address to maskprefixLength
- the length of the mask prefix. Must be in the interval [0, 32]- Returns:
- a new IPv4 address that is masked with a mask prefix of the specified length
- Throws:
IllegalArgumentException
- if the prefix length is invalid
-
-