KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > codehaus > aspectwerkz > util > EnvironmentDetect


1 /**************************************************************************************
2  * Copyright (c) Jonas Bon?r, Alexandre Vasseur. All rights reserved. *
3  * http://aspectwerkz.codehaus.org *
4  * ---------------------------------------------------------------------------------- *
5  * The software in this package is published under the terms of the LGPL license *
6  * a copy of which has been included with this distribution in the license.txt file. *
7  **************************************************************************************/

8 package org.codehaus.aspectwerkz.util;
9
10 /**
11  * Detects Java JVM vendor and Java version
12  * Usage: -jvm | -java
13  * System.exit code is:
14  * 2:BEA, 1:IBM, 0:SUN
15  * MajorMinor (f.e. 15) for Java Major.Minor version or 0
16  *
17  * @author <a HREF="mailto:alex@gnilux.com">Alexandre Vasseur</a>
18  */

19 public class EnvironmentDetect {
20
21     public static void main(String JavaDoc a[]) {
22         if (a.length < 1) {
23             usage();
24             show();
25             System.exit(-1);
26         }
27         if (a[0].equals("-jvm")) {
28             String JavaDoc vendor = detectJVM();
29             if (vendor.indexOf("BEA") >= 0) {
30                 System.exit(2);
31             } else if (vendor.indexOf("IBM") >= 0) {
32                 System.exit(1);
33             } else {
34                 System.exit(0);
35             }
36         }
37         if (a[0].equals("-java")) {
38             String JavaDoc java = detectJava();
39             if (java.indexOf("1.5") >= 0) {
40                 System.exit(15);
41             } else if (java.indexOf("1.4") >= 0) {
42                 System.exit(14);
43             } else if (java.indexOf("1.3") >= 0) {
44                 System.exit(13);
45             } else {
46                 System.exit(0);
47             }
48         }
49         if (a.length > 1) {
50             show();
51         }
52     }
53
54     public static String JavaDoc detectJVM() {
55         return System.getProperty("java.vendor").toUpperCase();
56     }
57
58     public static String JavaDoc detectJava() {
59         return System.getProperty("java.version").toUpperCase();
60     }
61
62     public static void show() {
63         System.out.println(detectJVM());
64         System.out.println(detectJava());
65     }
66
67     public static void usage() {
68         System.out.println("Usage: -jvm | -java");
69     }
70 }
71
Popular Tags