Class AbstractDMIMemoryDevice

java.lang.Object
io.github.eggy03.dmidecode.entity.memory.AbstractDMIMemoryDevice
Direct Known Subclasses:
DMIMemoryDevice, DMIMemoryDevice.Json

@Immutable @NullMarked public abstract class AbstractDMIMemoryDevice extends Object
Immutable representation of memory device information retrieved via DMI.

Fields correspond to properties reported by dmidecode for the Memory Device (Type 17) SMBIOS structure.

Instances of this class are thread-safe.

Usage example


 DMIMemoryDevice memory = new DMIMemoryDevice.Builder()
     .locator("DIMM_A1")
     .size("16 GB")
     .type("DDR4")
     .speed("3200 MT/s")
     .manufacturer("Samsung")
     .build();

 // Create a modified copy
 DMIMemoryDevice updated = memory
     .withConfiguredMemorySpeed("2933 MT/s");
 
Since:
0.2.0
  • Constructor Details

    • AbstractDMIMemoryDevice

      public AbstractDMIMemoryDevice()
  • Method Details

    • arrayHandle

      public abstract @Nullable String arrayHandle()
    • errorInformationHandle

      public abstract @Nullable String errorInformationHandle()
    • totalWidth

      public abstract @Nullable String totalWidth()
    • dataWidth

      public abstract @Nullable String dataWidth()
    • size

      public abstract @Nullable String size()
    • formFactor

      public abstract @Nullable String formFactor()
    • set

      public abstract @Nullable String set()
    • locator

      public abstract @Nullable String locator()
    • bankLocator

      public abstract @Nullable String bankLocator()
    • type

      public abstract @Nullable String type()
    • typeDetail

      public abstract @Nullable String typeDetail()
    • speed

      public abstract @Nullable String speed()
    • manufacturer

      public abstract @Nullable String manufacturer()
    • serialNumber

      public abstract @Nullable String serialNumber()
    • assetTag

      public abstract @Nullable String assetTag()
    • partNumber

      public abstract @Nullable String partNumber()
    • rank

      public abstract @Nullable Integer rank()
    • configuredMemorySpeed

      public abstract @Nullable String configuredMemorySpeed()
    • minimumVoltage

      public abstract @Nullable String minimumVoltage()
    • maximumVoltage

      public abstract @Nullable String maximumVoltage()
    • configuredVoltage

      public abstract @Nullable String configuredVoltage()
    • memoryTechnology

      public abstract @Nullable String memoryTechnology()
    • memoryOperatingModeCapability

      public abstract @Nullable String memoryOperatingModeCapability()
    • firmwareVersion

      public abstract @Nullable String firmwareVersion()
    • moduleManufacturerId

      public abstract @Nullable String moduleManufacturerId()
    • moduleProductId

      public abstract @Nullable String moduleProductId()
    • memorySubsystemControllerManufacturerId

      public abstract @Nullable String memorySubsystemControllerManufacturerId()
    • memorySubsystemControllerProductId

      public abstract @Nullable String memorySubsystemControllerProductId()
    • nonVolatileSize

      public abstract @Nullable String nonVolatileSize()
    • volatileSize

      public abstract @Nullable String volatileSize()
    • cacheSize

      public abstract @Nullable String cacheSize()
    • logicalSize

      public abstract @Nullable String logicalSize()
    • toString

      public String toString()
      Overrides:
      toString in class Object