net.sf.saxon.functions
Class SystemFunction

java.lang.Object
  extended bynet.sf.saxon.expr.ComputedExpression
      extended bynet.sf.saxon.expr.FunctionCall
          extended bynet.sf.saxon.functions.SystemFunction
All Implemented Interfaces:
Expression, Serializable
Direct Known Subclasses:
Adjust, Aggregate, Available, BaseURI, BooleanFn, CollatingFunction, Collection, CompileTimeFunction, Component, Concat, Current, CurrentDateTime, CurrentGroup, Doc, Document, Error, EscapeURI, Evaluate, Existence, ForceCase, FormatDate, FormatNumber, FormatNumber2, Id, Idref, InScopeNamespaces, Insert, Key, Lang, Last, Matches, NamePart, NamespaceForPrefix, NormalizeSpace, NumberFn, Parse, Position, QNameFn, RegexGroup, Remove, Replace, ResolveQName, ResolveURI, Root, Rounding, Serialize, StringFn, StringJoin, StringLength, Subsequence, Substring, SystemProperty, Tokenize, Trace, Translate, TreatFn, Unicode, UnparsedEntity, UnparsedText

public abstract class SystemFunction
extends FunctionCall

Abstract superclass for system-defined and user-defined functions

See Also:
Serialized Form

Field Summary
protected  int operation
           
 
Fields inherited from class net.sf.saxon.expr.FunctionCall
argument
 
Fields inherited from class net.sf.saxon.expr.ComputedExpression
lineNumber, NO_ARGUMENTS, staticProperties
 
Constructor Summary
SystemFunction()
           
 
Method Summary
protected  void addContextDocumentArgument(int pos, String augmentedName)
          Add an implicit argument referring to the context document.
 void checkArguments(StaticContext env)
          Method called during static type checking
 int computeCardinality()
          Determine the cardinality of the function.
 void display(int level, NamePool pool)
          Diagnostic print of expression structure
protected  StandardFunction.Entry getDetails()
          Get the details
 ItemType getItemType()
          Determine the item type of the value returned by the function
 String getName()
          Get the name of the function.
protected  SequenceType getRequiredType(int arg)
          Get the required type of the nth argument
static void main(String[] args)
          The main() method of this class is not intended to be called, it merely tells the code inspection tools in IDEA that the constructors of each function class are actual entry points
static FunctionCall makeSystemFunction(String name)
          Make a system function (one in the standard function namespace).
protected  void useContextItemAsDefault()
          Set "." as the default value for the first and only argument.
 
Methods inherited from class net.sf.saxon.expr.FunctionCall
analyze, checkArgumentCount, getNumberOfArguments, getSubExpressions, preEvaluate, promote, setArguments, simplify, simplifyArguments
 
Methods inherited from class net.sf.saxon.expr.ComputedExpression
computeDependencies, computeSpecialProperties, computeStaticProperties, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getDependencies, getIntrinsicDependencies, getLineNumber, getSpecialProperties, iterate, markTailFunctionCalls, setLineNumber, typeError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

operation

protected int operation
Constructor Detail

SystemFunction

public SystemFunction()
Method Detail

makeSystemFunction

public static FunctionCall makeSystemFunction(String name)
                                       throws XPathException
Make a system function (one in the standard function namespace).

Parameters:
name - The local name of the function
Returns:
a FunctionCall that implements this function, if it exists, or null if the function is unknown.
Throws:
XPathException

getDetails

protected StandardFunction.Entry getDetails()
Get the details


checkArguments

public void checkArguments(StaticContext env)
                    throws XPathException
Method called during static type checking

Specified by:
checkArguments in class FunctionCall
Throws:
XPathException

getRequiredType

protected SequenceType getRequiredType(int arg)
Get the required type of the nth argument


getName

public String getName()
Get the name of the function.

Specified by:
getName in class FunctionCall
Returns:
the name of the function, as used in XPath expressions, but excluding its namespace prefix

getItemType

public ItemType getItemType()
Determine the item type of the value returned by the function

Returns:
a value such as Type.STRING, Type.BOOLEAN, Type.NUMBER, Type.NODE, or Type.ITEM (meaning not known at compile time)

computeCardinality

public int computeCardinality()
Determine the cardinality of the function.

Specified by:
computeCardinality in class ComputedExpression

useContextItemAsDefault

protected final void useContextItemAsDefault()
                                      throws XPathException
Set "." as the default value for the first and only argument. Called from subclasses.

Throws:
XPathException

addContextDocumentArgument

protected final void addContextDocumentArgument(int pos,
                                                String augmentedName)
                                         throws XPathException
Add an implicit argument referring to the context document. Called by functions such as id() and key() that take the context document as an implicit argument

Throws:
XPathException

display

public void display(int level,
                    NamePool pool)
Diagnostic print of expression structure

Specified by:
display in interface Expression
Overrides:
display in class FunctionCall

main

public static void main(String[] args)
                 throws Exception
The main() method of this class is not intended to be called, it merely tells the code inspection tools in IDEA that the constructors of each function class are actual entry points

Throws:
Exception