Class NetworkUtility
- java.lang.Object
-
- com.sun.enterprise.mgmt.transport.NetworkUtility
-
public class NetworkUtility extends java.lang.ObjectUtility class that can be used by any calling code to do common routines about Network I/O- Author:
- Bongjae Chang
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.List<java.net.InetAddress>allLocalAddressesstatic java.net.InetAddressANYADDRESSConstant which works as the IP "Any Address" valuestatic java.net.InetAddressANYADDRESSV4static java.net.InetAddressANYADDRESSV6static java.net.InetAddressfirstInetAddressV4static java.net.InetAddressfirstInetAddressV6static java.lang.StringIPV4ANYADDRESSstatic java.lang.StringIPV4LOOPBACKstatic java.lang.StringIPV6ANYADDRESSstatic java.lang.StringIPV6LOOPBACKstatic java.net.InetAddressLOOPBACKConstant which works as the IP "Local Loopback" value;static java.net.InetAddressLOOPBACKV4static java.net.InetAddressLOOPBACKV6
-
Constructor Summary
Constructors Constructor Description NetworkUtility()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voiddeserialize(java.io.InputStream is, int count, java.util.Map<java.lang.String,java.io.Serializable> messages)static java.util.List<java.net.InetAddress>getAllLocalAddresses()Returns all local addresses except for lookback and any local address But, if any addresses were not found locally, the lookback is added to the list.static java.net.InetAddressgetAnyAddress()static java.net.InetAddressgetFirstInetAddress()Return a firstInetAddressof the first network interface check java property java.net.preferIPv6Addresses for whether to favor IPv4 or IPv6.static java.net.InetAddressgetFirstInetAddress(boolean preferIPv6)Return a firstInetAddressof the first network interface But, if any network interfaces were not found locally,nullcould be returned.static java.net.NetworkInterfacegetFirstNetworkInterface(boolean preferIPv6)Return a first network interface except for the lookback But, if any network interfaces were not found locally, the lookback interface is returned.static intgetIntFromByteArray(byte[] bytes, int offset)static java.net.InetAddressgetLocalHostAddress()static java.net.InetAddressgetLoopbackAddress()static java.net.InetAddressgetNetworkInetAddress(java.net.NetworkInterface anInterface, boolean preferIPv6)Return a firstInetAddressof network interface But, if any network interfaces were not found locally,nullcould be returned.static booleangetPreferIpv6Addresses()static booleanisBindAddressValid(java.lang.String addressString)static booleanisLoopbackNetworkInterface(java.net.NetworkInterface anInterface)static booleanisUp(java.net.NetworkInterface anInterface)static voidmain(java.lang.String[] args)static java.net.InetAddressresolveBindInterfaceName(java.lang.String addressString)static intserialize(java.io.OutputStream baos, java.util.Map<java.lang.String,java.io.Serializable> messages)static intserialize(java.io.OutputStream baos, java.util.Map<java.lang.String,java.io.Serializable> messages, boolean debug)static booleansupportsMulticast(java.net.NetworkInterface anInterface)static voidwriteIntToByteArray(byte[] bytes, int offset, int value)
-
-
-
Field Detail
-
IPV4ANYADDRESS
public static final java.lang.String IPV4ANYADDRESS
- See Also:
- Constant Field Values
-
IPV6ANYADDRESS
public static final java.lang.String IPV6ANYADDRESS
- See Also:
- Constant Field Values
-
IPV4LOOPBACK
public static final java.lang.String IPV4LOOPBACK
- See Also:
- Constant Field Values
-
IPV6LOOPBACK
public static final java.lang.String IPV6LOOPBACK
- See Also:
- Constant Field Values
-
ANYADDRESS
public static final java.net.InetAddress ANYADDRESS
Constant which works as the IP "Any Address" value
-
ANYADDRESSV4
public static final java.net.InetAddress ANYADDRESSV4
-
ANYADDRESSV6
public static final java.net.InetAddress ANYADDRESSV6
-
LOOPBACK
public static final java.net.InetAddress LOOPBACK
Constant which works as the IP "Local Loopback" value;
-
LOOPBACKV4
public static final java.net.InetAddress LOOPBACKV4
-
LOOPBACKV6
public static final java.net.InetAddress LOOPBACKV6
-
allLocalAddresses
public static volatile java.util.List<java.net.InetAddress> allLocalAddresses
-
firstInetAddressV4
public static volatile java.net.InetAddress firstInetAddressV4
-
firstInetAddressV6
public static volatile java.net.InetAddress firstInetAddressV6
-
-
Method Detail
-
getAllLocalAddresses
public static java.util.List<java.net.InetAddress> getAllLocalAddresses()
Returns all local addresses except for lookback and any local address But, if any addresses were not found locally, the lookback is added to the list.- Returns:
- List which contains available addresses locally
-
getAnyAddress
public static java.net.InetAddress getAnyAddress()
-
getLoopbackAddress
public static java.net.InetAddress getLoopbackAddress()
-
getFirstNetworkInterface
public static java.net.NetworkInterface getFirstNetworkInterface(boolean preferIPv6) throws java.io.IOExceptionReturn a first network interface except for the lookback But, if any network interfaces were not found locally, the lookback interface is returned.- Parameters:
preferIPv6- flag to indicate if IPV6 is preferred- Returns:
- a first network interface
- Throws:
java.io.IOException- if an I/O error occurs or a network interface was not found
-
getLocalHostAddress
public static java.net.InetAddress getLocalHostAddress()
-
getPreferIpv6Addresses
public static boolean getPreferIpv6Addresses()
-
getFirstInetAddress
public static java.net.InetAddress getFirstInetAddress() throws java.io.IOExceptionReturn a firstInetAddressof the first network interface check java property java.net.preferIPv6Addresses for whether to favor IPv4 or IPv6. (java default is to favor IPv4 addresses) If unable to find a valid network interface, then fallback to trying to get localhost address as last resort.- Returns:
- a first found
InetAddress. - Throws:
java.io.IOException- if an I/O error occurs or a network interface was not found
-
getFirstInetAddress
public static java.net.InetAddress getFirstInetAddress(boolean preferIPv6) throws java.io.IOExceptionReturn a firstInetAddressof the first network interface But, if any network interfaces were not found locally,nullcould be returned.- Parameters:
preferIPv6- if true, prefer IPv6 InetAddress. otherwise prefer IPv4 InetAddress- Returns:
- a first found
InetAddress. - Throws:
java.io.IOException- if an I/O error occurs or a network interface was not found
-
getNetworkInetAddress
public static java.net.InetAddress getNetworkInetAddress(java.net.NetworkInterface anInterface, boolean preferIPv6) throws java.io.IOExceptionReturn a firstInetAddressof network interface But, if any network interfaces were not found locally,nullcould be returned.- Parameters:
anInterface- the type of network interfacepreferIPv6- if true, prefer IPv6 InetAddress. otherwise prefer IPv4 InetAddress- Returns:
- a first found
InetAddress. - Throws:
java.io.IOException- if an I/O error occurs or a network interface was not found
-
isLoopbackNetworkInterface
public static boolean isLoopbackNetworkInterface(java.net.NetworkInterface anInterface)
-
supportsMulticast
public static boolean supportsMulticast(java.net.NetworkInterface anInterface)
-
isUp
public static boolean isUp(java.net.NetworkInterface anInterface)
-
writeIntToByteArray
public static void writeIntToByteArray(byte[] bytes, int offset, int value) throws java.lang.IllegalArgumentException- Throws:
java.lang.IllegalArgumentException
-
getIntFromByteArray
public static int getIntFromByteArray(byte[] bytes, int offset) throws java.lang.IllegalArgumentException- Throws:
java.lang.IllegalArgumentException
-
serialize
public static int serialize(java.io.OutputStream baos, java.util.Map<java.lang.String,java.io.Serializable> messages) throws MessageIOException- Throws:
MessageIOException
-
serialize
public static int serialize(java.io.OutputStream baos, java.util.Map<java.lang.String,java.io.Serializable> messages, boolean debug) throws MessageIOException- Throws:
MessageIOException
-
deserialize
public static void deserialize(java.io.InputStream is, int count, java.util.Map<java.lang.String,java.io.Serializable> messages) throws MessageIOException- Throws:
MessageIOException
-
isBindAddressValid
public static boolean isBindAddressValid(java.lang.String addressString)
-
resolveBindInterfaceName
public static java.net.InetAddress resolveBindInterfaceName(java.lang.String addressString)
-
main
public static void main(java.lang.String[] args) throws java.io.IOException- Throws:
java.io.IOException
-
-