ReportMill 7.0 API

com.reportmill.foundation
Class RMKeyChain

java.lang.Object
  extended bycom.reportmill.foundation.RMKeyChain

public class RMKeyChain
extends java.lang.Object


Field Summary
 java.lang.Object _children
           
 RMKeyChain _next
           
 byte _operand
           
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 Summary
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.
 
Method Summary
 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)
           
 boolean anyKeyReferencesKey(java.lang.String aKey)
          Checks whether given key is used anywhere in expression.
static boolean booleanValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
           
 java.lang.Object clone()
           
static double doubleValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
           
 boolean equals(java.lang.Object anObj)
           
 boolean everyKeyReferencesKey(java.lang.String key)
           
static java.lang.reflect.Method findAggregateMethod(java.lang.String aString)
           
static java.lang.reflect.Method findFunctionMethod(java.lang.String aString, java.lang.Class[] argClasses)
           
static float floatValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
           
static java.lang.String getAndResetError()
           
static java.util.Map getAssignments()
           
 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()
           
 boolean hasAggregate()
           
 boolean hasPageReference()
           
static int intValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
           
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)
           
 byte operand()
          Returns the top level operand of the keychain.
 void setLastNode(RMKeyChain ln)
          Sets the last node in the keychain.
 void setNextNode(RMKeyChain nn)
          Sets the next node in the keychain.
 void setValue(java.lang.Object val)
          Sets the value of the keychain.
static java.lang.String stringValueForKeyChain(java.lang.Object anObj, java.lang.Object aKeyChain)
           
static java.lang.Object super_valueForKeyChain(java.lang.Object anObj, RMKeyChain keyChain)
          Returns the result of evaluating the given key chain on the given object.
 java.lang.String toString()
           
 void toString(java.lang.StringBuffer sb)
           
 java.lang.Object value()
          Returns the value 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 keyChain)
          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 keyChain)
          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 keyChain)
           
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_operand

public byte _operand

_next

public RMKeyChain _next

_children

public java.lang.Object _children

Add

public static final byte Add
See Also:
Constant Field Values

Subtract

public static final byte Subtract
See Also:
Constant Field Values

Multiply

public static final byte Multiply
See Also:
Constant Field Values

Divide

public static final byte Divide
See Also:
Constant Field Values

Mod

public static final byte Mod
See Also:
Constant Field Values

Negate

public static final byte Negate
See Also:
Constant Field Values

Key

public static final byte Key
See Also:
Constant Field Values

Value

public static final byte Value
See Also:
Constant Field Values

String

public static final byte String
See Also:
Constant Field Values

ArgList

public static final byte ArgList
See Also:
Constant Field Values

FunctionCall

public static final byte FunctionCall
See Also:
Constant Field Values

ArrayIndex

public static final byte ArrayIndex
See Also:
Constant Field Values

Null

public static final byte Null
See Also:
Constant Field Values

GreaterThan

public static final byte GreaterThan
See Also:
Constant Field Values

LessThan

public static final byte LessThan
See Also:
Constant Field Values

GreaterThanOrEqual

public static final byte GreaterThanOrEqual
See Also:
Constant Field Values

LessThanOrEqual

public static final byte LessThanOrEqual
See Also:
Constant Field Values

Equal

public static final byte Equal
See Also:
Constant Field Values

NotEqual

public static final byte NotEqual
See Also:
Constant Field Values

Not

public static final byte Not
See Also:
Constant Field Values

And

public static final byte And
See Also:
Constant Field Values

Or

public static final byte Or
See Also:
Constant Field Values

Conditional

public static final byte Conditional
See Also:
Constant Field Values

Assignment

public static final byte Assignment
See Also:
Constant Field Values
Constructor Detail

RMKeyChain

public RMKeyChain(byte oper)
Node constructor.


RMKeyChain

public RMKeyChain(byte oper,
                  java.lang.Object child)
Node constructor.


RMKeyChain

public RMKeyChain(byte oper,
                  java.lang.Object left,
                  java.lang.Object right)
Node constructor.


RMKeyChain

