com.icl.saxon.functions

## Class StartsWith

- java.lang.Object
- - com.icl.saxon.expr.Expression
  - - com.icl.saxon.expr.Function
    - - com.icl.saxon.functions.StartsWith

-     public class StartsWith
      extends Function

- - ### Field Summary

    - ### Fields inherited from class com.icl.saxon.expr.Function

      `argument`

    - ### Fields inherited from class com.icl.saxon.expr.Expression

      `staticContext`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StartsWith()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Value` | `evaluate(Context c)` Evaluate in a general context
    `boolean` | `evaluateAsBoolean(Context c)` Evaluate the function in a boolean context
    `int` | `getDataType()` Determine the data type of the expression
    `int` | `getDependencies()` Determine the dependencies
    `java.lang.String` | `getName()` Function name (for diagnostics)
    `Expression` | `reduce(int dep, Context c)` Reduce the dependencies
    `Expression` | `simplify()` Simplify and validate.

    - ### Methods inherited from class com.icl.saxon.expr.Function

      `addArgument, checkArgumentCount, display, getNumberOfArguments`

    - ### Methods inherited from class com.icl.saxon.expr.Expression

      `containsReferences, enumerate, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, setStaticContext, usesCurrent`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StartsWith

          public StartsWith()

  - ### Method Detail

    - #### getName

          public java.lang.String getName()

      Function name (for diagnostics)
      Specified by:
        `getName` in class `Function`
      Returns:
        the name of the function, as used in XSL expressions, but excluding its namespace prefix

    - #### getDataType

          public int getDataType()

      Determine the data type of the expression
      Specified by:
        `getDataType` in class `Expression`
      Returns:
        Value.BOOLEAN

    - #### simplify

          public Expression simplify()
                              throws XPathException

      Simplify and validate. This is a pure function so it can be simplified in advance if the arguments are known
      Overrides:
        `simplify` in class `Expression`
      Returns:
        the simplified expression
      Throws:
        `XPathException`

    - #### evaluateAsBoolean

          public boolean evaluateAsBoolean(Context c)
                                    throws XPathException

      Evaluate the function in a boolean context
      Overrides:
        `evaluateAsBoolean` in class `Expression`
      Parameters:
        `c` - The context in which the expression is to be evaluated
      Returns:
        the value of the expression, evaluated in the current context
      Throws:
        `XPathException`

    - #### evaluate

          public Value evaluate(Context c)
                         throws XPathException

      Evaluate in a general context
      Specified by:
        `evaluate` in class `Expression`
      Parameters:
        `c` - The context in which the expression is to be evaluated
      Returns:
        the value of the expression, evaluated in the current context
      Throws:
        `XPathException`

    - #### getDependencies

          public int getDependencies()

      Determine the dependencies
      Specified by:
        `getDependencies` in class `Expression`

    - #### reduce

          public Expression reduce(int dep,
                          Context c)
                            throws XPathException

      Reduce the dependencies
      Specified by:
        `reduce` in class `Expression`
      Parameters:
        `dep` - The dependencies to be removed, e.g. Context.VARIABLES
        `c` - The context to be used for the partial evaluation
      Returns:
        a new expression (or Value) that does not have any of the specified dependencies
      Throws:
        `XPathException`