|
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 XDMIteratorsetContext in class Iteratorcontext - 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 XDMIteratorsetResettable in class Iteratorr - true make this iterator resetable, false make it not resetable
MXQueryException
public void setSubIters(XDMIterator[] subIt)
throws MXQueryException
setSubIters in interface XDMIteratorsetSubIters in class IteratorMXQueryException
public PendingUpdateList getPendingUpdateList()
throws MXQueryException
XDMIteratornull 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 XDMIteratorgetPendingUpdateList in class IteratorMXQueryException
public final XDMIterator copy(Context parentIterContext,
XQStaticContext newParentIterContext,
boolean copyContext,
java.util.Vector nestedPredCtxStack)
throws MXQueryException
XDMIterator
copy in interface XDMIteratorcopy in class IteratorparentIterContext - 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
MXQueryExceptionpublic TypeInfo getStaticType()
XDMIterator
getStaticType in interface XDMIteratorgetStaticType in class Iteratorpublic QName getFunctionName()
public XDMIterator[] getAllSubIters()
getAllSubIters in interface XDMIteratorgetAllSubIters in class Iterator
public int getExpressionCategoryType(boolean scripting)
throws MXQueryException
XDMIterator
getExpressionCategoryType in interface XDMIteratorgetExpressionCategoryType in class Iteratorscripting - 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 | ||||||||