Package oshi.hardware.common
Class AbstractUsbDevice
- java.lang.Object
-
- oshi.hardware.common.AbstractUsbDevice
-
- Direct Known Subclasses:
AixUsbDevice
,FreeBsdUsbDevice
,LinuxUsbDevice
,MacUsbDevice
,OpenBsdUsbDevice
,SolarisUsbDevice
,WindowsUsbDevice
@Immutable public abstract class AbstractUsbDevice extends java.lang.Object implements UsbDevice
A USB device
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<UsbDevice>
connectedDevices
private java.lang.String
name
private java.lang.String
productId
private java.lang.String
serialNumber
private java.lang.String
uniqueDeviceId
private java.lang.String
vendor
private java.lang.String
vendorId
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractUsbDevice(java.lang.String name, java.lang.String vendor, java.lang.String vendorId, java.lang.String productId, java.lang.String serialNumber, java.lang.String uniqueDeviceId, java.util.List<UsbDevice> connectedDevices)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(UsbDevice usb)
java.util.List<UsbDevice>
getConnectedDevices()
Other devices connected to this hubjava.lang.String
getName()
Name of the USB devicejava.lang.String
getProductId()
Product ID of the USB devicejava.lang.String
getSerialNumber()
Serial number of the USB devicejava.lang.String
getUniqueDeviceId()
A Unique Device ID of the USB device, such as the PnPDeviceID (Windows), Device Node Path (Linux), Registry Entry ID (macOS), or Device Node number (Unix)java.lang.String
getVendor()
Vendor that manufactured the USB devicejava.lang.String
getVendorId()
ID of the vendor that manufactured the USB deviceprivate static java.lang.String
indentUsb(UsbDevice usbDevice, int indent)
Helper method for indenting chained USB devicesjava.lang.String
toString()
-
-
-
Field Detail
-
name
private final java.lang.String name
-
vendor
private final java.lang.String vendor
-
vendorId
private final java.lang.String vendorId
-
productId
private final java.lang.String productId
-
serialNumber
private final java.lang.String serialNumber
-
uniqueDeviceId
private final java.lang.String uniqueDeviceId
-
connectedDevices
private final java.util.List<UsbDevice> connectedDevices
-
-
Constructor Detail
-
AbstractUsbDevice
protected AbstractUsbDevice(java.lang.String name, java.lang.String vendor, java.lang.String vendorId, java.lang.String productId, java.lang.String serialNumber, java.lang.String uniqueDeviceId, java.util.List<UsbDevice> connectedDevices)
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:UsbDevice
Name of the USB device
-
getVendor
public java.lang.String getVendor()
Description copied from interface:UsbDevice
Vendor that manufactured the USB device
-
getVendorId
public java.lang.String getVendorId()
Description copied from interface:UsbDevice
ID of the vendor that manufactured the USB device- Specified by:
getVendorId
in interfaceUsbDevice
- Returns:
- The vendor ID, a 4-digit hex string
-
getProductId
public java.lang.String getProductId()
Description copied from interface:UsbDevice
Product ID of the USB device- Specified by:
getProductId
in interfaceUsbDevice
- Returns:
- The product ID, a 4-digit hex string
-
getSerialNumber
public java.lang.String getSerialNumber()
Description copied from interface:UsbDevice
Serial number of the USB device- Specified by:
getSerialNumber
in interfaceUsbDevice
- Returns:
- The serial number, if known
-
getUniqueDeviceId
public java.lang.String getUniqueDeviceId()
Description copied from interface:UsbDevice
A Unique Device ID of the USB device, such as the PnPDeviceID (Windows), Device Node Path (Linux), Registry Entry ID (macOS), or Device Node number (Unix)- Specified by:
getUniqueDeviceId
in interfaceUsbDevice
- Returns:
- The Unique Device ID
-
getConnectedDevices
public java.util.List<UsbDevice> getConnectedDevices()
Description copied from interface:UsbDevice
Other devices connected to this hub- Specified by:
getConnectedDevices
in interfaceUsbDevice
- Returns:
- An
UnmodifiableList
of other devices connected to this hub, if any, or an empty list if none
-
compareTo
public int compareTo(UsbDevice usb)
- Specified by:
compareTo
in interfacejava.lang.Comparable<UsbDevice>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
indentUsb
private static java.lang.String indentUsb(UsbDevice usbDevice, int indent)
Helper method for indenting chained USB devices- Parameters:
usbDevice
- A USB device to printindent
- number of spaces to indent- Returns:
- The device toString, indented
-
-