Class DMIMemoryDevice

java.lang.Object
io.github.eggy03.dmidecode.entity.memory.AbstractDMIMemoryDevice
io.github.eggy03.dmidecode.entity.memory.DMIMemoryDevice

@Generated(from="AbstractDMIMemoryDevice", generator="Immutables") @Generated("org.immutables.processor.ProxyProcessor") public final class DMIMemoryDevice extends AbstractDMIMemoryDevice
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
  • Field Details

    • arrayHandle

      private final @Nullable String arrayHandle
    • errorInformationHandle

      private final @Nullable String errorInformationHandle
    • totalWidth

      private final @Nullable String totalWidth
    • dataWidth

      private final @Nullable String dataWidth
    • size

      private final @Nullable String size
    • formFactor

      private final @Nullable String formFactor
    • set

      private final @Nullable String set
    • locator

      private final @Nullable String locator
    • bankLocator

      private final @Nullable String bankLocator
    • type

      private final @Nullable String type
    • typeDetail

      private final @Nullable String typeDetail
    • speed

      private final @Nullable String speed
    • manufacturer

      private final @Nullable String manufacturer
    • serialNumber

      private final @Nullable String serialNumber
    • assetTag

      private final @Nullable String assetTag
    • partNumber

      private final @Nullable String partNumber
    • rank

      private final @Nullable Integer rank
    • configuredMemorySpeed

      private final @Nullable String configuredMemorySpeed
    • minimumVoltage

      private final @Nullable String minimumVoltage
    • maximumVoltage

      private final @Nullable String maximumVoltage
    • configuredVoltage

      private final @Nullable String configuredVoltage
    • memoryTechnology

      private final @Nullable String memoryTechnology
    • memoryOperatingModeCapability

      private final @Nullable String memoryOperatingModeCapability
    • firmwareVersion

      private final @Nullable String firmwareVersion
    • moduleManufacturerId

      private final @Nullable String moduleManufacturerId
    • moduleProductId

      private final @Nullable String moduleProductId
    • memorySubsystemControllerManufacturerId

      private final @Nullable String memorySubsystemControllerManufacturerId
    • memorySubsystemControllerProductId

      private final @Nullable String memorySubsystemControllerProductId
    • nonVolatileSize

      private final @Nullable String nonVolatileSize
    • volatileSize

      private final @Nullable String volatileSize
    • cacheSize

      private final @Nullable String cacheSize
    • logicalSize

      private final @Nullable String logicalSize
  • Constructor Details

    • DMIMemoryDevice

      private DMIMemoryDevice(@Nullable String arrayHandle, @Nullable String errorInformationHandle, @Nullable String totalWidth, @Nullable String dataWidth, @Nullable String size, @Nullable String formFactor, @Nullable String set, @Nullable String locator, @Nullable String bankLocator, @Nullable String type, @Nullable String typeDetail, @Nullable String speed, @Nullable String manufacturer, @Nullable String serialNumber, @Nullable String assetTag, @Nullable String partNumber, @Nullable Integer rank, @Nullable String configuredMemorySpeed, @Nullable String minimumVoltage, @Nullable String maximumVoltage, @Nullable String configuredVoltage, @Nullable String memoryTechnology, @Nullable String memoryOperatingModeCapability, @Nullable String firmwareVersion, @Nullable String moduleManufacturerId, @Nullable String moduleProductId, @Nullable String memorySubsystemControllerManufacturerId, @Nullable String memorySubsystemControllerProductId, @Nullable String nonVolatileSize, @Nullable String volatileSize, @Nullable String cacheSize, @Nullable String logicalSize)
  • Method Details

    • arrayHandle

      public @Nullable String arrayHandle()
      Specified by:
      arrayHandle in class AbstractDMIMemoryDevice
      Returns:
      The value of the arrayHandle attribute
    • errorInformationHandle

      public @Nullable String errorInformationHandle()
      Specified by:
      errorInformationHandle in class AbstractDMIMemoryDevice
      Returns:
      The value of the errorInformationHandle attribute
    • totalWidth

      public @Nullable String totalWidth()
      Specified by:
      totalWidth in class AbstractDMIMemoryDevice
      Returns:
      The value of the totalWidth attribute
    • dataWidth

      public @Nullable String dataWidth()
      Specified by:
      dataWidth in class AbstractDMIMemoryDevice
      Returns:
      The value of the dataWidth attribute
    • size

      public @Nullable String size()
      Specified by:
      size in class AbstractDMIMemoryDevice
      Returns:
      The value of the size attribute
    • formFactor

      public @Nullable String formFactor()
      Specified by:
      formFactor in class AbstractDMIMemoryDevice
      Returns:
      The value of the formFactor attribute
    • set

      public @Nullable String set()
      Specified by:
      set in class AbstractDMIMemoryDevice
      Returns:
      The value of the set attribute
    • locator

      public @Nullable String locator()
      Specified by:
      locator in class AbstractDMIMemoryDevice
      Returns:
      The value of the locator attribute
    • bankLocator

      public @Nullable String bankLocator()
      Specified by:
      bankLocator in class AbstractDMIMemoryDevice
      Returns:
      The value of the bankLocator attribute
    • type

      public @Nullable String type()
      Specified by:
      type in class AbstractDMIMemoryDevice
      Returns:
      The value of the type attribute
    • typeDetail

      public @Nullable String typeDetail()
      Specified by:
      typeDetail in class AbstractDMIMemoryDevice
      Returns:
      The value of the typeDetail attribute
    • speed

      public @Nullable String speed()
      Specified by:
      speed in class AbstractDMIMemoryDevice
      Returns:
      The value of the speed attribute
    • manufacturer

      public @Nullable String manufacturer()
      Specified by:
      manufacturer in class AbstractDMIMemoryDevice
      Returns:
      The value of the manufacturer attribute
    • serialNumber

      public @Nullable String serialNumber()
      Specified by:
      serialNumber in class AbstractDMIMemoryDevice
      Returns:
      The value of the serialNumber attribute
    • assetTag

      public @Nullable String assetTag()
      Specified by:
      assetTag in class AbstractDMIMemoryDevice
      Returns:
      The value of the assetTag attribute
    • partNumber

      public @Nullable String partNumber()
      Specified by:
      partNumber in class AbstractDMIMemoryDevice
      Returns:
      The value of the partNumber attribute
    • rank

      public @Nullable Integer rank()
      Specified by:
      rank in class AbstractDMIMemoryDevice
      Returns:
      The value of the rank attribute
    • configuredMemorySpeed

      public @Nullable String configuredMemorySpeed()
      Specified by:
      configuredMemorySpeed in class AbstractDMIMemoryDevice
      Returns:
      The value of the configuredMemorySpeed attribute
    • minimumVoltage

      public @Nullable String minimumVoltage()
      Specified by:
      minimumVoltage in class AbstractDMIMemoryDevice
      Returns:
      The value of the minimumVoltage attribute
    • maximumVoltage

      public @Nullable String maximumVoltage()
      Specified by:
      maximumVoltage in class AbstractDMIMemoryDevice
      Returns:
      The value of the maximumVoltage attribute
    • configuredVoltage

      public @Nullable String configuredVoltage()
      Specified by:
      configuredVoltage in class AbstractDMIMemoryDevice
      Returns:
      The value of the configuredVoltage attribute
    • memoryTechnology

      public @Nullable String memoryTechnology()
      Specified by:
      memoryTechnology in class AbstractDMIMemoryDevice
      Returns:
      The value of the memoryTechnology attribute
    • memoryOperatingModeCapability

      public @Nullable String memoryOperatingModeCapability()
      Specified by:
      memoryOperatingModeCapability in class AbstractDMIMemoryDevice
      Returns:
      The value of the memoryOperatingModeCapability attribute
    • firmwareVersion

      public @Nullable String firmwareVersion()
      Specified by:
      firmwareVersion in class AbstractDMIMemoryDevice
      Returns:
      The value of the firmwareVersion attribute
    • moduleManufacturerId

      public @Nullable String moduleManufacturerId()
      Specified by:
      moduleManufacturerId in class AbstractDMIMemoryDevice
      Returns:
      The value of the moduleManufacturerId attribute
    • moduleProductId

      public @Nullable String moduleProductId()
      Specified by:
      moduleProductId in class AbstractDMIMemoryDevice
      Returns:
      The value of the moduleProductId attribute
    • memorySubsystemControllerManufacturerId

      public @Nullable String memorySubsystemControllerManufacturerId()
      Specified by:
      memorySubsystemControllerManufacturerId in class AbstractDMIMemoryDevice
      Returns:
      The value of the memorySubsystemControllerManufacturerId attribute
    • memorySubsystemControllerProductId

      public @Nullable String memorySubsystemControllerProductId()
      Specified by:
      memorySubsystemControllerProductId in class AbstractDMIMemoryDevice
      Returns:
      The value of the memorySubsystemControllerProductId attribute
    • nonVolatileSize

      public @Nullable String nonVolatileSize()
      Specified by:
      nonVolatileSize in class AbstractDMIMemoryDevice
      Returns:
      The value of the nonVolatileSize attribute
    • volatileSize

      public @Nullable String volatileSize()
      Specified by:
      volatileSize in class AbstractDMIMemoryDevice
      Returns:
      The value of the volatileSize attribute
    • cacheSize

      public @Nullable String cacheSize()
      Specified by:
      cacheSize in class AbstractDMIMemoryDevice
      Returns:
      The value of the cacheSize attribute
    • logicalSize

      public @Nullable String logicalSize()
      Specified by:
      logicalSize in class AbstractDMIMemoryDevice
      Returns:
      The value of the logicalSize attribute
    • withArrayHandle

      public final DMIMemoryDevice withArrayHandle(@Nullable String value)
      Copy the current immutable object by setting a value for the arrayHandle attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for arrayHandle (can be null)
      Returns:
      A modified copy or the this object
    • withErrorInformationHandle

      public final DMIMemoryDevice withErrorInformationHandle(@Nullable String value)
      Copy the current immutable object by setting a value for the errorInformationHandle attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for errorInformationHandle (can be null)
      Returns:
      A modified copy or the this object
    • withTotalWidth

      public final DMIMemoryDevice withTotalWidth(@Nullable String value)
      Copy the current immutable object by setting a value for the totalWidth attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for totalWidth (can be null)
      Returns:
      A modified copy or the this object
    • withDataWidth

      public final DMIMemoryDevice withDataWidth(@Nullable String value)
      Copy the current immutable object by setting a value for the dataWidth attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for dataWidth (can be null)
      Returns:
      A modified copy or the this object
    • withSize

      public final DMIMemoryDevice withSize(@Nullable String value)
      Copy the current immutable object by setting a value for the size attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for size (can be null)
      Returns:
      A modified copy or the this object
    • withFormFactor

      public final DMIMemoryDevice withFormFactor(@Nullable String value)
      Copy the current immutable object by setting a value for the formFactor attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for formFactor (can be null)
      Returns:
      A modified copy or the this object
    • withSet

      public final DMIMemoryDevice withSet(@Nullable String value)
      Copy the current immutable object by setting a value for the set attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for set (can be null)
      Returns:
      A modified copy or the this object
    • withLocator

      public final DMIMemoryDevice withLocator(@Nullable String value)
      Copy the current immutable object by setting a value for the locator attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for locator (can be null)
      Returns:
      A modified copy or the this object
    • withBankLocator

      public final DMIMemoryDevice withBankLocator(@Nullable String value)
      Copy the current immutable object by setting a value for the bankLocator attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for bankLocator (can be null)
      Returns:
      A modified copy or the this object
    • withType

      public final DMIMemoryDevice withType(@Nullable String value)
      Copy the current immutable object by setting a value for the type attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for type (can be null)
      Returns:
      A modified copy or the this object
    • withTypeDetail

      public final DMIMemoryDevice withTypeDetail(@Nullable String value)
      Copy the current immutable object by setting a value for the typeDetail attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for typeDetail (can be null)
      Returns:
      A modified copy or the this object
    • withSpeed

      public final DMIMemoryDevice withSpeed(@Nullable String value)
      Copy the current immutable object by setting a value for the speed attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for speed (can be null)
      Returns:
      A modified copy or the this object
    • withManufacturer

      public final DMIMemoryDevice withManufacturer(@Nullable String value)
      Copy the current immutable object by setting a value for the manufacturer attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for manufacturer (can be null)
      Returns:
      A modified copy or the this object
    • withSerialNumber

      public final DMIMemoryDevice withSerialNumber(@Nullable String value)
      Copy the current immutable object by setting a value for the serialNumber attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for serialNumber (can be null)
      Returns:
      A modified copy or the this object
    • withAssetTag

      public final DMIMemoryDevice withAssetTag(@Nullable String value)
      Copy the current immutable object by setting a value for the assetTag attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for assetTag (can be null)
      Returns:
      A modified copy or the this object
    • withPartNumber

      public final DMIMemoryDevice withPartNumber(@Nullable String value)
      Copy the current immutable object by setting a value for the partNumber attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for partNumber (can be null)
      Returns:
      A modified copy or the this object
    • withRank

      public final DMIMemoryDevice withRank(@Nullable Integer value)
      Copy the current immutable object by setting a value for the rank attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for rank (can be null)
      Returns:
      A modified copy or the this object
    • withConfiguredMemorySpeed

      public final DMIMemoryDevice withConfiguredMemorySpeed(@Nullable String value)
      Copy the current immutable object by setting a value for the configuredMemorySpeed attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for configuredMemorySpeed (can be null)
      Returns:
      A modified copy or the this object
    • withMinimumVoltage

      public final DMIMemoryDevice withMinimumVoltage(@Nullable String value)
      Copy the current immutable object by setting a value for the minimumVoltage attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for minimumVoltage (can be null)
      Returns:
      A modified copy or the this object
    • withMaximumVoltage

      public final DMIMemoryDevice withMaximumVoltage(@Nullable String value)
      Copy the current immutable object by setting a value for the maximumVoltage attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for maximumVoltage (can be null)
      Returns:
      A modified copy or the this object
    • withConfiguredVoltage

      public final DMIMemoryDevice withConfiguredVoltage(@Nullable String value)
      Copy the current immutable object by setting a value for the configuredVoltage attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for configuredVoltage (can be null)
      Returns:
      A modified copy or the this object
    • withMemoryTechnology

      public final DMIMemoryDevice withMemoryTechnology(@Nullable String value)
      Copy the current immutable object by setting a value for the memoryTechnology attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for memoryTechnology (can be null)
      Returns:
      A modified copy or the this object
    • withMemoryOperatingModeCapability

      public final DMIMemoryDevice withMemoryOperatingModeCapability(@Nullable String value)
      Copy the current immutable object by setting a value for the memoryOperatingModeCapability attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for memoryOperatingModeCapability (can be null)
      Returns:
      A modified copy or the this object
    • withFirmwareVersion

      public final DMIMemoryDevice withFirmwareVersion(@Nullable String value)
      Copy the current immutable object by setting a value for the firmwareVersion attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for firmwareVersion (can be null)
      Returns:
      A modified copy or the this object
    • withModuleManufacturerId

      public final DMIMemoryDevice withModuleManufacturerId(@Nullable String value)
      Copy the current immutable object by setting a value for the moduleManufacturerId attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for moduleManufacturerId (can be null)
      Returns:
      A modified copy or the this object
    • withModuleProductId

      public final DMIMemoryDevice withModuleProductId(@Nullable String value)
      Copy the current immutable object by setting a value for the moduleProductId attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for moduleProductId (can be null)
      Returns:
      A modified copy or the this object
    • withMemorySubsystemControllerManufacturerId

      public final DMIMemoryDevice withMemorySubsystemControllerManufacturerId(@Nullable String value)
      Copy the current immutable object by setting a value for the memorySubsystemControllerManufacturerId attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for memorySubsystemControllerManufacturerId (can be null)
      Returns:
      A modified copy or the this object
    • withMemorySubsystemControllerProductId

      public final DMIMemoryDevice withMemorySubsystemControllerProductId(@Nullable String value)
      Copy the current immutable object by setting a value for the memorySubsystemControllerProductId attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for memorySubsystemControllerProductId (can be null)
      Returns:
      A modified copy or the this object
    • withNonVolatileSize

      public final DMIMemoryDevice withNonVolatileSize(@Nullable String value)
      Copy the current immutable object by setting a value for the nonVolatileSize attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for nonVolatileSize (can be null)
      Returns:
      A modified copy or the this object
    • withVolatileSize

      public final DMIMemoryDevice withVolatileSize(@Nullable String value)
      Copy the current immutable object by setting a value for the volatileSize attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for volatileSize (can be null)
      Returns:
      A modified copy or the this object
    • withCacheSize

      public final DMIMemoryDevice withCacheSize(@Nullable String value)
      Copy the current immutable object by setting a value for the cacheSize attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for cacheSize (can be null)
      Returns:
      A modified copy or the this object
    • withLogicalSize

      public final DMIMemoryDevice withLogicalSize(@Nullable String value)
      Copy the current immutable object by setting a value for the logicalSize attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for logicalSize (can be null)
      Returns:
      A modified copy or the this object
    • equals

      public boolean equals(@Nullable Object another)
      This instance is equal to all instances of DMIMemoryDevice that have equal attribute values.
      Overrides:
      equals in class Object
      Returns:
      true if this is equal to another instance
    • equalsByValue

      private boolean equalsByValue(DMIMemoryDevice another)
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: arrayHandle, errorInformationHandle, totalWidth, dataWidth, size, formFactor, set, locator, bankLocator, type, typeDetail, speed, manufacturer, serialNumber, assetTag, partNumber, rank, configuredMemorySpeed, minimumVoltage, maximumVoltage, configuredVoltage, memoryTechnology, memoryOperatingModeCapability, firmwareVersion, moduleManufacturerId, moduleProductId, memorySubsystemControllerManufacturerId, memorySubsystemControllerProductId, nonVolatileSize, volatileSize, cacheSize, logicalSize.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • fromJson

      Deprecated.
      Do not use this method directly, it exists only for the Jackson-binding infrastructure
      Parameters:
      json - A JSON-bindable data structure
      Returns:
      An immutable value type
    • copyOf

      public static DMIMemoryDevice copyOf(AbstractDMIMemoryDevice instance)
      Creates an immutable copy of a AbstractDMIMemoryDevice value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
      instance - The instance to copy
      Returns:
      A copied immutable DMIMemoryDevice instance