package com.intel.mtwilson.datatypes;
import java.util.HashMap;
import java.util.Map;
public enum HostWhiteListTarget {
BIOS_OEM("OEM"),
BIOS_HOST("Host"),
VMM_GLOBAL("Global"),
VMM_OEM("OEM"),
VMM_HOST("Host");
private String value;
private HostWhiteListTarget(String value){
this.setValue(value);
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
// Used for reverse mapping and retrieving the name given the value. We have created separte mapping classes for both BIOS and VMM since the value for 2 of the items are same.
private static class BIOSTargetWLCache {
private static Map<String, HostWhiteListTarget> targetWLCache = new HashMap<String,HostWhiteListTarget>();
static {
targetWLCache.put(HostWhiteListTarget.BIOS_OEM.getValue(), HostWhiteListTarget.BIOS_OEM);
targetWLCache.put(HostWhiteListTarget.BIOS_HOST.getValue(), HostWhiteListTarget.BIOS_HOST);
}
}
// Used for reverse mapping and retrieving the name given the value. We have created separte mapping classes for both BIOS and VMM since the value for 2 of the items are same.
private static class VMMTargetWLCache {
private static Map<String, HostWhiteListTarget> targetWLCache = new HashMap<String,HostWhiteListTarget>();
static {
targetWLCache.put(HostWhiteListTarget.VMM_OEM.getValue(), HostWhiteListTarget.VMM_OEM);
targetWLCache.put(HostWhiteListTarget.VMM_HOST.getValue(), HostWhiteListTarget.VMM_HOST);
targetWLCache.put(HostWhiteListTarget.VMM_GLOBAL.getValue(), HostWhiteListTarget.VMM_GLOBAL);
}
}
public static HostWhiteListTarget getBIOSWhiteListTarget(String wlt) {
return BIOSTargetWLCache.targetWLCache.get(wlt);
}
public static HostWhiteListTarget getVMMWhiteListTarget(String wlt) {
return VMMTargetWLCache.targetWLCache.get(wlt);
}
}