in xstream/src/java/com/thoughtworks/xstream/core/JVM.java [569:628]
public static void main(final String... args) {
boolean reverseJDK = false;
Field[] fields = AttributedString.class.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
if (fields[i].getName().equals("text")) {
reverseJDK = i > 3;
break;
}
}
boolean reverseLocal = false;
fields = Test.class.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
if (fields[i].getName().equals("o")) {
reverseLocal = i > 3;
break;
}
}
String staxInputFactory = null;
try {
staxInputFactory = getStaxInputFactory().getName();
} catch (final ClassNotFoundException e) {
staxInputFactory = e.getMessage();
} catch (final NullPointerException e) {
}
String staxOutputFactory = null;
try {
staxOutputFactory = getStaxOutputFactory().getName();
} catch (final ClassNotFoundException e) {
staxOutputFactory = e.getMessage();
} catch (final NullPointerException e) {
}
System.out.println("XStream JVM diagnostics");
System.out.println("java.specification.version: " + System.getProperty("java.specification.version"));
System.out.println("java.specification.vendor: " + System.getProperty("java.specification.vendor"));
System.out.println("java.specification.name: " + System.getProperty("java.specification.name"));
System.out.println("java.vm.vendor: " + vendor);
System.out.println("java.vendor: " + System.getProperty("java.vendor"));
System.out.println("java.vm.name: " + System.getProperty("java.vm.name"));
System.out.println("Version: " + majorJavaVersion);
System.out.println("XStream in unnamed module: " + isUnnamedModule());
System.out.println("XStream support for enhanced Mode: " + canUseSunUnsafeReflectionProvider());
System.out.println("XStream support for reduced Mode: " + canUseSunLimitedUnsafeReflectionProvider());
System.out.println("Supports AWT: " + isAWTAvailable());
System.out.println("Supports Swing: " + isSwingAvailable());
System.out.println("Supports SQL: " + isSQLAvailable());
System.out.println("Java Beans EventHandler present: " + (loadClassForName("java.beans.EventHandler") != null));
System.out.println("Standard StAX XMLInputFactory: " + staxInputFactory);
System.out.println("Standard StAX XMLOutputFactory: " + staxOutputFactory);
System.out.println("Optimized TreeSet.addAll: " + hasOptimizedTreeSetAddAll());
System.out.println("Optimized TreeMap.putAll: " + hasOptimizedTreeMapPutAll());
System.out.println("Can parse UTC date format: " + canParseUTCDateFormat());
System.out.println("Can create derive ObjectOutputStream: " + canCreateDerivedObjectOutputStream());
System.out.println("Reverse field order detected for JDK: " + reverseJDK);
System.out.println("Reverse field order detected (only if JVM class itself has been compiled): "
+ reverseLocal);
}