|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.sun.slamd.scripting.engine.Variable
com.sun.slamd.scripting.general.RateLimiterVariable
This class defines a variable that can be used to control the rate at which operations occur. It starts a timer, allows the caller to perform an operation, and then sleeps for the remainder of that timer. It provides the following methods:
| Field Summary | |
static java.lang.String |
GET_DURATION_METHOD_NAME
The name of the method that will be used to get the total duration for the rate limiter. |
static int |
GET_DURATION_METHOD_NUMBER
The method number for the "getDuration" method. |
static Method[] |
RATE_LIMITER_VARIABLE_METHODS
The set of methods associated with file URL variables. |
static java.lang.String |
RATE_LIMITER_VARIABLE_TYPE
The name that will be used for the data type of rate limiter variables. |
static java.lang.String |
SET_DURATION_METHOD_NAME
The name of the method that will be used to set the total duration for the rate limiter. |
static int |
SET_DURATION_METHOD_NUMBER
The method number for the "setDuration" method. |
static java.lang.String |
SLEEP_FOR_REMAINING_TIME_METHOD_NAME
The name of the method that will be used to sleep for whatever time is remaining on the timer. |
static int |
SLEEP_FOR_REMAINING_TIME_METHOD_NUMBER
The method number for the "sleepForRemainingTime" method. |
static java.lang.String |
START_TIMER_METHOD_NAME
The name of the method that will be used to reset and start the countdown timer. |
static int |
START_TIMER_METHOD_NUMBER
The method number for the "startTimer" method. |
| Constructor Summary | |
RateLimiterVariable()
Creates a new variable with no name, to be used only when creating a variable with Class.newInstance(), and only when
setName() is called after that to set the name. |
|
| Method Summary | |
void |
assign(Argument argument)
Assigns the value of the provided argument to this variable. |
Variable |
executeMethod(int lineNumber,
int methodNumber,
Argument[] arguments)
Executes the specified method, using the provided variables as arguments to the method, and makes the return value available to the caller. |
int |
getMethodNumber(java.lang.String methodName,
java.lang.String[] argumentTypes)
Retrieves the method number for the method that has the specified name and argument types, or -1 if there is no such method. |
Method[] |
getMethods()
Retrieves a list of all methods defined for this variable. |
java.lang.String |
getReturnTypeForMethod(java.lang.String methodName,
java.lang.String[] argumentTypes)
Retrieves the return type for the method with the specified name and argument types. |
java.lang.String |
getValueAsString()
Retrieves a string representation of the value of this argument. |
java.lang.String |
getVariableTypeName()
Retrieves the name of the variable type for this variable. |
boolean |
hasMethod(java.lang.String methodName)
Indicates whether this variable type has a method with the specified name. |
| Methods inherited from class com.sun.slamd.scripting.engine.Variable |
getArgumentAsString, getArgumentType, getArgumentValue, getName, getStatTrackers, isValidIdentifier, setName, startStatTrackers, stopStatTrackers |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final java.lang.String RATE_LIMITER_VARIABLE_TYPE
public static final java.lang.String GET_DURATION_METHOD_NAME
public static final int GET_DURATION_METHOD_NUMBER
public static final java.lang.String SET_DURATION_METHOD_NAME
public static final int SET_DURATION_METHOD_NUMBER
public static final java.lang.String SLEEP_FOR_REMAINING_TIME_METHOD_NAME
public static final int SLEEP_FOR_REMAINING_TIME_METHOD_NUMBER
public static final java.lang.String START_TIMER_METHOD_NAME
public static final int START_TIMER_METHOD_NUMBER
public static final Method[] RATE_LIMITER_VARIABLE_METHODS
| Constructor Detail |
public RateLimiterVariable()
throws ScriptException
Class.newInstance(), and only when
setName() is called after that to set the name.
ScriptException - If a problem occurs while initializing the new
variable.| Method Detail |
public java.lang.String getVariableTypeName()
getVariableTypeName in class Variablepublic Method[] getMethods()
getMethods in class Variablepublic boolean hasMethod(java.lang.String methodName)
hasMethod in class VariablemethodName - The name of the method.
true if this variable has a method with the specified
name, or false if it does not.
public int getMethodNumber(java.lang.String methodName,
java.lang.String[] argumentTypes)
getMethodNumber in class VariablemethodName - The name of the method.argumentTypes - The list of argument types for the method.
public java.lang.String getReturnTypeForMethod(java.lang.String methodName,
java.lang.String[] argumentTypes)
getReturnTypeForMethod in class VariablemethodName - The name of the method.argumentTypes - The set of argument types for the method.
null if there is
no such method defined.
public Variable executeMethod(int lineNumber,
int methodNumber,
Argument[] arguments)
throws ScriptException
executeMethod in class VariablelineNumber - The line number of the script in which the method
call occurs.methodNumber - The method number of the method to execute.arguments - The set of arguments to use for the method.
null if it
does not return a value.
ScriptException - If the specified method does not exist, or if a
problem occurs while attempting to execute it.
public void assign(Argument argument)
throws ScriptException
assign in class Variableargument - The argument whose value should be assigned to this
variable.
ScriptException - If a problem occurs while performing the
assignment.public java.lang.String getValueAsString()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||