public abstract class AbstractFunction extends AbstractItem implements Function
Constructor and Description |
---|
AbstractFunction() |
Modifier and Type | Method and Description |
---|---|
AtomicSequence |
atomize()
Atomize the item.
|
boolean |
deepEquals(Function other,
XPathContext context,
AtomicComparer comparer,
int flags)
Test whether this FunctionItem is deep-equal to another function item,
under the rules of the deep-equal function
|
boolean |
effectiveBooleanValue()
Get the effective boolean value of the function item
|
void |
export(ExpressionPresenter out)
Output information about this function item to the diagnostic explain() output
|
OperandRole[] |
getOperandRoles()
Get the roles of the arguments, for the purposes of streaming
|
String |
getStringValue()
Get the string value of the function
|
CharSequence |
getStringValueCS()
Get the string value of the function
|
boolean |
isArray()
Ask whether this function is an array
|
boolean |
isMap()
Ask whether this function is a map
|
void |
optimize(ExpressionVisitor visitor,
ContextItemStaticInfo contextItemType)
Optimize the function (may modify it)
|
void |
simplify() |
void |
typeCheck(ExpressionVisitor visitor,
ContextItemStaticInfo contextItemType)
Type check the function (may modify it by adding code for converting the arguments)
|
getLength, head, itemAt, iterate, reduce, subsequence
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
call, getArity, getDescription, getFunctionItemType, getFunctionName, iterate
getLength, head, itemAt, reduce, subsequence
public OperandRole[] getOperandRoles()
getOperandRoles
in interface Function
public AtomicSequence atomize() throws XPathException
atomize
in interface Item
XPathException
- if atomization is not allowed for this kind of itempublic boolean isArray()
public boolean isMap()
public String getStringValue()
getStringValue
in interface GroundedValue
getStringValue
in interface Item
UnsupportedOperationException
- (the string value of a function is not defined)Item.getStringValueCS()
public CharSequence getStringValueCS()
getStringValueCS
in interface GroundedValue
getStringValueCS
in interface Item
UnsupportedOperationException
- (the string value of a function is not defined)Item.getStringValue()
public boolean effectiveBooleanValue() throws XPathException
effectiveBooleanValue
in interface GroundedValue
XPathException
- (the EBVof a function item is not defined)public void simplify() throws XPathException
XPathException
public void typeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextItemType) throws XPathException
visitor
- the expression visitor, supplies context informationcontextItemType
- the context item type at the point where the function definition appearsXPathException
- if any failure (e.g. a type checking failure) occurspublic void optimize(ExpressionVisitor visitor, ContextItemStaticInfo contextItemType) throws XPathException
visitor
- the expression visitor, supplies context informationcontextItemType
- the context item type at the point where the function definition appearsXPathException
- if any failure occurspublic boolean deepEquals(Function other, XPathContext context, AtomicComparer comparer, int flags) throws XPathException
deepEquals
in interface Function
other
- the other function itemcontext
- the dynamic evaluation contextcomparer
- the object to perform the comparisonflags
- options for how the comparison is performedXPathException
- if the comparison cannot be performedpublic void export(ExpressionPresenter out)
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.