JavaValidator.java
Go to the documentation of this file.00001 package edu.rice.cs.hpc.data.util;
00002
00003 import java.util.Iterator;
00004 import java.util.Map.Entry;
00005 import java.util.Properties;
00006 import java.util.Set;
00007
00008 public class JavaValidator {
00009
00010
00011 private final static int JavaMinVersion = 5;
00012
00013 static public void main(String []args) {
00014 if (isGCJ()) {
00015 System.out.println("Unsupported JVM: GNU GCJ");
00016 } else {
00017 if (isCorrectJavaVersion())
00018 System.out.println("Valid JVM");
00019 else
00020 System.out.println("Invalid JVM: Needs to be higher or equal than "
00021 + JavaMinVersion);
00022 }
00023 }
00024
00025
00026
00027
00028
00029 static public void printProperties() {
00030 Properties p = System.getProperties();
00031 Set<Entry<Object, Object>> set = p.entrySet();
00032 Iterator<Entry<Object, Object>> iterator = set.iterator();
00033
00034 while(iterator.hasNext()) {
00035 Entry<Object, Object> entry = iterator.next();
00036 System.out.println(entry.getKey() + " = " + entry.getValue());
00037 }
00038 }
00039
00040
00041
00042
00043
00044 static public boolean isGCJ() {
00045
00046 return getJavaVendor().indexOf("Free")>=0;
00047 }
00048
00049
00050
00051
00052
00053 static public boolean isCorrectJavaVersion() {
00054 String version = getJavaVersion();
00055 String []items = version.split("\\.");
00056 int v = Integer.valueOf(items[1]);
00057 return (v>=JavaMinVersion);
00058 }
00059
00060
00061
00062
00063
00064 static public String getJavaVendor() {
00065 return System.getProperty("java.vendor");
00066 }
00067
00068
00069
00070
00071
00072 static public String getJavaVersion() {
00073 return System.getProperty("java.version");
00074 }
00075 }