|
|
|||||||||||
| 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 page
public 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
LogicExceptionpublic int getIterationGroupData()
iterationGroupData,
listDatapublic 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 | |||||||||||