package com.lordofthejars.nosqlunit.core;
import static com.lordofthejars.nosqlunit.core.OperatingSystemFamily.*;
public enum OperatingSystem {
LINUX_OS ("Linux",LINUX),
MAC_OSX ("Mac OS X",MAC),
MAC_OS ("Mac OS",MAC),
WINDOWS_95 ("Windows 95",WINDOWS),
WINDOWS_98 ("Windows 98",WINDOWS),
WINDOWS_ME ("Windows Me",WINDOWS),
WINDOWS_NT ("Windows NT",WINDOWS),
WINDOWS_2000 ("Windows 2000",WINDOWS),
WINDOWS_XP ("Windows XP",WINDOWS),
WINDOWS_7 ("Windows 7",WINDOWS),
WINDOWS_2003 ("Windows 2003",WINDOWS),
WINDOWS_2008 ("Windows 2008",WINDOWS),
SUN_OS ("Sun OS ",UNIX),
MPE_IX ("MPE/iX",UNIX),
HP_UX ("HP-UX",UNIX),
AIX ("AIX",UNIX),
OS_390 ("OS/390",UNIX),
FREEBSD ("FreeBSD",UNIX),
IRIX ("Irix",UNIX),
DIGITAL_UNIX ("Digital Unix",UNIX),
NETWARE_4_11 ("NetWare 4.11",UNIX),
OSF1 ("OSF1",UNIX),
OPENVMS ("OpenVMS",DEC_OS),
UNKNOWN_OS("Unknown", UNKNOWN);
final private String label;
final private OperatingSystemFamily family;
private OperatingSystem(String label, OperatingSystemFamily family) {
this.label = label;
this.family = family;
}
public String getLabel() {
return label;
}
public OperatingSystemFamily getFamily() {
return family;
}
static public OperatingSystem resolve(String osName){
for (OperatingSystem os : OperatingSystem.values()) {
if (os.label.equalsIgnoreCase(osName)) return os;
}
return OperatingSystem.UNKNOWN_OS;
}
}