public class RMKeyChain
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static byte |
Add |
static byte |
And |
static byte |
ArgList |
static byte |
ArrayIndex |
static byte |
Assignment |
static byte |
Conditional |
static byte |
Divide |
static byte |
Equal |
static byte |
FunctionCall |
static byte |
GreaterThan |
static byte |
GreaterThanOrEqual |
static byte |
Key |
static byte |
LessThan |
static byte |
LessThanOrEqual |
static byte |
Mod |
static byte |
Multiply |
static byte |
Negate |
static byte |
Not |
static byte |
NotEqual |
static byte |
Null |
static byte |
Or |
static byte |
String |
static byte |
Subtract |
static byte |
Value |
Constructor and Description |
---|
RMKeyChain(byte oper)
Node constructor.
|
RMKeyChain(byte oper,
java.lang.Object child)
Node constructor.
|
RMKeyChain(byte oper,
java.lang.Object left,
java.lang.Object right)
Node constructor.
|
RMKeyChain(java.lang.Object cond,
java.lang.Object tExp,
java.lang.Object fExp)
Node constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addChild(java.lang.Object child)
Adds a child to the end of the keychain's child list.
|
static void |
addFunctionClass(java.lang.Class c)
Adds a class to the list of classes that RM queries for functions.
|
boolean |
anyKeyReferencesKey(java.lang.String aKey)
Returns whether given key is used anywhere in expression.
|
static boolean |
booleanValueForKeyChain(java.lang.Object anObj,
java.lang.Object aKeyChain)
VFK convenience - returns a boolean for an object and keychain.
|
java.lang.Object |
clone()
Standard clone implementation.
|
static double |
doubleValueForKeyChain(java.lang.Object anObj,
java.lang.Object aKeyChain)
VFK convenience - returns a double for an object and keychain.
|
boolean |
equals(java.lang.Object anObj)
Standard equals implementation.
|
static java.lang.reflect.Method |
findAggregateMethod(java.lang.String aString)
Returns a method for a method name (assuming {List,KeyChain} args).
|
static java.lang.reflect.Method |
findFunctionMethod(java.lang.String aString,
java.lang.Class[] argClasses)
Returns a method for a method name and the given argument classes.
|
static float |
floatValueForKeyChain(java.lang.Object anObj,
java.lang.Object aKeyChain)
VFK convenience - returns a float for an object and keychain.
|
static java.lang.String |
getAndResetError()
Returns the last error encountered by the keychain parser and resets paser.
|
static java.util.Map |
getAssignments()
Returns a thread-local assignments map.
|
java.lang.Object |
getChild(int i)
Returns the child at the given index in the keychain.
|
int |
getChildCount()
Returns the number of children in the keychain.
|
RMKeyChain |
getChildKeyChain(int i)
Returns the child at the given index in the keychain as a keychain.
|
java.lang.String |
getChildString(int i)
Returns the child at the given index in the keychain as a string.
|
static java.lang.String |
getError()
Returns the last error encountered by the keychain parser (or null).
|
RMKeyChain |
getNext()
Returns the next keychain in the chain.
|
byte |
getOperand()
Returns the top level operand of the keychain.
|
java.lang.Object |
getValue()
Returns the value of the keychain.
|
java.lang.String |
getValueString()
Returns the value of the keychain as a string.
|
boolean |
hasAggregate()
Returns whether key has an aggregate key in it.
|
boolean |
hasOp(int anOp)
Returns whether key contains given op.
|
boolean |
hasPageReference()
Returns whether given key has a Page/PageMax key reference.
|
static int |
intValueForKeyChain(java.lang.Object anObj,
java.lang.Object aKeyChain)
VFK convenience - returns an int for an object and keychain.
|
static RMKeyChain |
keyChain(java.lang.Object aSource)
Returns a keyChain for aSource (should be a String or existing RMKeyChain).
|
static java.util.List |
listValueForKeyChain(java.lang.Object anObj,
java.lang.Object aKeyChain)
VFK convenience - returns a list for an object and keychain.
|
static void |
main(java.lang.String[] args)
Simple main implementation, so RM's expressions can be used for simple math.
|
void |
setLastNode(RMKeyChain ln)
Sets the last node in the keychain.
|
void |
setNext(RMKeyChain aKeyChain)
Sets the next keychain in the chain.
|
void |
setValue(java.lang.Object val)
Sets the value of the keychain.
|
static void |
setValueForKeyChain(java.lang.Object anObj,
java.lang.Object aKeyChain,
java.lang.Object aValue) |
static java.lang.String |
stringValueForKeyChain(java.lang.Object anObj,
java.lang.Object aKeyChain)
VFK convenience - returns a string for an object and keychain.
|
static java.lang.Object |
super_valueForKeyChain(java.lang.Object anObj,
RMKeyChain aKeyChain)
Returns the result of evaluating the given key chain on the given object.
|
java.lang.String |
toString()
Returns a string representation of the keychain.
|
static java.lang.Object |
valueForKeyChain(java.lang.Object anObj,
java.lang.Object aKeyChain)
Returns the result of evaluating the given key chain on the given object.
|
static java.lang.Object |
valueForKeyChainFunctionCall(java.lang.Object anObj,
RMKeyChain aKeyChain)
Returns the result of evaluating the given key chain (assumed to be a function) on the given object.
|
static java.lang.Object |
valueForKeyChainKey(java.lang.Object anObj,
RMKeyChain aKeyChain)
Returns the result of evaluating the given key chain (assumed to be a simple key) on the given object.
|
static java.lang.Object |
valueForKeyChainList(java.util.List aList,
RMKeyChain aKeyChain)
Returns the result of evaluating the given keychain on the given list.
|
public static final byte Add
public static final byte Subtract
public static final byte Multiply
public static final byte Divide
public static final byte Mod
public static final byte Negate
public static final byte Key
public static final byte Value
public static final byte String
public static final byte ArgList
public static final byte FunctionCall
public static final byte ArrayIndex
public static final byte Null
public static final byte GreaterThan
public static final byte LessThan
public static final byte GreaterThanOrEqual
public static final byte LessThanOrEqual
public static final byte Equal
public static final byte NotEqual
public static final byte Not
public static final byte And
public static final byte Or
public static final byte Conditional
public static final byte Assignment
public RMKeyChain(byte oper)
public RMKeyChain(byte oper, java.lang.Object child)
public RMKeyChain(byte oper, java.lang.Object left, java.lang.Object right)
public RMKeyChain(java.lang.Object cond, java.lang.Object tExp, java.lang.Object fExp)
public static RMKeyChain keyChain(java.lang.Object aSource)
public static java.util.Map getAssignments()
public byte getOperand()
public RMKeyChain getNext()
public void setNext(RMKeyChain aKeyChain)
public void setLastNode(RMKeyChain ln)
public java.lang.Object getValue()
public java.lang.String getValueString()
public void setValue(java.lang.Object val)
public int getChildCount()
public java.lang.Object getChild(int i)
public java.lang.String getChildString(int i)
public RMKeyChain getChildKeyChain(int i)
public void addChild(java.lang.Object child)
public static java.lang.Object valueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
public static void setValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain, java.lang.Object aValue)
public static java.lang.Object super_valueForKeyChain(java.lang.Object anObj, RMKeyChain aKeyChain)
public static java.lang.Object valueForKeyChainKey(java.lang.Object anObj, RMKeyChain aKeyChain)
public static java.lang.Object valueForKeyChainFunctionCall(java.lang.Object anObj, RMKeyChain aKeyChain)
public static java.lang.Object valueForKeyChainList(java.util.List aList, RMKeyChain aKeyChain)
public static java.lang.String stringValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
public static int intValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
public static float floatValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
public static double doubleValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
public static boolean booleanValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
public static java.util.List listValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
public static void addFunctionClass(java.lang.Class c)
public static java.lang.reflect.Method findAggregateMethod(java.lang.String aString)
public static java.lang.reflect.Method findFunctionMethod(java.lang.String aString, java.lang.Class[] argClasses)
public boolean anyKeyReferencesKey(java.lang.String aKey)
public boolean hasPageReference()
public boolean hasOp(int anOp)
public boolean hasAggregate()
public static java.lang.String getError()
public static java.lang.String getAndResetError()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.Object clone()
clone
in class java.lang.Object
public boolean equals(java.lang.Object anObj)
equals
in class java.lang.Object
public static void main(java.lang.String[] args)