package jetbrains.mps.core.tool.environment.common;
/*Generated by MPS */
@SuppressWarnings(value = {"HardCodedStringLiteral", "UtilityClassWithoutPrivateConstructor"})
public class SystemInfo {
private static final String OS_NAME = System.getProperty("os.name").toLowerCase();
public static final String OS_VERSION = System.getProperty("os.version").toLowerCase();
public static final String OS_ARCH = System.getProperty("os.arch");
public static final String JAVA_VERSION = System.getProperty("java.version");
public static final String JAVA_RUNTIME_VERSION = System.getProperty("java.runtime.version");
public static final String ARCH_DATA_MODEL = System.getProperty("sun.arch.data.model");
public static final String SUN_DESKTOP = System.getProperty("sun.desktop");
public static final boolean isWindows = SystemInfo.OS_NAME.startsWith("windows");
public static final boolean isWindowsNT = SystemInfo.OS_NAME.startsWith("windows nt");
public static final boolean isWindows2000 = SystemInfo.OS_NAME.startsWith("windows 2000");
public static final boolean isWindows2003 = SystemInfo.OS_NAME.startsWith("windows 2003");
public static final boolean isWindowsXP = SystemInfo.OS_NAME.startsWith("windows xp");
public static final boolean isWindowsVista = SystemInfo.OS_NAME.startsWith("windows vista");
public static final boolean isWindows7 = SystemInfo.OS_NAME.startsWith("windows 7");
public static final boolean isWindows9x = SystemInfo.OS_NAME.startsWith("windows 9") || SystemInfo.OS_NAME.startsWith("windows me");
public static final boolean isOS2 = SystemInfo.OS_NAME.startsWith("os/2") || SystemInfo.OS_NAME.startsWith("os2");
public static final boolean isMac = SystemInfo.OS_NAME.startsWith("mac");
public static final boolean isFreeBSD = SystemInfo.OS_NAME.startsWith("freebsd");
public static final boolean isLinux = SystemInfo.OS_NAME.startsWith("linux");
public static final boolean isUnix = !(SystemInfo.isWindows) && !(SystemInfo.isOS2);
public static final boolean isKDE = SystemInfo.SUN_DESKTOP != null && SystemInfo.SUN_DESKTOP.toLowerCase().indexOf("kde") >= 0;
public static final boolean isGnome = SystemInfo.SUN_DESKTOP != null && SystemInfo.SUN_DESKTOP.toLowerCase().indexOf("gnome") >= 0;
public static final boolean isMacSystemMenu = SystemInfo.isMac && "true".equals(System.getProperty("apple.laf.useScreenMenuBar"));
public static final boolean isFileSystemCaseSensitive = !(SystemInfo.isWindows) && !(SystemInfo.isOS2) && !(SystemInfo.isMac);
public static final boolean is32Bit = SystemInfo.ARCH_DATA_MODEL == null || SystemInfo.ARCH_DATA_MODEL.equals("32");
public static final boolean is64Bit = !(SystemInfo.is32Bit);
public static final boolean isAMD64 = "amd64".equals(SystemInfo.OS_ARCH);
/**
* * Whether IDEA is running under MacOS X version 10.4 or later.
* *
* * @since 5.0.2
*/
public static final boolean isMacOSTiger = SystemInfo.isTiger();
/**
* * Whether IDEA is running under MacOS X on an Intel Machine
* *
* * @since 5.0.2
*/
public static final boolean isIntelMac = SystemInfo.isIntelMac();
/**
* * Running under MacOS X version 10.5 or later;
* *
* * @since 7.0.2
*/
public static final boolean isMacOSLeopard = SystemInfo.isLeopard();
/**
* * Running under MacOS X version 10.6 or later;
* *
* * @since 9.0
*/
public static final boolean isMacOSSnowLeopard = SystemInfo.isSnowLeopard();
/**
* * Operating system is supposed to have middle mouse button click occupied by paste action.
* * @since 6.0
*/
public static boolean X11PasteEnabledSystem = SystemInfo.isUnix && !(SystemInfo.isMac);
public SystemInfo() {
}
private static boolean isTiger() {
return SystemInfo.isMac && !(SystemInfo.OS_VERSION.startsWith("10.0")) && !(SystemInfo.OS_VERSION.startsWith("10.1")) && !(SystemInfo.OS_VERSION.startsWith("10.2")) && !(SystemInfo.OS_VERSION.startsWith("10.3"));
}
private static boolean isIntelMac() {
return SystemInfo.isMac && "i386".equals(SystemInfo.OS_ARCH);
}
private static boolean isLeopard() {
return SystemInfo.isMac && SystemInfo.isTiger() && !(SystemInfo.OS_VERSION.startsWith("10.4"));
}
private static boolean isSnowLeopard() {
return SystemInfo.isMac && SystemInfo.isLeopard() && !(SystemInfo.OS_VERSION.startsWith("10.5"));
}
public static boolean isJavaVersionAtLeast(String v) {
return StringUtil.compareVersionNumbers(SystemInfo.JAVA_RUNTIME_VERSION, v) >= 0;
}
}