|
MXQuery 0.6.0 API Documentation - Copyright 2006-2009 ETH Zurich | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectch.ethz.mxquery.model.Iterator
ch.ethz.mxquery.model.CurrentBasedIterator
ch.ethz.mxquery.iterators.UserdefFuncCall
public class UserdefFuncCall
Field Summary |
---|
Fields inherited from interface ch.ethz.mxquery.model.XDMIterator |
---|
EXPR_CATEGORY_SEQUENTIAL, EXPR_CATEGORY_SIMPLE, EXPR_CATEGORY_UPDATING, EXPR_CATEGORY_VACUOUS, EXPR_PARAM_CHEAPEVAL, EXPR_PARAM_VARIABLE, EXPR_PARAM_WINDOW, EXPR_PARAM_XDMGEN |
Constructor Summary | |
---|---|
UserdefFuncCall(Context ctx,
QName fName,
QName[] paramNames,
TypeInfo[] paramTypes,
XDMIterator function,
TypeInfo returnType,
XDMIterator returnSeqTypeIt,
int exprCategory,
QueryLocation location)
|
Method Summary | |
---|---|
XDMIterator |
copy(Context parentIterContext,
XQStaticContext newParentIterContext,
boolean copyContext,
java.util.Vector nestedPredCtxStack)
Copies the Iterator. |
XDMIterator[] |
getAllSubIters()
|
int |
getExpressionCategoryType(boolean scripting)
Get and (check) the expression category type, as defined in the XQSF draft Expression categories are: SIMPLE, UPDATING, SEQUENTIAL, VACUOUS If the categories are incompatible, the related exception is thrown The check is only done when requested by calling this function The implementation covers the common case (simple expressions, no checking) and needs to be overwritten for checking and also by updating, sequential and vacuous expressions |
int |
getExprTypeShallow()
|
QName |
getFunctionName()
|
PendingUpdateList |
getPendingUpdateList()
Returns the complete Pending Update List (PUL) of this iterator. |
TypeInfo |
getStaticType()
Return the return type if it can be statically determined |
Token |
next()
Produces the next XDM token This method typically implements the base functionality of an Iterator and computes the value of the next token. |
void |
setContext(Context context,
boolean recursive)
Assigns a context for this iterator (and possibly for its subIterators), replacing the existing context |
void |
setResettable(boolean r)
Set this Iterator (and its subiterators) resetable. |
void |
setSubIters(XDMIterator[] subIt)
|
Methods inherited from class ch.ethz.mxquery.model.Iterator |
---|
addPredicates, close, copyInts, copyIterators, copyQNames, copyStrings, copyTypeInfos, getAllSubItersRecursive, getContext, getLoc, getPredicates, getSubIters, hasPredicates, isConstModePreserve, isExprParameter, isOpen, isResettable, removePredicates, reset, setConstModePreserve, setLoc, setOrderByExpr, setParam, setReturnExpr, setSubIters, setSubIters, setWhereExpr, traverse, traverseIteratorTree |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public UserdefFuncCall(Context ctx, QName fName, QName[] paramNames, TypeInfo[] paramTypes, XDMIterator function, TypeInfo returnType, XDMIterator returnSeqTypeIt, int exprCategory, QueryLocation location) throws MXQueryException
MXQueryException
Method Detail |
---|
public Token next() throws MXQueryException
XDMIterator
MXQueryException
public void setContext(Context context, boolean recursive) throws MXQueryException
XDMIterator
setContext
in interface XDMIterator
setContext
in class Iterator
context
- the context to assignrecursive
- true perform the assignment also subiteratos, false only replace on the current iterator
MXQueryException
public void setResettable(boolean r) throws MXQueryException
XDMIterator
setResettable
in interface XDMIterator
setResettable
in class Iterator
r
- true make this iterator resetable, false make it not resetable
MXQueryException
public void setSubIters(XDMIterator[] subIt) throws MXQueryException
setSubIters
in interface XDMIterator
setSubIters
in class Iterator
MXQueryException
public PendingUpdateList getPendingUpdateList() throws MXQueryException
XDMIterator
null
for non-updating expressions. Since the PUL is computed gradually (especially in a scripting environment, this function should only be called when the evaluation is complete.
For scripting, this function also merges the PULs of the child iterators, so
getPendingUpdateList
in interface XDMIterator
getPendingUpdateList
in class Iterator
MXQueryException
public final XDMIterator copy(Context parentIterContext, XQStaticContext newParentIterContext, boolean copyContext, java.util.Vector nestedPredCtxStack) throws MXQueryException
XDMIterator
copy
in interface XDMIterator
copy
in class Iterator
parentIterContext
- The new parent contextnewParentIterContext
- The previous context of the parent iteratorcopyContext
- Copy the context or use the parent contextnestedPredCtxStack
- The Stack of nested predicate context, needed for nested rewritten predicates
MXQueryException
public int getExprTypeShallow() throws MXQueryException
MXQueryException
public TypeInfo getStaticType()
XDMIterator
getStaticType
in interface XDMIterator
getStaticType
in class Iterator
public QName getFunctionName()
public XDMIterator[] getAllSubIters()
getAllSubIters
in interface XDMIterator
getAllSubIters
in class Iterator
public int getExpressionCategoryType(boolean scripting) throws MXQueryException
XDMIterator
getExpressionCategoryType
in interface XDMIterator
getExpressionCategoryType
in class Iterator
scripting
- TODO
MXQueryException
|
MXQuery 0.6.0 API Documentation - Copyright 2006-2009 ETH Zurich | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |