|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.makumba.list.engine.QueryExecution
public class QueryExecution
This class holds the listData of a mak:list or the valueQuery data of a mak:value. It determines iterationGroups at every parentIteration, and iterates through the iterationGroupData
Field Summary | |
---|---|
(package private) Stack<Dictionary<String,Object>> |
currentDataSet
A reference to the currentDataSet shared by all ListQueryExecutions in the listGroup |
int |
iteration
The index of iteration within the iteration group |
(package private) Vector<ArrayMap> |
iterationGroupData
The part of listData iterated for a certain parent iteration |
(package private) Grouper |
listData
The results of the query associated with the list or queryMak:value |
HashMap<MultipleKey,Object> |
valueQueryData
Stores the data for queryData |
Method Summary | |
---|---|
static int |
computeLimit(PageContext pc,
String s,
int defaultValue,
int defaultNonSpecified)
Computes the limit from the value passed in the limit tag parameter. |
ArrayMap |
currentListData()
Returns the data of the current iteration |
int |
dataSize()
Computes the size of the iterationGroupData |
void |
endIterationGroup()
Pops the the last data of an iterationGroup. |
static void |
endListGroup(PageContext pageContext)
De-allocates all QueryExecutions in the listGroup, and the currentDataSet. |
static QueryExecution |
getFor(MultipleKey key,
PageContext pageContext,
String offset,
String limit)
Gets the QueryExecution for the given key, builds one if needed. |
static QueryExecution |
getFor(MultipleKey key,
PageContext pageContext,
String offset,
String limit,
String defaultLimit)
Like getFor(MultipleKey, PageContext, String, String) , but uses the default values for offset/limit from
the list tag. |
int |
getIterationGroupData()
Gets the iterationGroupData from the listData |
boolean |
hasValueChanged(int projectionIndex)
|
int |
nextGroupIteration()
Pops the previous currentListData from the currentDataSet and checks if there are more iterations to be made within the iterationGroup. |
int |
onParentIteration()
Computes the iterationGroupData based on listData and currentDataSet. |
static void |
startListGroup(PageContext pageContext)
Allocates a currentDataSet and a container for the QueryExecutions of the listGroup. |
boolean |
willValueChange(int projectionIndex)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
Grouper listData
Vector<ArrayMap> iterationGroupData
public int iteration
Stack<Dictionary<String,Object>> currentDataSet
public HashMap<MultipleKey,Object> valueQueryData
Method Detail |
---|
public static void startListGroup(PageContext pageContext)
pageContext
- The PageContext object of the current pagepublic static void endListGroup(PageContext pageContext)
pageContext
- The PageContext object of the current pagepublic static QueryExecution getFor(MultipleKey key, PageContext pageContext, String offset, String limit) throws LogicException
key
- The tag key of the tag calling the QueryExecutionpageContext
- The PageContext object of the current pageoffset
- Offset at which the iteration should startlimit
- Limit at which the iteration should stop
LogicException
public static QueryExecution getFor(MultipleKey key, PageContext pageContext, String offset, String limit, String defaultLimit) throws LogicException
getFor(MultipleKey, PageContext, String, String)
, but uses the default values for offset/limit from
the list tag.
LogicException
public static int computeLimit(PageContext pc, String s, int defaultValue, int defaultNonSpecified) throws LogicException
pc
- The PageContext object of the current pages
- The parameter value passeddefaultNonSpecified
- The default value of the limit/offset if the attribute is not specified in the list tagdefaultValue
- The fault value of the limit/offset if the attribute is specified in the list tag, but not present as
attribute
LogicException
public int getIterationGroupData()
iterationGroupData
,
listData
public int dataSize()
public int onParentIteration()
public int nextGroupIteration()
public void endIterationGroup()
public ArrayMap currentListData()
public boolean hasValueChanged(int projectionIndex)
public boolean willValueChange(int projectionIndex)
|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |