org.makumba.list.engine.valuecomputer
Class QueryValueComputer

java.lang.Object
  extended by org.makumba.list.engine.valuecomputer.ValueComputer
      extended by org.makumba.list.engine.valuecomputer.QueryValueComputer
Direct Known Subclasses:
NullableValueComputer, SetValueComputer

public abstract class QueryValueComputer
extends ValueComputer

The ValueComputer of a queryMak:value

Author:
Cristian Bogdan

Field Summary
(package private) static Object dummy
           
(package private)  MultipleKey queryKey
          The key of the generated query
 
Fields inherited from class org.makumba.list.engine.valuecomputer.ValueComputer
expr, parentKey, projectionIndex, type
 
Constructor Summary
QueryValueComputer()
           
 
Method Summary
 void doEndAnalyze(PageCache pageCache)
          If other ValueComputers sharing the same valueQuery did not analyze it yet, we analyze it here.
(package private)  MultipleKey getQueryKey()
          The key of the query in which this value is a projection.
 void makeQueryAtAnalysis(MultipleKey parentListKey, String keyDifference, String[] queryProps, String expr, PageCache pageCache)
          Makes a key that adds the given keyDifference to the tagKey of the parentList, and associates with it a subquery of the parentQuery made from the given queryProps.
(package private)  QueryExecution runQuery(PageContext pageContext)
          Obtains the iterationGroupData for the valueQuery
 
Methods inherited from class org.makumba.list.engine.valuecomputer.ValueComputer
getFormattedValue, getProjectionIndex, getType, getValue, getValueComputerAtAnalysis, isPointer, print
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

queryKey

MultipleKey queryKey
The key of the generated query


dummy

static final Object dummy
Constructor Detail

QueryValueComputer

public QueryValueComputer()
Method Detail

makeQueryAtAnalysis

public void makeQueryAtAnalysis(MultipleKey parentListKey,
                                String keyDifference,
                                String[] queryProps,
                                String expr,
                                PageCache pageCache)
Makes a key that adds the given keyDifference to the tagKey of the parentList, and associates with it a subquery of the parentQuery made from the given queryProps.

Parameters:
analyzed - the analyzed tag
keyDifference -
queryProps -
expr -
pageCache - the page cache of the current page

getQueryKey

MultipleKey getQueryKey()
The key of the query in which this value is a projection. Returns queryKey

Overrides:
getQueryKey in class ValueComputer
Returns:
The key of the parent of the value

doEndAnalyze

public void doEndAnalyze(PageCache pageCache)
If other ValueComputers sharing the same valueQuery did not analyze it yet, we analyze it here.

Overrides:
doEndAnalyze in class ValueComputer
Parameters:
pageCache - the page cache of the current page

runQuery

QueryExecution runQuery(PageContext pageContext)
                  throws LogicException
Obtains the iterationGroupData for the valueQuery

Parameters:
running - the tag that is currently running
Returns:
The QueryExecution that will give us the data
Throws:
LogicException