< prev index next >
src/java.base/share/classes/sun/security/action/GetIntegerAction.java
Print this page
rev 14210 : 8154231: Simplify access to System properties from JDK code
Reviewed-by: rriggs
@@ -23,10 +23,12 @@
* questions.
*/
package sun.security.action;
+import java.security.AccessController;
+
/**
* A convenience class for retrieving the integer value of a system property
* as a privileged action.
*
* <p>An instance of this class can be used as the argument of
@@ -65,11 +67,11 @@
public class GetIntegerAction
implements java.security.PrivilegedAction<Integer> {
private String theProp;
private int defaultVal;
- private boolean defaultSet = false;
+ private boolean defaultSet;
/**
* Constructor that takes the name of the system property whose integer
* value needs to be determined.
*
@@ -108,6 +110,41 @@
Integer value = Integer.getInteger(theProp);
if ((value == null) && defaultSet)
return defaultVal;
return value;
}
+
+ /**
+ * Convenience method to get a property without going through doPrivileged
+ * if no security manager is present. This is unsafe for inclusion in a
+ * public API but allowable here since this class is now encapsulated.
+ *
+ * @param theProp the name of the system property.
+ */
+ public static Integer getProperty(String theProp) {
+ if (System.getSecurityManager() == null) {
+ return Integer.getInteger(theProp);
+ } else {
+ return AccessController.doPrivileged(
+ new GetIntegerAction(theProp));
+ }
+ }
+
+ /**
+ * Convenience method to get a property without going through doPrivileged
+ * if no security manager is present. This is unsafe for inclusion in a
+ * public API but allowable here since this class is now encapsulated.
+ *
+ * @param theProp the name of the system property.
+ * @param defaultVal the default value.
+ */
+ public static Integer getProperty(String theProp, int defaultVal) {
+ Integer value;
+ if (System.getSecurityManager() == null) {
+ value = Integer.getInteger(theProp);
+ } else {
+ value = AccessController.doPrivileged(
+ new GetIntegerAction(theProp));
+ }
+ return (value != null) ? value : defaultVal;
+ }
}
< prev index next >