Package net.sf.saxon.functions

## Class NotFn

- java.lang.Object
- - net.sf.saxon.functions.AbstractFunction
  - - net.sf.saxon.functions.SystemFunction
    - - net.sf.saxon.functions.NotFn

- All Implemented Interfaces:
    `Callable`, `Function`, `GroundedValue`, `Item`, `Sequence`

      public class NotFn
      extends SystemFunction

  This class supports the XPath functions boolean(), not(), true(), and false()

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `NotFn()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `BooleanValue` | `call​(XPathContext context, Sequence[] arguments)` | Evaluate the expression
    `java.lang.String` | `getCompilerName()` | Get the (local) name of a class that can be used to generate bytecode for this system function
    `java.lang.String` | `getStreamerName()` | Get a name that identifies the class that can be used to evaluate this function in streaming mode, that is, supplying one item or event at a time as it is delivered by the parser.
    `Expression` | `makeFunctionCall​(Expression[] arguments)` | Make an expression that either calls this function, or that is equivalent to a call on this function
    `Expression` | `makeOptimizedFunctionCall​(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo, Expression... arguments)` | Allow the function to create an optimized call based on the values of the actual arguments
    `void` | `supplyTypeInformation​(ExpressionVisitor visitor, ContextItemStaticInfo contextItemType, Expression[] arguments)` | Method called during static type checking.

    - ### Methods inherited from class net.sf.saxon.functions.SystemFunction

      `dependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCardinality, getContextNode, getDescription, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, importAttributes, isTrustedResultType, makeCall, makeFunction, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, 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.Function

      `getGenre`

    - ### 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`

- - ### Constructor Detail

    - #### NotFn

          public NotFn()

  - ### Method Detail

    - #### supplyTypeInformation

          public void supplyTypeInformation​(ExpressionVisitor visitor,
                                            ContextItemStaticInfo contextItemType,
                                            Expression[] arguments)
                                     throws XPathException

      Description copied from class: `SystemFunction`
      Method called during static type checking. This method may be implemented in subclasses so that functions can take advantage of knowledge of the types of the arguments that will be supplied.
      Overrides:
        `supplyTypeInformation` in class `SystemFunction`
      Parameters:
        `visitor` - an expression visitor, providing access to the static context and configuration
        `contextItemType` - information about whether the context item is set, and what its type is
        `arguments` - the expressions appearing as arguments in the function call
      Throws:
        `XPathException`

    - #### call

          public BooleanValue call​(XPathContext context,
                                   Sequence[] arguments)
                            throws XPathException

      Evaluate the expression
      Parameters:
        `context` - the dynamic evaluation context
        `arguments` - the values of the arguments, supplied as Sequences
      Returns:
        the result of the evaluation, in the form of a Sequence
      Throws:
        `XPathException` - if a dynamic error occurs during the evaluation of the expression

    - #### makeFunctionCall

          public Expression makeFunctionCall​(Expression[] arguments)

      Make an expression that either calls this function, or that is equivalent to a call on this function
      Overrides:
        `makeFunctionCall` in class `SystemFunction`
      Parameters:
        `arguments` - the supplied arguments to the function call
      Returns:
        either a function call on this function, or an expression that delivers the same result

    - #### 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:
        `makeOptimizedFunctionCall` in class `SystemFunction`
      Parameters:
        `visitor` - the expression visitor
        `contextInfo` - information about the context item
        `arguments` - 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

    - #### getCompilerName

          public java.lang.String getCompilerName()

      Description copied from class: `SystemFunction`
      Get the (local) name of a class that can be used to generate bytecode for this system function
      Overrides:
        `getCompilerName` in class `SystemFunction`
      Returns:
        the name of a bytecode generation class, or null if there is no bytecode support for this function

    - #### getStreamerName

          public java.lang.String getStreamerName()

      Description copied from class: `SystemFunction`
      Get a name that identifies the class that can be used to evaluate this function in streaming mode, that is, supplying one item or event at a time as it is delivered by the parser. Special streaming support is generally available in Saxon-EE for all system functions that take a sequence as their argument.
      Overrides:
        `getStreamerName` in class `SystemFunction`
      Returns:
        a name that identifies a class that supports streamed evaluation of this system function, or null if no such class is available. The mapping of names to classes is defined in the Saxon-EE class `StreamerMap`. In non-streaming Saxon editions (HE and PE) the method always returns null.