sunlabs.brazil.properties
public class ExprProps extends Properties
ExprProps is a subclass of Properties that
is "smart" in the sense that it wraps a Calculator
object, passing get and getProperty keys to
the Calculator for processing.
Keys are first searched for in the Properties
object. If not found, the key is passed to the getValue
method of the wrapped Calculator object. The
Calculator will return null if the key
consists of only a name or Brazil token and that name/token evaluates
to 0. In this case, a value associated with the key can not be
"found" and the get or getpropertymethod returns
null also.
Only property names that "look" like expressions (e.g. contain at least one of characters in [&|*+/%=!<>-]) are passed to the calculator.
Version: 2.3, 04/05/24
See Also: java.util.Properties Calculator ExprPropsHandler
| Constructor Summary | |
|---|---|
| ExprProps()
This constructor creates a Calculator instance with
this instance of ExprProps as it's symbol table. | |
| ExprProps(Properties defaults)
This constructor creates a Calculator instance with
this instance of ExprProps as it's symbol table and
with the Properties instance referenced by the
parameter defaults as it's set of default values.
| |
| ExprProps(Request request)
This constructor creates a Calculator instance with
request.props as it's symbol table.
| |
| ExprProps(Request request, Properties defaults)
This constructor creates a Calculator instance with
request.props as it's symbol table and with the
Properties instance referenced by the parameter
defaults as it's set of default values.
| |
| Method Summary | |
|---|---|
| Object | get(Object key)
Returns the value to which the specified key is mapped in this
Hashtable. |
| String | getProperty(String key)
Searches for the property with the specified key in this property list.
|
Calculator instance with
this instance of ExprProps as it's symbol table.Calculator instance with
this instance of ExprProps as it's symbol table and
with the Properties instance referenced by the
parameter defaults as it's set of default values.
Parameters: defaults the defaults
Calculator instance with
request.props as it's symbol table.
Parameters: request the Request instance
Calculator instance with
request.props as it's symbol table and with the
Properties instance referenced by the parameter
defaults as it's set of default values.
Parameters: request the Request instance defaults the defaults
Hashtable. If the key is not found, then it's value
is computed by treating the key as an arithmetic expression or
statement.
If, during the computation, an ArithmeticException is
thrown, the key compute.error is set in the base
Properties. The value associated with the key is
an error message.
Parameters: key the Hashtable key
Returns: the value in this table with the
specified key or null
If, during the computation, an ArithmeticException is
thrown, the key compute.error is set in the base
Properties. The value associated with the key is
an error message.
If the result of the computation is null, the default
property list, and its defaults, recursively, are then checked. The
method returns null if the property is not found.
Parameters: key the property key
Returns: the value in this property list with the
specified key or null
See Also: java.util.Properties#defaults