Package org.opennms.core.utils
Class InetAddressUtils
- java.lang.Object
-
- org.opennms.core.utils.InetAddressUtils
-
public abstract class InetAddressUtils extends java.lang.Object
Abstract InetAddressUtils class.
- Version:
- $Id: $
- Author:
- Mathew Brozowski
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InetAddressUtils.AddressType
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
INVALID_BRIDGE_ADDRESS
static java.lang.String
INVALID_STP_BRIDGE_DESIGNATED_PORT
static java.lang.String
INVALID_STP_BRIDGE_ID
protected static java.text.DecimalFormat
NO_DIGITS_AFTER_DECIMAL
Always print at least one digit after the decimal point, and at most three digits after the decimal point.protected static java.text.DecimalFormat
ONE_DIGIT_AFTER_DECIMAL
Print no digits after the decimal point (heh, nor a decimal point).static java.net.InetAddress
ONE_TWENTY_SEVEN
static java.net.InetAddress
TWO_FIFTY_FIVES
static java.net.InetAddress
UNPINGABLE_ADDRESS
static java.net.InetAddress
UNPINGABLE_ADDRESS_IPV6
static java.net.InetAddress
ZEROS
-
Constructor Summary
Constructors Constructor Description InetAddressUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.net.InetAddress
addr(java.lang.String ipAddrString)
static java.net.InetAddress
convertBigIntegerIntoInetAddress(java.math.BigInteger i)
static java.net.InetAddress
convertCidrToInetAddressV4(int cidr)
static java.net.InetAddress
convertCidrToInetAddressV6(int cidr)
static byte[]
decr(byte[] address)
static java.lang.String
decr(java.lang.String address)
static java.math.BigInteger
difference(java.lang.String addr1, java.lang.String addr2)
static java.math.BigInteger
difference(java.net.InetAddress addr1, java.net.InetAddress addr2)
static java.lang.String
getBridgeAddressFromStpBridgeId(java.lang.String bridgeId)
static int
getBridgeDesignatedPortNumber(java.lang.String stpPortDesignatedPort)
static java.lang.String
getHumanReadableIfSpeed(long ifSpeed)
Method used to convert an integer bits-per-second value to a more readable vale using commonly recognized abbreviation for network interface speeds.static java.net.InetAddress
getInetAddress(byte[] ipAddrOctets)
static java.net.InetAddress
getInetAddress(int[] octets, int offset, int length)
static java.net.InetAddress
getInetAddress(java.lang.String dottedNotation)
getInetAddressstatic java.net.InetAddress
getIpAddressByHexString(java.lang.String ipaddrhexstrng)
static java.net.InetAddress
getLocalHostAddress()
static java.lang.String
getLocalHostAddressAsString()
static java.lang.String
getLocalHostName()
static java.util.Optional<java.net.InetAddress>
getLocalLoopbackAddress()
static java.net.InetAddress
getLowestInetAddress(java.util.List<java.net.InetAddress> addresses)
Given a list of IP addresses, return the lowest as determined by the numeric representation and not the alphanumeric string.static java.net.InetAddress
getNetwork(java.net.InetAddress ipaddress, java.net.InetAddress netmask)
static byte[]
incr(byte[] address)
static java.lang.String
incr(java.lang.String address)
static boolean
inSameNetwork(java.net.InetAddress addr1, java.net.InetAddress addr2, java.net.InetAddress mask)
static boolean
inSameScope(java.net.InetAddress addr1, java.net.InetAddress addr2)
static boolean
isInetAddressInRange(byte[] addr, byte[] begin, byte[] end)
static boolean
isInetAddressInRange(byte[] laddr, java.lang.String beginString, java.lang.String endString)
static boolean
isInetAddressInRange(java.lang.String ipAddr, byte[] begin, byte[] end)
static boolean
isInetAddressInRange(java.lang.String addrString, java.lang.String beginString, java.lang.String endString)
static boolean
isValidBridgeAddress(java.lang.String bridgeAddress)
static boolean
isValidStpBridgeId(java.lang.String bridgeId)
static boolean
isValidStpDesignatedPort(java.lang.String bridgeDesignatedPort)
static java.lang.String
macAddressBytesToString(byte[] macAddress)
static byte[]
macAddressStringToBytes(java.lang.String macAddress)
static java.lang.String
normalize(java.lang.String ipAddrString)
This function is used to ensure that an IP address string is in fully-qualified format without any "::" segments for an IPv6 address.static java.lang.String
normalizeMacAddress(java.lang.String macAddress)
static java.lang.String
str(java.net.InetAddress addr)
static java.math.BigInteger
toInteger(java.net.InetAddress ipAddress)
static byte[]
toIpAddrBytes(java.lang.String dottedNotation)
toIpAddrBytesstatic java.lang.String
toIpAddrString(byte[] addr)
toIpAddrStringstatic java.lang.String
toIpAddrString(java.net.InetAddress addr)
toIpAddrStringstatic java.lang.String
toOid(java.net.InetAddress addr)
static java.lang.String
toUrlIpAddress(java.net.InetAddress addr)
Method that wraps IPv6 addresses in square brackets so that they are parsed correctly by theJMXServiceURL
class.
-
-
-
Field Detail
-
NO_DIGITS_AFTER_DECIMAL
protected static final java.text.DecimalFormat NO_DIGITS_AFTER_DECIMAL
Always print at least one digit after the decimal point, and at most three digits after the decimal point.
-
ONE_DIGIT_AFTER_DECIMAL
protected static final java.text.DecimalFormat ONE_DIGIT_AFTER_DECIMAL
Print no digits after the decimal point (heh, nor a decimal point).
-
INVALID_BRIDGE_ADDRESS
public static final java.lang.String INVALID_BRIDGE_ADDRESS
- See Also:
- Constant Field Values
-
INVALID_STP_BRIDGE_ID
public static final java.lang.String INVALID_STP_BRIDGE_ID
- See Also:
- Constant Field Values
-
INVALID_STP_BRIDGE_DESIGNATED_PORT
public static final java.lang.String INVALID_STP_BRIDGE_DESIGNATED_PORT
- See Also:
- Constant Field Values
-
UNPINGABLE_ADDRESS
public static final java.net.InetAddress UNPINGABLE_ADDRESS
-
UNPINGABLE_ADDRESS_IPV6
public static final java.net.InetAddress UNPINGABLE_ADDRESS_IPV6
-
ZEROS
public static final java.net.InetAddress ZEROS
-
TWO_FIFTY_FIVES
public static final java.net.InetAddress TWO_FIFTY_FIVES
-
ONE_TWENTY_SEVEN
public static final java.net.InetAddress ONE_TWENTY_SEVEN
-
-
Method Detail
-
getLocalHostAddress
public static java.net.InetAddress getLocalHostAddress()
-
getLocalHostAddressAsString
public static java.lang.String getLocalHostAddressAsString()
-
getLocalLoopbackAddress
public static java.util.Optional<java.net.InetAddress> getLocalLoopbackAddress()
-
getLocalHostName
public static java.lang.String getLocalHostName()
-
incr
public static java.lang.String incr(java.lang.String address) throws java.net.UnknownHostException
- Throws:
java.net.UnknownHostException
-
incr
public static byte[] incr(byte[] address) throws java.net.UnknownHostException
- Throws:
java.net.UnknownHostException
-
decr
public static java.lang.String decr(java.lang.String address) throws java.net.UnknownHostException
- Throws:
java.net.UnknownHostException
-
decr
public static byte[] decr(byte[] address) throws java.net.UnknownHostException
- Throws:
java.net.UnknownHostException
-
getInetAddress
public static java.net.InetAddress getInetAddress(int[] octets, int offset, int length)
-
getInetAddress
public static java.net.InetAddress getInetAddress(byte[] ipAddrOctets)
-
getInetAddress
public static java.net.InetAddress getInetAddress(java.lang.String dottedNotation)
getInetAddress
- Parameters:
dottedNotation
- aString
object.- Returns:
- a
InetAddress
object.
-
toIpAddrBytes
public static byte[] toIpAddrBytes(java.lang.String dottedNotation)
toIpAddrBytes
- Parameters:
dottedNotation
- aString
object.- Returns:
- an array of byte.
-
toIpAddrString
public static java.lang.String toIpAddrString(java.net.InetAddress addr)
toIpAddrString
- Parameters:
addr
- IP address- Returns:
- a
String
object.
-
toIpAddrString
public static java.lang.String toIpAddrString(byte[] addr)
toIpAddrString
- Parameters:
addr
- an array of byte.- Returns:
- a
String
object.
-
toUrlIpAddress
public static java.lang.String toUrlIpAddress(java.net.InetAddress addr)
Method that wraps IPv6 addresses in square brackets so that they are parsed correctly by theJMXServiceURL
class.
-
getLowestInetAddress
public static java.net.InetAddress getLowestInetAddress(java.util.List<java.net.InetAddress> addresses)
Given a list of IP addresses, return the lowest as determined by the numeric representation and not the alphanumeric string.- Parameters:
addresses
- aList
object.- Returns:
- a
InetAddress
object.
-
difference
public static java.math.BigInteger difference(java.lang.String addr1, java.lang.String addr2)
-
difference
public static java.math.BigInteger difference(java.net.InetAddress addr1, java.net.InetAddress addr2)
-
isInetAddressInRange
public static boolean isInetAddressInRange(byte[] laddr, java.lang.String beginString, java.lang.String endString)
-
isInetAddressInRange
public static boolean isInetAddressInRange(java.lang.String addrString, java.lang.String beginString, java.lang.String endString)
-
inSameScope
public static boolean inSameScope(java.net.InetAddress addr1, java.net.InetAddress addr2)
-
getNetwork
public static java.net.InetAddress getNetwork(java.net.InetAddress ipaddress, java.net.InetAddress netmask)
-
inSameNetwork
public static boolean inSameNetwork(java.net.InetAddress addr1, java.net.InetAddress addr2, java.net.InetAddress mask)
-
isInetAddressInRange
public static boolean isInetAddressInRange(byte[] addr, byte[] begin, byte[] end)
-
isInetAddressInRange
public static boolean isInetAddressInRange(java.lang.String ipAddr, byte[] begin, byte[] end)
-
convertCidrToInetAddressV4
public static java.net.InetAddress convertCidrToInetAddressV4(int cidr)
-
convertCidrToInetAddressV6
public static java.net.InetAddress convertCidrToInetAddressV6(int cidr)
-
convertBigIntegerIntoInetAddress
public static java.net.InetAddress convertBigIntegerIntoInetAddress(java.math.BigInteger i) throws java.net.UnknownHostException
- Throws:
java.net.UnknownHostException
-
addr
public static java.net.InetAddress addr(java.lang.String ipAddrString)
-
normalize
public static java.lang.String normalize(java.lang.String ipAddrString)
This function is used to ensure that an IP address string is in fully-qualified format without any "::" segments for an IPv6 address. FIXME: do we lose
-
str
public static java.lang.String str(java.net.InetAddress addr)
-
toInteger
public static java.math.BigInteger toInteger(java.net.InetAddress ipAddress)
-
toOid
public static java.lang.String toOid(java.net.InetAddress addr)
-
macAddressStringToBytes
public static byte[] macAddressStringToBytes(java.lang.String macAddress)
-
macAddressBytesToString
public static java.lang.String macAddressBytesToString(byte[] macAddress)
-
normalizeMacAddress
public static java.lang.String normalizeMacAddress(java.lang.String macAddress)
-
isValidStpDesignatedPort
public static boolean isValidStpDesignatedPort(java.lang.String bridgeDesignatedPort)
-
getBridgeDesignatedPortNumber
public static int getBridgeDesignatedPortNumber(java.lang.String stpPortDesignatedPort)
-
isValidBridgeAddress
public static boolean isValidBridgeAddress(java.lang.String bridgeAddress)
-
isValidStpBridgeId
public static boolean isValidStpBridgeId(java.lang.String bridgeId)
-
getBridgeAddressFromStpBridgeId
public static java.lang.String getBridgeAddressFromStpBridgeId(java.lang.String bridgeId)
-
getIpAddressByHexString
public static java.net.InetAddress getIpAddressByHexString(java.lang.String ipaddrhexstrng)
-
getHumanReadableIfSpeed
public static java.lang.String getHumanReadableIfSpeed(long ifSpeed)
Method used to convert an integer bits-per-second value to a more readable vale using commonly recognized abbreviation for network interface speeds. Feel free to expand it as necessary to accommodate different values.- Parameters:
ifSpeed
- The bits-per-second value to be converted into a string description- Returns:
- A string representation of the speed ("100 Mbps" for example)
-
-