public class RMKeyChain
extends java.lang.Object
implements java.lang.Cloneable
Modifier and Type | Class and Description |
---|---|
static interface |
RMKeyChain.Get
This is interface is implemented by objects that can get key chain values themselves.
|
static interface |
RMKeyChain.GetSet
is interface is implemented by objects that can get/set key chain values themselves.
|
static class |
RMKeyChain.Operator |
Constructor and Description |
---|
RMKeyChain(java.lang.Object cond,
java.lang.Object tExp,
java.lang.Object fExp)
Node constructor.
|
RMKeyChain(RMKeyChain.Operator anOperator)
Node constructor.
|
RMKeyChain(RMKeyChain.Operator anOperator,
java.lang.Object child)
Node constructor.
|
RMKeyChain(RMKeyChain.Operator anOperator,
java.lang.Object left,
java.lang.Object right)
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 aClass)
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.
|
RMKeyChain |
clone()
Standard clone implementation.
|
boolean |
equals(java.lang.Object anObj)
Standard equals implementation.
|
static java.lang.String |
getAndResetError()
Returns the last error encountered by the key chain parser and resets parser.
|
static java.util.Map |
getAssignments()
Returns a thread-local assignments map.
|
static boolean |
getBoolValue(java.lang.Object anObj,
java.lang.Object aKeyChain)
Convenience - returns a boolean for an object and key chain.
|
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 double |
getDoubleValue(java.lang.Object anObj,
java.lang.Object aKeyChain)
Convenience - returns a double for an object and key chain.
|
static java.lang.String |
getError()
Returns the last error encountered by the key chain parser (or null).
|
static float |
getFloatValue(java.lang.Object anObj,
java.lang.Object aKeyChain)
Convenience - returns a float for an object and key chain.
|
static int |
getIntValue(java.lang.Object anObj,
java.lang.Object aKeyChain)
Convenience - returns an int for an object and key chain.
|
static RMKeyChain |
getKeyChain(java.lang.Object aSource)
Returns a keyChain for aSource (should be a String or existing RMKeyChain).
|
RMKeyChain |
getLast()
Returns the last node in the chain.
|
static java.util.List |
getListValue(java.lang.Object anObj,
java.lang.Object aKeyChain)
Convenience - returns a list for an object and key chain.
|
RMKeyChain |
getNext()
Returns the next key chain node in the chain.
|
RMKeyChain |
getNext(int anIndex)
Returns the nth key chain node in the chain.
|
static java.lang.Number |
getNumberValue(java.lang.Object anObj,
java.lang.Object aKeyChain)
Convenience - returns a number for an object and key chain.
|
RMKeyChain.Operator |
getOperator()
Returns the top level operator of the keychain.
|
static java.lang.String |
getStringValue(java.lang.Object anObj,
java.lang.Object aKeyChain)
Convenience - returns a string for an object and key chain.
|
java.lang.Object |
getValue()
Returns the value of the keychain.
|
static java.lang.Object |
getValue(java.lang.Object anObj,
java.lang.Object aKeyChain)
Returns the result of evaluating the given key chain on the given object.
|
static <T> T |
getValue(java.lang.Object anObj,
java.lang.Object aKeyChain,
java.lang.Class<T> aClass)
Returns a key value if it is of given class (otherwise null).
|
static java.lang.Object |
getValueFunctionCall(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 |
getValueImpl(java.lang.Object anObj,
RMKeyChain aKeyChain)
Returns the result of evaluating the given key chain on the given object.
|
static java.lang.Object |
getValueList(java.util.List aList,
RMKeyChain aKeyChain)
Returns the result of evaluating the given key chain on the given list.
|
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(RMKeyChain.Operator anOperator)
Returns whether key contains given op.
|
boolean |
hasPageReference()
Returns whether given key has a Page/PageMax key reference.
|
int |
length()
Returns the number of nodes in the chain.
|
static void |
main(java.lang.String[] args)
Simple main implementation, so RM's expressions can be used for simple math.
|
void |
setLastNode(RMKeyChain aKeyChain)
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 boolean |
setValue(java.lang.Object anObj,
java.lang.Object aKeyChain,
java.lang.Object aValue)
Sets the given value for the given key chain + property.
|
java.lang.String |
toString()
Returns a string representation of the key chain.
|
public RMKeyChain(RMKeyChain.Operator anOperator)
public RMKeyChain(RMKeyChain.Operator anOperator, java.lang.Object child)
public RMKeyChain(RMKeyChain.Operator anOperator, 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 getKeyChain(java.lang.Object aSource)
public static java.util.Map getAssignments()
public RMKeyChain.Operator getOperator()
public RMKeyChain getNext()
public void setNext(RMKeyChain aKeyChain)
public int length()
public RMKeyChain getNext(int anIndex)
public RMKeyChain getLast()
public void setLastNode(RMKeyChain aKeyChain)
public java.lang.Object getValue()
public void setValue(java.lang.Object val)
public java.lang.String getValueString()
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 getValue(java.lang.Object anObj, java.lang.Object aKeyChain)
public static java.lang.Object getValueImpl(java.lang.Object anObj, RMKeyChain aKeyChain)
public static java.lang.Object getValueFunctionCall(java.lang.Object anObj, RMKeyChain aKeyChain)
public static java.lang.Object getValueList(java.util.List aList, RMKeyChain aKeyChain)
public static java.lang.String getStringValue(java.lang.Object anObj, java.lang.Object aKeyChain)
public static java.lang.Number getNumberValue(java.lang.Object anObj, java.lang.Object aKeyChain)
public static int getIntValue(java.lang.Object anObj, java.lang.Object aKeyChain)
public static float getFloatValue(java.lang.Object anObj, java.lang.Object aKeyChain)
public static double getDoubleValue(java.lang.Object anObj, java.lang.Object aKeyChain)
public static boolean getBoolValue(java.lang.Object anObj, java.lang.Object aKeyChain)
public static java.util.List getListValue(java.lang.Object anObj, java.lang.Object aKeyChain)
public static <T> T getValue(java.lang.Object anObj, java.lang.Object aKeyChain, java.lang.Class<T> aClass)
public static void addFunctionClass(java.lang.Class aClass)
public boolean anyKeyReferencesKey(java.lang.String aKey)
public boolean hasPageReference()
public boolean hasOp(RMKeyChain.Operator anOperator)
public boolean hasAggregate()
public static java.lang.String getError()
public static java.lang.String getAndResetError()
public static boolean setValue(java.lang.Object anObj, java.lang.Object aKeyChain, java.lang.Object aValue)
public RMKeyChain clone()
clone
in class java.lang.Object
public boolean equals(java.lang.Object anObj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public static void main(java.lang.String[] args)