Package oshi.hardware.common
Class AbstractNetworkIF
java.lang.Object
oshi.hardware.common.AbstractNetworkIF
- All Implemented Interfaces:
NetworkIF
- Direct Known Subclasses:
FreeBsdNetworkIF,LinuxNetworkIF,MacNetworkIF,SolarisNetworkIF,WindowsNetworkIF
@ThreadSafe public abstract class AbstractNetworkIF extends java.lang.Object implements NetworkIF
Network interfaces implementation.
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractNetworkIF(java.net.NetworkInterface netint)Construct aNetworkIFobject backed by the specifiedNetworkInterface. -
Method Summary
Modifier and Type Method Description java.lang.StringgetDisplayName()Interface description.intgetIfType()(Windows, macOS) The NDIS Interface Type.java.lang.String[]getIPv4addr()The Internet Protocol (IP) v4 address.java.lang.String[]getIPv6addr()The Internet Protocol (IP) v6 address.java.lang.StringgetMacaddr()The Media Access Control (MAC) address.intgetMTU()The interface Maximum Transmission Unit (MTU).java.lang.StringgetName()Interface name.intgetNdisPhysicalMediumType()(Windows Vista and higher only) The NDIS physical medium type.protected static java.util.List<java.net.NetworkInterface>getNetworkInterfaces()Returns network interfaces that are not Loopback, and have a hardware address.java.lang.Short[]getPrefixLengths()The Internet Protocol (IP) v6 address.java.lang.Short[]getSubnetMasks()The Internet Protocol (IP) v4 subnet masks.booleanisConnectorPresent()(Windows Vista and higher) Set if a connector is present on the network interface.booleanisKnownVmMacAddr()Determines if the MAC address on this interface corresponds to a known Virtual Machine.java.net.NetworkInterfacequeryNetworkInterface()Gets theNetworkInterfaceobject.java.lang.StringtoString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface oshi.hardware.NetworkIF
getBytesRecv, getBytesSent, getCollisions, getInDrops, getInErrors, getOutErrors, getPacketsRecv, getPacketsSent, getSpeed, getTimeStamp, updateAttributes
-
Constructor Details
-
AbstractNetworkIF
protected AbstractNetworkIF(java.net.NetworkInterface netint)Construct aNetworkIFobject backed by the specifiedNetworkInterface.- Parameters:
netint- The core javaNetworkInterfacebacking this object.
-
-
Method Details
-
getNetworkInterfaces
protected static java.util.List<java.net.NetworkInterface> getNetworkInterfaces()Returns network interfaces that are not Loopback, and have a hardware address.- Returns:
- A list of network interfaces
-
queryNetworkInterface
public java.net.NetworkInterface queryNetworkInterface()Description copied from interface:NetworkIFGets theNetworkInterfaceobject.- Specified by:
queryNetworkInterfacein interfaceNetworkIF- Returns:
- the network interface, an instance of
NetworkInterface.
-
getName
public java.lang.String getName()Description copied from interface:NetworkIFInterface name. -
getDisplayName
public java.lang.String getDisplayName()Description copied from interface:NetworkIFInterface description.- Specified by:
getDisplayNamein interfaceNetworkIF- Returns:
- The description of the network interface. On some platforms, this is identical to the name.
-
getMTU
public int getMTU()Description copied from interface:NetworkIFThe interface Maximum Transmission Unit (MTU). -
getMacaddr
public java.lang.String getMacaddr()Description copied from interface:NetworkIFThe Media Access Control (MAC) address.- Specified by:
getMacaddrin interfaceNetworkIF- Returns:
- The MAC Address.
This value is set when the
NetworkIFis instantiated and may not be up to date.
-
getIPv4addr
public java.lang.String[] getIPv4addr()Description copied from interface:NetworkIFThe Internet Protocol (IP) v4 address.- Specified by:
getIPv4addrin interfaceNetworkIF- Returns:
- An array of IPv4 Addresses.
This value is set when the
NetworkIFis instantiated and may not be up to date.
-
getSubnetMasks
public java.lang.Short[] getSubnetMasks()Description copied from interface:NetworkIFThe Internet Protocol (IP) v4 subnet masks.- Specified by:
getSubnetMasksin interfaceNetworkIF- Returns:
- An array of IPv4 subnet mask lengths, corresponding to the IPv4
addresses from
NetworkIF.getIPv4addr(). Ranges between 0-32.This value is set when the
NetworkIFis instantiated and may not be up to date.
-
getIPv6addr
public java.lang.String[] getIPv6addr()Description copied from interface:NetworkIFThe Internet Protocol (IP) v6 address.- Specified by:
getIPv6addrin interfaceNetworkIF- Returns:
- An array of IPv6 Addresses.
This value is set when the
NetworkIFis instantiated and may not be up to date.
-
getPrefixLengths
public java.lang.Short[] getPrefixLengths()Description copied from interface:NetworkIFThe Internet Protocol (IP) v6 address.- Specified by:
getPrefixLengthsin interfaceNetworkIF- Returns:
- The IPv6 address prefix lengths, corresponding to the IPv6 addresses
from
NetworkIF.getIPv6addr(). Ranges between 0-128.This value is set when the
NetworkIFis instantiated and may not be up to date.
-
isKnownVmMacAddr
public boolean isKnownVmMacAddr()Description copied from interface:NetworkIFDetermines if the MAC address on this interface corresponds to a known Virtual Machine.- Specified by:
isKnownVmMacAddrin interfaceNetworkIF- Returns:
trueif the MAC address corresponds to a known virtual machine.
-
getIfType
public int getIfType()Description copied from interface:NetworkIF(Windows, macOS) The NDIS Interface Type. NDIS interface types are registered with the Internet Assigned Numbers Authority (IANA), which publishes a list of interface types periodically in the Assigned Numbers RFC, or in a derivative of it that is specific to Internet network management number assignments.(Linux) ARP Protocol hardware identifiers defined in
include/uapi/linux/if_arp.h -
getNdisPhysicalMediumType
public int getNdisPhysicalMediumType()Description copied from interface:NetworkIF(Windows Vista and higher only) The NDIS physical medium type. This member can be one of the values from theNDIS_PHYSICAL_MEDIUMenumeration type defined in theNtddndis.hheader file.- Specified by:
getNdisPhysicalMediumTypein interfaceNetworkIF- Returns:
- the ndisPhysicalMediumType
-
isConnectorPresent
public boolean isConnectorPresent()Description copied from interface:NetworkIF(Windows Vista and higher) Set if a connector is present on the network interface.(Linux) Indicates the current physical link state of the interface.
- Specified by:
isConnectorPresentin interfaceNetworkIF- Returns:
trueif there is a physical network adapter (Windows) or a connected cable (Linux), false otherwise
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-