Class Win32PhysicalMemory

java.lang.Object
io.github.eggy03.ferrumx.windows.entity.memory.Win32PhysicalMemory

@ShallowImmutable public class Win32PhysicalMemory extends Object
Immutable representation of a RAM module on a Windows system.

Fields correspond to properties retrieved from the Win32_PhysicalMemory WMI class.

Usage example

Win32PhysicalMemory ram = Win32PhysicalMemory.builder()
    .capacity(16L * 1024 * 1024 * 1024)
    .speed(3200)
    .build();

// Create a modified copy
Win32PhysicalMemory upgraded = ram.toBuilder()
    .speed(3600)
    .build();
Since:
3.0.0
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) @Nullable String
    Physically labeled bank where the memory is located.
    (package private) @Nullable BigInteger
    Total capacity of the physical memory—in bytes.
    (package private) @Nullable Long
    The configured clock speed of the memory device, in MHz, or 0, if the speed is unknown.
    (package private) @Nullable Integer
    Data width of the physical memory—in bits.
    (package private) @Nullable String
    Label of the socket or circuit board that holds the memory.
    (package private) @Nullable Integer
    Implementation form factor for the chip.
    (package private) @Nullable String
    Name of the organization responsible for producing the physical memory.
    (package private) @Nullable String
    Model name for the physical element.
    (package private) @Nullable String
    Label for the Physical Memory.
    (package private) @Nullable String
    Additional data, beyond asset tag information, that can be used to identify a physical element.
    (package private) @Nullable String
    Part number assigned by the organization responsible for producing or manufacturing the physical element.
    (package private) @Nullable String
    Manufacturer-allocated number to identify the physical element.
    (package private) @Nullable Long
    Speed of the physical memory—in MHz.
    (package private) @Nullable String
    Unique identifier for the physical memory device represented by an instance of this class.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @NotNull String
    Retrieves the entity in a JSON pretty-print formatted string

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • tag

      @SerializedName("Tag") @Nullable @Nullable String tag
      Unique identifier for the physical memory device represented by an instance of this class.
    • name

      @SerializedName("Name") @Nullable @Nullable String name
      Label for the Physical Memory.
    • manufacturer

      @SerializedName("Manufacturer") @Nullable @Nullable String manufacturer
      Name of the organization responsible for producing the physical memory.
    • model

      @SerializedName("Model") @Nullable @Nullable String model
      Model name for the physical element.
    • otherIdentifyingInfo

      @SerializedName("OtherIdentifyingInfo") @Nullable @Nullable String otherIdentifyingInfo
      Additional data, beyond asset tag information, that can be used to identify a physical element. For example, bar code data associated with an element that also has an asset tag.
    • partNumber

      @SerializedName("PartNumber") @Nullable @Nullable String partNumber
      Part number assigned by the organization responsible for producing or manufacturing the physical element.
    • formFactor

      @SerializedName("FormFactor") @Nullable @Nullable Integer formFactor
      Implementation form factor for the chip.
      • 0 - Unknown
      • 1 - Other
      • 2 - SIP
      • 3 - DIP
      • 4 - ZIP
      • 5 - SOJ
      • 6 - Proprietary
      • 7 - SIMM
      • 8 - DIMM
      • 9 - TSOP
      • 10 - PGA
      • 11 - RIMM
      • 12 - SODIMM
      • 13 - SRIMM
      • 14 - SMD
      • 15 - SSMP
      • 16 - QFP
      • 17 - TQFP
      • 18 - SOIC
      • 19 - LCC
      • 20 - PLCC
      • 21 - BGA
      • 22 - FPBGA
      • 23 - LGA
    • bankLabel

      @SerializedName("BankLabel") @Nullable @Nullable String bankLabel
      Physically labeled bank where the memory is located.
    • capacity

      @SerializedName("Capacity") @Nullable @Nullable BigInteger capacity
      Total capacity of the physical memory—in bytes.
    • dataWidth

      @SerializedName("DataWidth") @Nullable @Nullable Integer dataWidth
      Data width of the physical memory—in bits. A data width of 0 (zero) and a total width of 8 (eight) indicates that the memory is used solely to provide error correction bits.
    • speed

      @SerializedName("Speed") @Nullable @Nullable Long speed
      Speed of the physical memory—in MHz.
    • configuredClockSpeed

      @SerializedName("ConfiguredClockSpeed") @Nullable @Nullable Long configuredClockSpeed
      The configured clock speed of the memory device, in MHz, or 0, if the speed is unknown.
    • deviceLocator

      @SerializedName("DeviceLocator") @Nullable @Nullable String deviceLocator
      Label of the socket or circuit board that holds the memory.
    • serialNumber

      @SerializedName("SerialNumber") @Nullable @Nullable String serialNumber
      Manufacturer-allocated number to identify the physical element.
  • Constructor Details

    • Win32PhysicalMemory

      public Win32PhysicalMemory()
  • Method Details

    • toString

      @NotNull public @NotNull String toString()
      Retrieves the entity in a JSON pretty-print formatted string
      Overrides:
      toString in class Object
      Returns:
      the String value of the object in JSON pretty-print format