Skip to content

Latest commit

History

81 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LicenseMaven Central VersionMinimum JDK Version

Note

The API is currently in rapid development stage. While the core functionalities have been tested and is considered stable, the public API contract may evolve continuously, in form of breaking changes, until a stable API is achieved.

About

dmidecode4j is a lightweight, free Java library that parses human-readable dmidecode output and deserializes it into strongly-typed Java entities.

Supported Operating Systems

  • Any Linux distributions that support dmidecode will be able to use this library

⚠️ Root privileges are required to run dmidecode.

CI Stats

GitHub Actions Workflow StatusCommits to main since latest release

Download

Minimum Supported Java Version: 8

Maven:

<dependency>
<groupId>io.github.eggy03</groupId>
<artifactId>dmidecode4j</artifactId>
<version>VERSION</version>
</dependency>

Gradle:

implementation group: 'io.github.eggy03', name: 'dmidecode4j', version: 'VERSION'

Replace VERSION with the latest version available in maven central

For other build ecosystems, check out the Maven Central Repository

Note

The sources.jar published with this library includes de-lomboked code which should prevent the IDEs from complaining about source mismatch between the decompiled class files and the downloaded sources. It should also make your debugging easier, should you step into the library code during the debugging process of your project.

Usage

publicclassProcessorExample {
publicstaticvoidmain(String[] args) {
DMIProcessorServiceservice = newDMIProcessorService();
Optional<DMIProcessor> processor = service.get(10L);
processor.ifPresent(System.out::println);
// can also access individual metrics via the getters
}
}

Docs

Implementation Status

NumberTypeStatus
0BIOSImplemented
1SYSTEMImplemented
2BASEBOARDImplemented
3CHASSISImplemented
4PROCESSORImplemented
5MEMORY_CONTROLLERPending
6MEMORY_MODULEPending
7CACHEImplemented
8PORT_CONNECTORImplemented
9SYSTEM_SLOTSImplemented
10ONBOARD_DEVICESPending
11OEM_SETTINGSPending
12SYSTEM_CONFIGURATION_OPTIONSPending
13BIOS_LANGUAGEImplemented
14GROUP_ASSOCIATIONSPending
15SYSTEM_EVENT_LOGPending
16PHYSICAL_MEMORY_ARRAYImplemented
17MEMORY_DEVICEImplemented
18THIRTY_TWO_BIT_MEMORY_ERRORPending
19MEMORY_ARRAY_MAPPED_ADDRESSPending
20MEMORY_DEVICE_MAPPED_ADDRESSPending
21BUILT_IN_POINTING_DEVICEPending
22PORTABLE_BATTERYImplemented
23SYSTEM_RESETPending
24HARDWARE_SECURITYPending
25SYSTEM_POWER_CONTROLSPending
26VOLTAGE_PROBEPending
27COOLING_DEVICEPending
28TEMPERATURE_PROBEPending
29ELECTRICAL_CURRENT_PROBEPending
30OUT_OF_BAND_REMOTE_ACCESSPending
31BOOT_INTEGRITY_SERVICESPending
32SYSTEM_BOOTPending
33SIXTY_FOUR_BIT_MEMORY_ERRORPending
34MANAGEMENT_DEVICEPending
35MANAGEMENT_DEVICE_COMPONENTPending
36MANAGEMENT_DEVICE_THRESHOLD_DATAPending
37MEMORY_CHANNELPending
38IPMI_DEVICEPending
39POWER_SUPPLYPending
40ADDITIONAL_INFORMATIONPending
41ONBOARD_DEVICEPending

Projects Using dmidecode4j

  1. Nautilus - A cross-platform Swing based GUI application for displaying computer information

If you want to add your project to this list, simply create an issue with the showcase template and provide the required information.

License

This project is licensed under the MIT License.

About

A wrapper around the free user-space command-line utility dmidecode, dmidecode4j deserializes human readable dmidecode output into type-safe entities.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages