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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeDMIMemoryDevice.(package private) static final classDeprecated.Do not use this type directly, it exists only for the Jackson-binding infrastructure -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Integerprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable Stringprivate final @Nullable String -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateDMIMemoryDevice(@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 Summary
Modifier and TypeMethodDescription@Nullable String@Nullable StringassetTag()@Nullable String@Nullable String@Nullable String@Nullable Stringstatic DMIMemoryDevicecopyOf(AbstractDMIMemoryDevice instance) Creates an immutable copy of aAbstractDMIMemoryDevicevalue.@Nullable StringbooleanThis instance is equal to all instances ofDMIMemoryDevicethat have equal attribute values.private booleanequalsByValue(DMIMemoryDevice another) @Nullable String@Nullable String@Nullable String(package private) static DMIMemoryDevicefromJson(DMIMemoryDevice.Json json) Deprecated.Do not use this method directly, it exists only for the Jackson-binding infrastructureinthashCode()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.@Nullable Stringlocator()@Nullable String@Nullable String@Nullable String@Nullable String@Nullable String@Nullable String@Nullable String@Nullable String@Nullable String@Nullable String@Nullable String@Nullable String@Nullable Integerrank()@Nullable String@Nullable Stringset()@Nullable Stringsize()@Nullable Stringspeed()@Nullable String@Nullable Stringtype()@Nullable String@Nullable Stringfinal DMIMemoryDevicewithArrayHandle(@Nullable String value) Copy the current immutable object by setting a value for thearrayHandleattribute.final DMIMemoryDevicewithAssetTag(@Nullable String value) Copy the current immutable object by setting a value for theassetTagattribute.final DMIMemoryDevicewithBankLocator(@Nullable String value) Copy the current immutable object by setting a value for thebankLocatorattribute.final DMIMemoryDevicewithCacheSize(@Nullable String value) Copy the current immutable object by setting a value for thecacheSizeattribute.final DMIMemoryDevicewithConfiguredMemorySpeed(@Nullable String value) Copy the current immutable object by setting a value for theconfiguredMemorySpeedattribute.final DMIMemoryDevicewithConfiguredVoltage(@Nullable String value) Copy the current immutable object by setting a value for theconfiguredVoltageattribute.final DMIMemoryDevicewithDataWidth(@Nullable String value) Copy the current immutable object by setting a value for thedataWidthattribute.final DMIMemoryDevicewithErrorInformationHandle(@Nullable String value) Copy the current immutable object by setting a value for theerrorInformationHandleattribute.final DMIMemoryDevicewithFirmwareVersion(@Nullable String value) Copy the current immutable object by setting a value for thefirmwareVersionattribute.final DMIMemoryDevicewithFormFactor(@Nullable String value) Copy the current immutable object by setting a value for theformFactorattribute.final DMIMemoryDevicewithLocator(@Nullable String value) Copy the current immutable object by setting a value for thelocatorattribute.final DMIMemoryDevicewithLogicalSize(@Nullable String value) Copy the current immutable object by setting a value for thelogicalSizeattribute.final DMIMemoryDevicewithManufacturer(@Nullable String value) Copy the current immutable object by setting a value for themanufacturerattribute.final DMIMemoryDevicewithMaximumVoltage(@Nullable String value) Copy the current immutable object by setting a value for themaximumVoltageattribute.final DMIMemoryDevicewithMemoryOperatingModeCapability(@Nullable String value) Copy the current immutable object by setting a value for thememoryOperatingModeCapabilityattribute.final DMIMemoryDevicewithMemorySubsystemControllerManufacturerId(@Nullable String value) Copy the current immutable object by setting a value for thememorySubsystemControllerManufacturerIdattribute.final DMIMemoryDevicewithMemorySubsystemControllerProductId(@Nullable String value) Copy the current immutable object by setting a value for thememorySubsystemControllerProductIdattribute.final DMIMemoryDevicewithMemoryTechnology(@Nullable String value) Copy the current immutable object by setting a value for thememoryTechnologyattribute.final DMIMemoryDevicewithMinimumVoltage(@Nullable String value) Copy the current immutable object by setting a value for theminimumVoltageattribute.final DMIMemoryDevicewithModuleManufacturerId(@Nullable String value) Copy the current immutable object by setting a value for themoduleManufacturerIdattribute.final DMIMemoryDevicewithModuleProductId(@Nullable String value) Copy the current immutable object by setting a value for themoduleProductIdattribute.final DMIMemoryDevicewithNonVolatileSize(@Nullable String value) Copy the current immutable object by setting a value for thenonVolatileSizeattribute.final DMIMemoryDevicewithPartNumber(@Nullable String value) Copy the current immutable object by setting a value for thepartNumberattribute.final DMIMemoryDeviceCopy the current immutable object by setting a value for therankattribute.final DMIMemoryDevicewithSerialNumber(@Nullable String value) Copy the current immutable object by setting a value for theserialNumberattribute.final DMIMemoryDeviceCopy the current immutable object by setting a value for thesetattribute.final DMIMemoryDeviceCopy the current immutable object by setting a value for thesizeattribute.final DMIMemoryDeviceCopy the current immutable object by setting a value for thespeedattribute.final DMIMemoryDevicewithTotalWidth(@Nullable String value) Copy the current immutable object by setting a value for thetotalWidthattribute.final DMIMemoryDeviceCopy the current immutable object by setting a value for thetypeattribute.final DMIMemoryDevicewithTypeDetail(@Nullable String value) Copy the current immutable object by setting a value for thetypeDetailattribute.final DMIMemoryDevicewithVolatileSize(@Nullable String value) Copy the current immutable object by setting a value for thevolatileSizeattribute.Methods inherited from class io.github.eggy03.dmidecode.entity.memory.AbstractDMIMemoryDevice
toString
-
Field Details
-
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
-
-
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
- Specified by:
arrayHandlein classAbstractDMIMemoryDevice- Returns:
- The value of the
arrayHandleattribute
-
errorInformationHandle
- Specified by:
errorInformationHandlein classAbstractDMIMemoryDevice- Returns:
- The value of the
errorInformationHandleattribute
-
totalWidth
- Specified by:
totalWidthin classAbstractDMIMemoryDevice- Returns:
- The value of the
totalWidthattribute
-
dataWidth
- Specified by:
dataWidthin classAbstractDMIMemoryDevice- Returns:
- The value of the
dataWidthattribute
-
size
- Specified by:
sizein classAbstractDMIMemoryDevice- Returns:
- The value of the
sizeattribute
-
formFactor
- Specified by:
formFactorin classAbstractDMIMemoryDevice- Returns:
- The value of the
formFactorattribute
-
set
- Specified by:
setin classAbstractDMIMemoryDevice- Returns:
- The value of the
setattribute
-
locator
- Specified by:
locatorin classAbstractDMIMemoryDevice- Returns:
- The value of the
locatorattribute
-
bankLocator
- Specified by:
bankLocatorin classAbstractDMIMemoryDevice- Returns:
- The value of the
bankLocatorattribute
-
type
- Specified by:
typein classAbstractDMIMemoryDevice- Returns:
- The value of the
typeattribute
-
typeDetail
- Specified by:
typeDetailin classAbstractDMIMemoryDevice- Returns:
- The value of the
typeDetailattribute
-
speed
- Specified by:
speedin classAbstractDMIMemoryDevice- Returns:
- The value of the
speedattribute
-
manufacturer
- Specified by:
manufacturerin classAbstractDMIMemoryDevice- Returns:
- The value of the
manufacturerattribute
-
serialNumber
- Specified by:
serialNumberin classAbstractDMIMemoryDevice- Returns:
- The value of the
serialNumberattribute
-
assetTag
- Specified by:
assetTagin classAbstractDMIMemoryDevice- Returns:
- The value of the
assetTagattribute
-
partNumber
- Specified by:
partNumberin classAbstractDMIMemoryDevice- Returns:
- The value of the
partNumberattribute
-
rank
- Specified by:
rankin classAbstractDMIMemoryDevice- Returns:
- The value of the
rankattribute
-
configuredMemorySpeed
- Specified by:
configuredMemorySpeedin classAbstractDMIMemoryDevice- Returns:
- The value of the
configuredMemorySpeedattribute
-
minimumVoltage
- Specified by:
minimumVoltagein classAbstractDMIMemoryDevice- Returns:
- The value of the
minimumVoltageattribute
-
maximumVoltage
- Specified by:
maximumVoltagein classAbstractDMIMemoryDevice- Returns:
- The value of the
maximumVoltageattribute
-
configuredVoltage
- Specified by:
configuredVoltagein classAbstractDMIMemoryDevice- Returns:
- The value of the
configuredVoltageattribute
-
memoryTechnology
- Specified by:
memoryTechnologyin classAbstractDMIMemoryDevice- Returns:
- The value of the
memoryTechnologyattribute
-
memoryOperatingModeCapability
- Specified by:
memoryOperatingModeCapabilityin classAbstractDMIMemoryDevice- Returns:
- The value of the
memoryOperatingModeCapabilityattribute
-
firmwareVersion
- Specified by:
firmwareVersionin classAbstractDMIMemoryDevice- Returns:
- The value of the
firmwareVersionattribute
-
moduleManufacturerId
- Specified by:
moduleManufacturerIdin classAbstractDMIMemoryDevice- Returns:
- The value of the
moduleManufacturerIdattribute
-
moduleProductId
- Specified by:
moduleProductIdin classAbstractDMIMemoryDevice- Returns:
- The value of the
moduleProductIdattribute
-
memorySubsystemControllerManufacturerId
- Specified by:
memorySubsystemControllerManufacturerIdin classAbstractDMIMemoryDevice- Returns:
- The value of the
memorySubsystemControllerManufacturerIdattribute
-
memorySubsystemControllerProductId
- Specified by:
memorySubsystemControllerProductIdin classAbstractDMIMemoryDevice- Returns:
- The value of the
memorySubsystemControllerProductIdattribute
-
nonVolatileSize
- Specified by:
nonVolatileSizein classAbstractDMIMemoryDevice- Returns:
- The value of the
nonVolatileSizeattribute
-
volatileSize
- Specified by:
volatileSizein classAbstractDMIMemoryDevice- Returns:
- The value of the
volatileSizeattribute
-
cacheSize
- Specified by:
cacheSizein classAbstractDMIMemoryDevice- Returns:
- The value of the
cacheSizeattribute
-
logicalSize
- Specified by:
logicalSizein classAbstractDMIMemoryDevice- Returns:
- The value of the
logicalSizeattribute
-
withArrayHandle
Copy the current immutable object by setting a value for thearrayHandleattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for arrayHandle (can benull)- Returns:
- A modified copy or the
thisobject
-
withErrorInformationHandle
Copy the current immutable object by setting a value for theerrorInformationHandleattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for errorInformationHandle (can benull)- Returns:
- A modified copy or the
thisobject
-
withTotalWidth
Copy the current immutable object by setting a value for thetotalWidthattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for totalWidth (can benull)- Returns:
- A modified copy or the
thisobject
-
withDataWidth
Copy the current immutable object by setting a value for thedataWidthattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for dataWidth (can benull)- Returns:
- A modified copy or the
thisobject
-
withSize
Copy the current immutable object by setting a value for thesizeattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for size (can benull)- Returns:
- A modified copy or the
thisobject
-
withFormFactor
Copy the current immutable object by setting a value for theformFactorattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for formFactor (can benull)- Returns:
- A modified copy or the
thisobject
-
withSet
Copy the current immutable object by setting a value for thesetattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for set (can benull)- Returns:
- A modified copy or the
thisobject
-
withLocator
Copy the current immutable object by setting a value for thelocatorattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for locator (can benull)- Returns:
- A modified copy or the
thisobject
-
withBankLocator
Copy the current immutable object by setting a value for thebankLocatorattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for bankLocator (can benull)- Returns:
- A modified copy or the
thisobject
-
withType
Copy the current immutable object by setting a value for thetypeattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for type (can benull)- Returns:
- A modified copy or the
thisobject
-
withTypeDetail
Copy the current immutable object by setting a value for thetypeDetailattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for typeDetail (can benull)- Returns:
- A modified copy or the
thisobject
-
withSpeed
Copy the current immutable object by setting a value for thespeedattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for speed (can benull)- Returns:
- A modified copy or the
thisobject
-
withManufacturer
Copy the current immutable object by setting a value for themanufacturerattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for manufacturer (can benull)- Returns:
- A modified copy or the
thisobject
-
withSerialNumber
Copy the current immutable object by setting a value for theserialNumberattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for serialNumber (can benull)- Returns:
- A modified copy or the
thisobject
-
withAssetTag
Copy the current immutable object by setting a value for theassetTagattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for assetTag (can benull)- Returns:
- A modified copy or the
thisobject
-
withPartNumber
Copy the current immutable object by setting a value for thepartNumberattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for partNumber (can benull)- Returns:
- A modified copy or the
thisobject
-
withRank
Copy the current immutable object by setting a value for therankattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for rank (can benull)- Returns:
- A modified copy or the
thisobject
-
withConfiguredMemorySpeed
Copy the current immutable object by setting a value for theconfiguredMemorySpeedattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for configuredMemorySpeed (can benull)- Returns:
- A modified copy or the
thisobject
-
withMinimumVoltage
Copy the current immutable object by setting a value for theminimumVoltageattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for minimumVoltage (can benull)- Returns:
- A modified copy or the
thisobject
-
withMaximumVoltage
Copy the current immutable object by setting a value for themaximumVoltageattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for maximumVoltage (can benull)- Returns:
- A modified copy or the
thisobject
-
withConfiguredVoltage
Copy the current immutable object by setting a value for theconfiguredVoltageattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for configuredVoltage (can benull)- Returns:
- A modified copy or the
thisobject
-
withMemoryTechnology
Copy the current immutable object by setting a value for thememoryTechnologyattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for memoryTechnology (can benull)- Returns:
- A modified copy or the
thisobject
-
withMemoryOperatingModeCapability
Copy the current immutable object by setting a value for thememoryOperatingModeCapabilityattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for memoryOperatingModeCapability (can benull)- Returns:
- A modified copy or the
thisobject
-
withFirmwareVersion
Copy the current immutable object by setting a value for thefirmwareVersionattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for firmwareVersion (can benull)- Returns:
- A modified copy or the
thisobject
-
withModuleManufacturerId
Copy the current immutable object by setting a value for themoduleManufacturerIdattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for moduleManufacturerId (can benull)- Returns:
- A modified copy or the
thisobject
-
withModuleProductId
Copy the current immutable object by setting a value for themoduleProductIdattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for moduleProductId (can benull)- Returns:
- A modified copy or the
thisobject
-
withMemorySubsystemControllerManufacturerId
Copy the current immutable object by setting a value for thememorySubsystemControllerManufacturerIdattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for memorySubsystemControllerManufacturerId (can benull)- Returns:
- A modified copy or the
thisobject
-
withMemorySubsystemControllerProductId
Copy the current immutable object by setting a value for thememorySubsystemControllerProductIdattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for memorySubsystemControllerProductId (can benull)- Returns:
- A modified copy or the
thisobject
-
withNonVolatileSize
Copy the current immutable object by setting a value for thenonVolatileSizeattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for nonVolatileSize (can benull)- Returns:
- A modified copy or the
thisobject
-
withVolatileSize
Copy the current immutable object by setting a value for thevolatileSizeattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for volatileSize (can benull)- Returns:
- A modified copy or the
thisobject
-
withCacheSize
Copy the current immutable object by setting a value for thecacheSizeattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for cacheSize (can benull)- Returns:
- A modified copy or the
thisobject
-
withLogicalSize
Copy the current immutable object by setting a value for thelogicalSizeattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for logicalSize (can benull)- Returns:
- A modified copy or the
thisobject
-
equals
This instance is equal to all instances ofDMIMemoryDevicethat have equal attribute values. -
equalsByValue
-
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. -
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
Creates an immutable copy of aAbstractDMIMemoryDevicevalue. 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
-