com.sun.jini.action
Class GetIntegerAction

java.lang.Object
  extended by com.sun.jini.action.GetIntegerAction
All Implemented Interfaces:
PrivilegedAction

public class GetIntegerAction
extends Object
implements PrivilegedAction

A convenience class for retrieving the int value of a system property as a privileged action.

An instance of this class can be used as the argument of AccessController.doPrivileged or Security.doPrivileged.

The following code retrieves the int value of the system property named "prop" as a privileged action. Since it does not pass a default value to be used in case the property "prop" is not defined, it has to check the result for null:

 Integer tmp = (Integer)
     Security.doPrivileged(new GetIntegerAction("prop"));
 int i;
 if (tmp != null) {
     i = tmp.intValue();
 }
 

The following code retrieves the int value of the system property named "prop" as a privileged action, and also passes a default value to be used in case the property "prop" is not defined:

 int i = ((Integer) Security.doPrivileged(
                 new GetIntegerAction("prop", 3))).intValue();
 

If the protection domain of the immediate caller of doPrivileged or the protection domain of this class does not imply the permissions necessary for the operation, the behavior is as if the system property is not defined.

Since:
2.0
Author:
Sun Microsystems, Inc.
See Also:
PrivilegedAction, AccessController, Security

Field Summary
private  boolean defaultSet
           
private  int defaultVal
           
private static Logger logger
           
private  String theProp
           
 
Constructor Summary
GetIntegerAction(String theProp)
          Constructor that takes the name of the system property whose int value needs to be determined.
GetIntegerAction(String theProp, int defaultVal)
          Constructor that takes the name of the system property and the default value of that property.
 
Method Summary
private  Integer defaultValue()
           
 Object run()
          Determines the int value of the system property whose name was specified in the constructor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final Logger logger

theProp

private final String theProp

defaultVal

private final int defaultVal

defaultSet

private final boolean defaultSet
Constructor Detail

GetIntegerAction

public GetIntegerAction(String theProp)
Constructor that takes the name of the system property whose int value needs to be determined.

Parameters:
theProp - the name of the system property

GetIntegerAction

public GetIntegerAction(String theProp,
                        int defaultVal)
Constructor that takes the name of the system property and the default value of that property.

Parameters:
theProp - the name of the system property
defaultVal - the default value
Method Detail

run

public Object run()
Determines the int value of the system property whose name was specified in the constructor. The value is returned in an Integer object.

If the system property is defined to be a value that can be parsed successfully by Integer.decode, then this method returns an Integer with the parsed value. Otherwise, if a default value was supplied to this object's constructor, then this method returns an Integer with that default value, or else null is returned.

Specified by:
run in interface PrivilegedAction
Returns:
an Integer representing the value of the system property or the default value, or null

defaultValue

private Integer defaultValue()


Copyright 2007-2010, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.