public RMKeyChain(java.lang.Object cond,
                  java.lang.Object tExp,
                  java.lang.Object fExp)
Node constructor.

Method Detail

keyChain

public static RMKeyChain keyChain(java.lang.Object aSource)
Returns a keyChain for aSource (should be a String or existing RMKeyChain).


getAssignments

public static java.util.Map getAssignments()

operand

public byte operand()
Returns the top level operand of the keychain.


setNextNode

public void setNextNode(RMKeyChain nn)
Sets the next node in the keychain.


setLastNode

public void setLastNode(RMKeyChain ln)
Sets the last node in the keychain.


value

public java.lang.Object value()
Returns the value of the keychain.


setValue

public void setValue(java.lang.Object val)
Sets the value of the keychain.


getChildCount

public int getChildCount()
Returns the number of children in the keychain.


getChild

public java.lang.Object getChild(int i)
Returns the child at the given index in the keychain.


getChildString

public java.lang.String getChildString(int i)
Returns the child at the given index in the keychain as a string.


getChildKeyChain

public RMKeyChain getChildKeyChain(int i)
Returns the child at the given index in the keychain as a keychain.


addChild

public void addChild(java.lang.Object child)
Adds a child to the end of the keychain's child list.


valueForKeyChain

public 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.


super_valueForKeyChain

public static java.lang.Object super_valueForKeyChain(java.lang.Object anObj,
                                                      RMKeyChain keyChain)
Returns the result of evaluating the given key chain on the given object. Broken out so objects can implement custom valueForKeyChain but still have access to default implementation.


valueForKeyChainKey

public static java.lang.Object valueForKeyChainKey(java.lang.Object anObj,
                                                   RMKeyChain keyChain)
Returns the result of evaluating the given key chain (assumed to be a simple key) on the given object.


valueForKeyChainFunctionCall

public static java.lang.Object valueForKeyChainFunctionCall(java.lang.Object anObj,
                                                            RMKeyChain keyChain)
Returns the result of evaluating the given key chain (assumed to be a function) on the given object.


valueForKeyChainList

public static java.lang.Object valueForKeyChainList(java.util.List aList,
                                                    RMKeyChain keyChain)

stringValueForKeyChain

public static java.lang.String stringValueForKeyChain(java.lang.Object anObj,
                                                      java.lang.Object aKeyChain)

intValueForKeyChain

public static int intValueForKeyChain(java.lang.Object anObj,
                                      java.lang.Object aKeyChain)

floatValueForKeyChain

public static float floatValueForKeyChain(java.lang.Object anObj,
                                          java.lang.Object aKeyChain)

doubleValueForKeyChain

public static double doubleValueForKeyChain(java.lang.Object anObj,
                                            java.lang.Object aKeyChain)

booleanValueForKeyChain

public static boolean booleanValueForKeyChain(java.lang.Object anObj,
                                              java.lang.Object aKeyChain)

listValueForKeyChain

public static java.util.List listValueForKeyChain(java.lang.Object anObj,
                                                  java.lang.Object aKeyChain)

addFunctionClass

public static void addFunctionClass(java.lang.Class c)

findAggregateMethod

public static java.lang.reflect.Method findAggregateMethod(java.lang.String aString)

findFunctionMethod

public static java.lang.reflect.Method findFunctionMethod(java.lang.String aString,
                                                          java.lang.Class[] argClasses)

anyKeyReferencesKey

public boolean anyKeyReferencesKey(java.lang.String aKey)
Checks whether given key is used anywhere in expression. Current version is really hard coded to require key to be isolated (not a part of a key chain).


everyKeyReferencesKey

public boolean everyKeyReferencesKey(java.lang.String key)

hasPageReference

public boolean hasPageReference()

hasAggregate

public boolean hasAggregate()

getError

public static java.lang.String getError()

getAndResetError

public static java.lang.String getAndResetError()

toString

public java.lang.String toString()

toString

public void toString(java.lang.StringBuffer sb)

clone

public java.lang.Object clone()

equals

public boolean equals(java.lang.Object anObj)

ReportMill 7.0 API