net.sf.saxon.functions

## Class Component

- java.lang.Object
- - net.sf.saxon.expr.Expression
  - - net.sf.saxon.expr.FunctionCall
    - - net.sf.saxon.functions.SystemFunctionCall
      - - net.sf.saxon.functions.Component

- All Implemented Interfaces:
    Serializable, SourceLocator, LocationProvider, SaxonLocator, Callable, InstructionInfo, Locator

      public class Component
      extends SystemFunctionCall

  This class supports the get_X_from_Y functions defined in XPath 2.0
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DAY`
    `static int` | `HOURS`
    `static int` | `LOCALNAME`
    `static int` | `MICROSECONDS`
    `static int` | `MINUTES`
    `static int` | `MONTH`
    `static int` | `NAMESPACE`
    `static int` | `PREFIX`
    `static int` | `SECONDS`
    `static int` | `TIMEZONE`
    `static int` | `WHOLE_SECONDS`
    `static int` | `YEAR`
    `static int` | `YEAR_ALLOWING_ZERO`

    - ### Fields inherited from class net.sf.saxon.functions.SystemFunctionCall

      `operation`

    - ### Fields inherited from class net.sf.saxon.expr.FunctionCall

      `argument`

    - ### Fields inherited from class net.sf.saxon.expr.Expression

      `EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, INHERITED_CONTEXT, INSPECTION_CONTEXT, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, NAVIGATION_CONTEXT, NODE_VALUE_CONTEXT, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, W3C_CONSUMING, W3C_FREE_RANGING, W3C_GROUP_CONSUMING, W3C_MOTIONLESS, WATCH_METHOD`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Component()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Sequence` | `call(XPathContext context, Sequence[] arguments)` Evaluate the expression
    `Expression` | `copy()` Copy an expression.
    `AtomicValue` | `evaluateItem(XPathContext context)` Evaluate the expression
    `ExpressionCompiler` | `getExpressionCompiler()` Return the compiler of the Component expression
    `IntegerValue[]` | `getIntegerBounds()` For an expression that returns an integer or a sequence of integers, get a lower and upper bound on the values of the integers that may be returned, from static analysis.
    `int` | `getRequiredComponent()` Get the required component
    `String` | `getRequiredComponentAsString()` Get the required component name as a string
    `void` | `setDetails(StandardFunction.Entry entry)` Set the details of this type of function

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

      `addContextDocumentArgument, addDocToPathMap, bindStaticContext, checkArguments, computeCardinality, computeSpecialProperties, equalOrNull, equals, getContextNode, getConvertingCallable, getDefaultArgumentNode, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getImplementationMethod, getItemType, getOperation, getRequiredType, iterateSubExpressionInfo, makeSystemFunction, optimize, useContextItemAsDefault`

    - ### Methods inherited from class net.sf.saxon.expr.FunctionCall

      `addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck`

    - ### Methods inherited from class net.sf.saxon.expr.Expression

      `addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getStreamability, getStreamingAdjunct, getSystemId, getSystemId, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toPattern, toStreamingPattern, typeError`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### YEAR

          public static final int YEAR

      See Also:
        Constant Field Values

    - #### MONTH

          public static final int MONTH

      See Also:
        Constant Field Values

    - #### DAY

          public static final int DAY

      See Also:
        Constant Field Values

    - #### HOURS

          public static final int HOURS

      See Also:
        Constant Field Values

    - #### MINUTES

          public static final int MINUTES

      See Also:
        Constant Field Values

    - #### SECONDS

          public static final int SECONDS

      See Also:
        Constant Field Values

    - #### TIMEZONE

          public static final int TIMEZONE

      See Also:
        Constant Field Values

    - #### LOCALNAME

          public static final int LOCALNAME

      See Also:
        Constant Field Values

    - #### NAMESPACE

          public static final int NAMESPACE

      See Also:
        Constant Field Values

    - #### PREFIX

          public static final int PREFIX

      See Also:
        Constant Field Values

    - #### MICROSECONDS

          public static final int MICROSECONDS

      See Also:
        Constant Field Values

    - #### WHOLE_SECONDS

          public static final int WHOLE_SECONDS

      See Also:
        Constant Field Values

    - #### YEAR_ALLOWING_ZERO

          public static final int YEAR_ALLOWING_ZERO

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Component

          public Component()

  - ### Method Detail

    - #### setDetails

          public void setDetails(StandardFunction.Entry entry)

      Set the details of this type of function
      Overrides:
        `setDetails` in class `SystemFunctionCall`
      Parameters:
        `entry` - information giving details of the function signature

    - #### getIntegerBounds

          public IntegerValue[] getIntegerBounds()

      For an expression that returns an integer or a sequence of integers, get a lower and upper bound on the values of the integers that may be returned, from static analysis. The default implementation returns null, meaning "unknown" or "not applicable". Other implementations return an array of two IntegerValue objects, representing the lower and upper bounds respectively. The values UNBOUNDED_LOWER and UNBOUNDED_UPPER are used by convention to indicate that the value may be arbitrarily large. The values MAX_STRING_LENGTH and MAX_SEQUENCE_LENGTH are used to indicate values limited by the size of a string or the size of a sequence.
      Overrides:
        `getIntegerBounds` in class `Expression`
      Returns:
        the lower and upper bounds of integer values in the result, or null to indicate unknown or not applicable.

    - #### getRequiredComponent

          public int getRequiredComponent()

      Get the required component

    - #### getRequiredComponentAsString

          public String getRequiredComponentAsString()

      Get the required component name as a string

    - #### evaluateItem

          public AtomicValue evaluateItem(XPathContext context)
                                   throws XPathException

      Evaluate the expression
      Overrides:
        `evaluateItem` in class `Expression`
      Parameters:
        `context` - The context in which the expression is to be evaluated
      Returns:
        the node or atomic value that results from evaluating the expression; or null to indicate that the result is an empty sequence
      Throws:
        `XPathException` - if any dynamic error occurs evaluating the expression

    - #### copy

          public Expression copy()

      Copy an expression. This makes a deep copy.
      Overrides:
        `copy` in class `SystemFunctionCall`
      Returns:
        the copy of the original expression

    - #### call

          public Sequence 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

    - #### getExpressionCompiler

          public ExpressionCompiler getExpressionCompiler()

      Return the compiler of the Component expression
      Overrides:
        `getExpressionCompiler` in class `Expression`
      Returns:
        the relevant ExpressionCompiler

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.