Package net.sf.saxon.functions
Class StringJoin
- java.lang.Object
-
- net.sf.saxon.functions.AbstractFunction
-
- net.sf.saxon.functions.SystemFunction
-
- net.sf.saxon.functions.FoldingFunction
-
- net.sf.saxon.functions.StringJoin
-
- All Implemented Interfaces:
Callable,PushableFunction,Function,GroundedValue,Item,Sequence
public class StringJoin extends FoldingFunction implements PushableFunction
fn:string-join(string* $sequence, string $separator)
-
-
Constructor Summary
Constructors Constructor Description StringJoin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)Determine whether two expressions are equivalentintgetCardinality(Expression[] arguments)Determine the cardinality of the function.java.lang.StringgetCompilerName()Get the (local) name of a class that can be used to generate bytecode for this system functionFoldgetFold(XPathContext context, Sequence... additionalArguments)Create the Fold object which actually performs the evaluation.booleanisReturnEmptyIfEmpty()ExpressionmakeOptimizedFunctionCall(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo, Expression... arguments)Allow the function to create an optimized call based on the values of the actual argumentsvoidprocess(Outputter destination, XPathContext context, Sequence[] arguments)Evaluate the function in "push" modevoidsetReturnEmptyIfEmpty(boolean option)Indicate that when the input sequence (first argument) is empty, the function should return an empty sequence rather than an empty string-
Methods inherited from class net.sf.saxon.functions.FoldingFunction
call, getStreamerName
-
Methods inherited from class net.sf.saxon.functions.SystemFunction
dependsOnContextItem, dynamicCall, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getContextNode, getDescription, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, importAttributes, isTrustedResultType, makeCall, makeFunction, makeFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCaller
-
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEquals, effectiveBooleanValue, getAnnotations, getStringValue, getStringValueCS, isArray, isMap, makeNewContext, simplify, typeCheck
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
-
Methods inherited from interface net.sf.saxon.om.Item
getLength, head, isStreamed, itemAt, iterate, reduce, subsequence
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
-
-
-
Method Detail
-
setReturnEmptyIfEmpty
public void setReturnEmptyIfEmpty(boolean option)
Indicate that when the input sequence (first argument) is empty, the function should return an empty sequence rather than an empty string- Parameters:
option- true if an empty sequence should be returned when the input is an empty sequence.
-
isReturnEmptyIfEmpty
public boolean isReturnEmptyIfEmpty()
-
getCardinality
public int getCardinality(Expression[] arguments)
Determine the cardinality of the function.- Overrides:
getCardinalityin classSystemFunction- Parameters:
arguments- the actual arguments supplied- Returns:
- the most precise available cardinality that the function will return
-
equals
public boolean equals(java.lang.Object o)
Determine whether two expressions are equivalent- Overrides:
equalsin classSystemFunction
-
makeOptimizedFunctionCall
public Expression makeOptimizedFunctionCall(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo, Expression... arguments) throws XPathException
Allow the function to create an optimized call based on the values of the actual arguments- Overrides:
makeOptimizedFunctionCallin classSystemFunction- Parameters:
visitor- the expression visitorcontextInfo- information about the context itemarguments- the supplied arguments to the function call- Returns:
- either a function call on this function, or an expression that delivers the same result, or null indicating that no optimization has taken place
- Throws:
XPathException- if an error is detected
-
getFold
public Fold getFold(XPathContext context, Sequence... additionalArguments) throws XPathException
Description copied from class:FoldingFunctionCreate the Fold object which actually performs the evaluation. Must be implemented in every subclass.- Specified by:
getFoldin classFoldingFunction- Parameters:
context- the dynamic evaluation contextadditionalArguments- the values of all arguments other than the first.- Returns:
- the Fold object used to compute the function
- Throws:
XPathException- if a dynamic error occurs
-
process
public void process(Outputter destination, XPathContext context, Sequence[] arguments) throws XPathException
Description copied from interface:PushableFunctionEvaluate the function in "push" mode- Specified by:
processin interfacePushableFunction- Parameters:
destination- the destination for the function resultcontext- the dynamic evaluation contextarguments- the supplied arguments to the function- Throws:
XPathException- if a dynamic error occurs during the evaluation
-
getCompilerName
public java.lang.String getCompilerName()
Description copied from class:SystemFunctionGet the (local) name of a class that can be used to generate bytecode for this system function- Overrides:
getCompilerNamein classSystemFunction- Returns:
- the name of a bytecode generation class, or null if there is no bytecode support for this function
-
-