Package oshi.hardware

Interface HardwareAbstractionLayer

All Known Implementing Classes:
AbstractHardwareAbstractionLayer, AixHardwareAbstractionLayer, FreeBsdHardwareAbstractionLayer, LinuxHardwareAbstractionLayer, MacHardwareAbstractionLayer, OpenBsdHardwareAbstractionLayer, SolarisHardwareAbstractionLayer, WindowsHardwareAbstractionLayer

@ThreadSafe public interface HardwareAbstractionLayer
A hardware abstraction layer. Provides access to hardware items such as processors, memory, battery, and disks.
  • Method Details

    • getComputerSystem

      ComputerSystem getComputerSystem()
      Instantiates a ComputerSystem object. This represents the physical hardware, including components such as BIOS/Firmware and a motherboard, logic board, etc.
      Returns:
      a ComputerSystem object.
    • getProcessor

      CentralProcessor getProcessor()
      Instantiates a CentralProcessor object. This represents one or more Logical CPUs.
      Returns:
      A CentralProcessor object.
    • getMemory

      GlobalMemory getMemory()
      Instantiates a GlobalMemory object.
      Returns:
      A memory object.
    • getPowerSources

      List<PowerSource> getPowerSources()
      Instantiates a list of PowerSource objects, representing batteries, etc.
      Returns:
      A list of PowerSource objects or an empty list if none are present.
    • getDiskStores

      List<HWDiskStore> getDiskStores()
      Instantiates a list of HWDiskStore objects, representing physical hard disks or other similar storage devices.
      Returns:
      A list of HWDiskStore objects or an empty list if none are present.
    • getLogicalVolumeGroups

      default List<LogicalVolumeGroup> getLogicalVolumeGroups()
      Instantiates a list of LogicalVolumeGroup objects, representing a storage pool or group of devices, partitions, volumes, or other implementation specific means of file storage.

      If not yet implemented or if logical volume groups do not exist, returns an empty list.

      Currently implemented for Linux (LVM2), macOS (Core Storage), and Windows (Storage Spaces).

      Returns:
      A list of LogicalVolumeGroup objects or an empty list if none are present.
    • getNetworkIFs

      List<NetworkIF> getNetworkIFs()
      Gets a list of non-local NetworkIF objects, representing a network interface. The list excludes local interfaces.
      Returns:
      A list of NetworkIF objects representing the interfaces
    • getNetworkIFs

      List<NetworkIF> getNetworkIFs(boolean includeLocalInterfaces)
      Gets a list NetworkIF objects, representing a network interface.
      Parameters:
      includeLocalInterfaces - whether to include local interfaces (loopback or no hardware address) in the result
      Returns:
      A list of NetworkIF objects representing the interfaces
    • getDisplays

      List<Display> getDisplays()
      Instantiates a list of Display objects, representing monitors or other video output devices.
      Returns:
      A list of Display objects or an empty list if none are present.
    • getSensors

      Sensors getSensors()
      Instantiates a Sensors object, representing CPU temperature and fan speed.
      Returns:
      A Sensors object
    • getUsbDevices

      List<UsbDevice> getUsbDevices(boolean tree)
      Instantiates a list of UsbDevice objects, representing devices connected via a usb port (including internal devices).

      If the value of tree is true, the top level devices returned from this method are the USB Controllers; connected hubs and devices in its device tree share that controller's bandwidth. If the value of tree is false, USB devices (not controllers) are listed in a single flat list.

      Parameters:
      tree - If true, returns devices connected to the existing device, accessible via UsbDevice.getConnectedDevices(). If false returns devices as a flat list with no connected device information.
      Returns:
      A list of UsbDevice objects representing (optionally) the USB Controllers and devices connected to them, or an empty list if none are present
    • getSoundCards

      List<SoundCard> getSoundCards()
      Instantiates a list of SoundCard objects, representing the Sound cards.
      Returns:
      A list of SoundCard objects or an empty list if none are present.
    • getGraphicsCards

      List<GraphicsCard> getGraphicsCards()
      Instantiates a list of GraphicsCard objects, representing the Graphics cards.
      Returns:
      A list of objects or an empty list if none are present.