package com.intel.mtwilson.model;
import com.intel.mtwilson.datatypes.OsData;
import com.intel.dcsg.cpg.validation.ObjectModel;
import org.apache.commons.lang3.Validate;
/**
* Representation of a Vmm comprised of Name, Version, OS Name, and OS Version.
*
* @since 0.5.1
* @author jbuhacoff
*/
public final class Vmm extends ObjectModel {
private String name = null;
private String version = null;
private String osName = null;
private String osVersion = null;
public String getOsName() {
return osName;
}
public void setOsName(String osName) {
this.osName = osName;
}
public String getOsVersion() {
return osVersion;
}
public void setOsVersion(String osVersion) {
this.osVersion = osVersion;
}
public Vmm(String name, String version,String osName, String osVersion ) {
setName(name);
setVersion(version);
setOsName(osName);
setOsVersion(osVersion);
}
public Vmm(String name, String version, OsData os) {
setName(name);
setVersion(version);
setOsName(os.getName());
setOsVersion(os.getVersion());
}
public final void setName(String value) {
//Validate.notNull(value);
name = value;
}
public final void setVersion(String value) {
//Validate.notNull(value);
version = value;
}
public String getName() {
return name;
}
public String getVersion() {
return version;
}
@Override
public String toString() {
return String.format("%s:%s", name, version);
}
@Override
protected void validate() {
if (name == null || name.isEmpty() ) {
fault("VMM name is missing");
}
if ( version == null || version.isEmpty()) {
fault("VMM version is missing");
}
if (osName == null || osName.isEmpty()) {
fault("VMM OS name is missing");
}
if ( osVersion == null || osVersion.isEmpty()) {
fault("VMM OS version is missing");
}
}
}