public abstract class Calculator extends Object
| Constructor and Description |
|---|
Calculator() |
| Modifier and Type | Method and Description |
|---|---|
void |
addFunction(Function function)
Add or replace function for used in query
|
void |
addType(Type descriptor)
Add or replace type for used in data
|
Object |
calc(Formula formula,
Object startObj)
Run computing using the prepared formula
|
Object |
calc(String query,
Object startObj)
Run computing using query as string
|
Object |
calcArgument(FormulaPart part,
Object value,
int rowIndex,
Collection<Object> allRows)
Compute result for part of formula
|
boolean |
equalValues(Object v1,
Object v2)
Compare values.
|
protected abstract Collection<Object> |
extractValues(String byCode,
Collection<Object> fromObjList)
Extract values from each object 'fromObjList' by code
|
Function |
getFunction(String name)
Getter for known functions
|
Type |
getType(Class<?> forClass)
Getter for known types
|
<T> T |
toType(Class<?> toCls,
Object value)
Convert value to type
|
public Object calc(Formula formula, Object startObj)
formula - prepared formulastartObj - object for begin computingpublic Object calc(String query, Object startObj)
query - query as stringstartObj - object for begin computingpublic Object calcArgument(FormulaPart part, Object value, int rowIndex, Collection<Object> allRows)
part - part of formulavalue - value for computingrowIndex - index in collection with all valuesallRows - collection with all valuesprotected abstract Collection<Object> extractValues(String byCode, Collection<Object> fromObjList)
byCode - code for extracting valuesfromObjList - collection with objects for extracting valuespublic void addFunction(Function function)
function - new functionpublic Function getFunction(String name)
name - name of functionpublic void addType(Type descriptor)
descriptor - type descriptorpublic Type getType(Class<?> forClass)
forClass - classpublic <T> T toType(Class<?> toCls, Object value)
toCls - goal-class for resultvalue - value which be convertedCopyright © 2018. All rights reserved.