1 package eu.simuline.util;
2
3 public final class VMArgs {
4
5 // just to prevent from instantiation
6 private VMArgs() {
7 }
8
9 /**
10 * Returns whether assertions are enabled through -ea-switch.
11 */
12 public static boolean isAssertionSet() {
13 //import java.lang.management.ManagementFactory;
14 //import java.lang.management.RuntimeMXBean;
15 // RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
16 // List<String> jvmArgs = runtimeMXBean.getInputArguments();
17 // for (String arg : jvmArgs) {
18 // System.out.println(arg);
19 // }
20
21 // possible "accidental assignment" warning
22 boolean assertOn = false;
23 // *assigns* true iff assertions are on; else remains false.
24 // if assertions are on, the expression evaluates to tru
25 assert assertOn = true;
26 return assertOn;
27
28 // ArithContext.class.desiredAssertionStatus();
29 // ClassLoader sysClsLdr = ClassLoader.getSystemClassLoader();
30 // sysClsLdr.clearAssertionStatus();
31 // sysClsLdr.setDefaultAssertionStatus(true);
32 // sysClsLdr.setClassAssertionStatus("eu.simuline.octave.ArithContext",
33 // true);
34 // sysClsLdr.setPackageAssertionStatus("eu.simuline.octave", true);
35
36 // try {
37 // assert false;
38 // // Here, assertions are off
39 // return false;
40 // } catch (AssertionError e) {
41 // // Here, assertions are on
42 // return true;
43 // }
44 }
45
46 public static void main(String[] args) {
47 System.out.println("sun.java.command: "+System.getProperty("sun.java.command"));
48 System.out.println("isAssertionSet():"+VMArgs.isAssertionSet());
49
50 }
51
52
53 }