test/testlibrary/com/oracle/java/testlibrary/Platform.java

Print this page

        

*** 25,55 **** public class Platform { private static final String osName = System.getProperty("os.name"); private static final String dataModel = System.getProperty("sun.arch.data.model"); private static final String vmVersion = System.getProperty("java.vm.version"); public static boolean is64bit() { return dataModel.equals("64"); } public static boolean isSolaris() { ! return osName.toLowerCase().startsWith("sunos"); } public static boolean isWindows() { ! return osName.toLowerCase().startsWith("win"); } public static boolean isOSX() { ! return osName.toLowerCase().startsWith("mac"); } public static boolean isLinux() { ! return osName.toLowerCase().startsWith("linux"); } public static String getOsName() { return osName; } public static boolean isDebugBuild() { --- 25,64 ---- public class Platform { private static final String osName = System.getProperty("os.name"); private static final String dataModel = System.getProperty("sun.arch.data.model"); private static final String vmVersion = System.getProperty("java.vm.version"); + private static final String osArch = System.getProperty("os.arch"); + public static boolean is32bit() { + return dataModel.equals("32"); + } + public static boolean is64bit() { return dataModel.equals("64"); } public static boolean isSolaris() { ! return isOs("sunos"); } public static boolean isWindows() { ! return isOs("win"); } public static boolean isOSX() { ! return isOs("mac"); } public static boolean isLinux() { ! return isOs("linux"); } + private static boolean isOs(String osname) { + return osName.toLowerCase().startsWith(osname.toLowerCase()); + } + public static String getOsName() { return osName; } public static boolean isDebugBuild() {
*** 57,62 **** --- 66,103 ---- } public static String getVMVersion() { return vmVersion; } + + // Returns true for sparc and sparcv9. + public static boolean isSparc() { + return isArch("sparc"); + } + + public static boolean isARM() { + return isArch("arm"); + } + + public static boolean isPPC() { + return isArch("ppc"); + } + + public static boolean isX86() { + // On Linux it's 'i386', Windows 'x86' + return (isArch("i386") || isArch("x86")); + } + + public static boolean isX64() { + // On OSX it's 'x86_64' and on other (Linux, Windows and Solaris) platforms it's 'amd64' + return (isArch("amd64") || isArch("x86_64")); + } + + private static boolean isArch(String archname) { + return osArch.toLowerCase().startsWith(archname.toLowerCase()); + } + + public static String getOsArch() { + return osArch; + } + }