]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.excel/src/org/simantics/excel/ExecEnvironment.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.excel / src / org / simantics / excel / ExecEnvironment.java
1 package org.simantics.excel;\r
2 \r
3 public class ExecEnvironment {\r
4 \r
5     public enum OSType {\r
6         APPLE, LINUX, SUN, WINDOWS, UNKNOWN\r
7     }\r
8     \r
9     public enum ARCHType {\r
10         PPC, PPC_64, SPARC, X86, X86_64, UNKNOWN;\r
11     }\r
12     \r
13     public final OSType os;\r
14     public final ARCHType arch;\r
15 \r
16     private ExecEnvironment(OSType os, ARCHType arch) {\r
17         this.os = os;\r
18         this.arch = arch;\r
19     }\r
20 \r
21     public static ExecEnvironment calculate() {\r
22         return new ExecEnvironment(calculateOS(), calculateArch());\r
23     }\r
24 \r
25     public static ARCHType calculateArch() {\r
26         String osArch = System.getProperty("os.arch", "");\r
27         osArch = osArch.toLowerCase();\r
28         if (osArch.equals("i386") || osArch.equals("i586") || osArch.equals("i686") || osArch.equals("x86"))\r
29             return ARCHType.X86;\r
30         if (osArch.startsWith("amd64") || osArch.startsWith("x86_64"))\r
31             return ARCHType.X86_64;\r
32         if (osArch.equals("ppc"))\r
33             return ARCHType.PPC;\r
34         if (osArch.startsWith("ppc"))\r
35             return ARCHType.PPC_64;\r
36         if (osArch.startsWith("sparc"))\r
37             return ARCHType.SPARC;\r
38         return ARCHType.UNKNOWN;\r
39     }\r
40 \r
41     public static OSType calculateOS() {\r
42         String osName = System.getProperty("os.name", "");\r
43         osName = osName.toLowerCase();\r
44         if (osName.startsWith("mac os x"))\r
45             return OSType.APPLE;\r
46         if (osName.startsWith("windows"))\r
47             return OSType.WINDOWS;\r
48         if (osName.startsWith("linux"))\r
49             return OSType.LINUX;\r
50         if (osName.startsWith("sun"))\r
51             return OSType.SUN;\r
52         return OSType.UNKNOWN;\r
53     }\r
54 }\r