package org.osgl.util;
/**
* Operating system enum
*/
public enum OS {
WINDOWS, MAC_OS_X, LINUX, OS2, HP_UX, AIX, IRIX, SOLARIS, SUN_OS, MPE_IX, OS_390, FREEBSD, DIGITAL_UNIX, OSF1, UNKNOWN;
private static OS os = null; static {
String s = System.getProperty("os.name").toUpperCase();
for (OS x: OS.values()) {
if (s.startsWith(x.name())) {
os = x;
break;
}
}
if (null == os) {
if (s.startsWith("OS/2")) {
os = OS2;
} else if (s.startsWith("OS/390")) {
os = OS_390;
} else if (s.startsWith("DIGITAL UNIX")) {
os = DIGITAL_UNIX;
} else {
os = UNKNOWN;
}
}
}
private String lineSeparator = System.getProperty("line.separator");
private String pathSeparator = System.getProperty("path.separator");
private String fileSeparator = System.getProperty("file.separator");
public boolean isWindows() {
return WINDOWS == this;
}
public boolean isMacOsX() {
return MAC_OS_X == this;
}
public boolean isLinux() {
return LINUX == this;
}
public boolean isUnix() {
return UNKNOWN != this && WINDOWS != this;
}
public String lineSeparator() {
return lineSeparator;
}
public String pathSeparator() {
return pathSeparator;
}
public String fileSeparator() {
return fileSeparator;
}
public static OS get() {
return os;
}
}