OS.java 1.65 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.aemds.bedrock;

/*
 * This class specifies class file version 49.0 but uses Java 6 signatures.  Assumed Java 6.
 */
public enum OS {
    WINDOWS("x86_win32"),
    LINUX("x86_linux"),
    SOLARIS("sparc_sunos"),
    AIX("powerpc_aix"),
    OSX("x86_osx"),
    UNKNOWN("unknown");
    
    private static final OS current;
    private final String name;

    private OS(String name) {
        this.name = name;
    }

    public static OS getCurrent() {
        return current;
    }

    public static boolean isWindows() {
        return current == WINDOWS;
    }

    public static boolean isLinux() {
        return current == LINUX;
    }

    public static boolean isSolaris() {
        return current == SOLARIS;
    }

    public static boolean isAIX() {
        return current == AIX;
    }

    public static boolean isOSX() {
        return current == OSX;
    }

    public static OS fromName(String name) {
        if (OS.WINDOWS.name.equals(name)) {
            return WINDOWS;
        }
        if (OS.LINUX.name.equals(name)) {
            return LINUX;
        }
        if (OS.SOLARIS.name.equals(name)) {
            return SOLARIS;
        }
        if (OS.AIX.name.equals(name)) {
            return AIX;
        }
        if (OS.OSX.name.equals(name)) {
            return OSX;
        }
        return UNKNOWN;
    }

    static {
        String os = System.getProperty("os.name").toLowerCase();
        current = os.indexOf("win") >= 0 ? WINDOWS : (os.indexOf("linux") >= 0 ? LINUX : (os.indexOf("sunos") >= 0 ? SOLARIS : (os.indexOf("aix") >= 0 ? AIX : (os.indexOf("os x") >= 0 ? OSX : UNKNOWN))));
    }
}