8u40 API Review: RT-37767 Provide friendly APIs to access User JVM Preferences
Danno Ferrin
danno.ferrin at oracle.com
Wed Aug 27 15:32:19 UTC 2014
webrev: http://cr.openjdk.java.net/~shemnon/RT-37767/webrev.0/
Jira: https://javafx-jira.kenai.com/browse/RT-37767
This is the proposed API to allow the friendly access tot eh User JVM Options.
Here are some snippets from demo code on my machine showing how they may interact:
// get the helper instance
UserJvmOptions ujo = UserJvmOptions.getUserJVMDefaults();
Map<String, String> userOptions = ujo.getUserJVMOptions();
// print out all the options currently set
for (Map.Entry <String, String> entry : userOptions.entrySet()) {
System.out.println("key:" + entry.getKey() + " value:" + entry.getValue());
}
// if we haven't marked the first run, do so now
if (!userOptions.containsKey("-DfirstRunMs")) {
userOptions.put("-DfirstRunMs", Long.toString(System.currentTimeMillis()));
}
// add the last run
userOptions.put("-DlastRunMs", Long.toString(System.currentTimeMillis()));
// save the changes
ujo.setUserJVMOptions(userOptions);
----
// create a table row with Key, Current Value, and Default Value
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Key");
model.addColumn("Effective");
model.addColumn("Default");
Map<String, String> defaults = ujo.getUserJVMOptionDefaults();
for (Map.Entry <String, String> entry : userOptions.entrySet()) {
// get the default, it may be null
String def = defaults.get(entry.getKey());
model.addRow(new Object[] {entry.getKey(), entry.getValue(), def == null ? "<no default>" : def});
}
More information about the openjfx-dev
mailing list