Class GlobalVariableReference.GlobalVariableReferenceElaborator

    • Constructor Detail

      • GlobalVariableReferenceElaborator

        public GlobalVariableReferenceElaborator()
    • Method Detail

      • evaluate

        public Sequence evaluate​(XPathContext context)
                          throws XPathException
        Evaluate a construct to produce a value (which might be a lazily evaluated Sequence)
        Specified by:
        evaluate in interface SequenceEvaluator
        Parameters:
        context - the evaluation context
        Returns:
        a Sequence (not necessarily grounded)
        Throws:
        XPathException - if a dynamic error occurs during the evaluation.
      • eagerly

        public SequenceEvaluator eagerly()
        Description copied from class: Elaborator
        Get a function that evaluates the underlying expression eagerly
        Overrides:
        eagerly in class PullElaborator
        Returns:
        an evaluator for the expression that returns a GroundedValue. The class SequenceEvaluator is declared to return a Sequence not a GroundedValue; we can't specialize it because it's a limitation of C# delegates, but the result can safely be cast to GroundedValue.
      • lazily

        public SequenceEvaluator lazily​(boolean repeatable,
                                        boolean lazyEvaluationRequired)
        Description copied from class: Elaborator
        Get a function that evaluates the underlying expression lazily
        Overrides:
        lazily in class Elaborator
        Parameters:
        repeatable - true if the resulting Sequence must be usable repeatedly; false if it only needs to be used once
        lazyEvaluationRequired - true if the expression MUST be evaluated lazily, for example to prevent spurious errors or side-effects if it has been lifted out of a loop
        Returns:
        an evaluator for the expression that returns a Sequence (which may be a lazy sequence)
      • elaborateForPush

        public PushEvaluator elaborateForPush()
        Description copied from class: Elaborator
        Get a function that evaluates the underlying expression in push mode, by writing events to an Outputter
        Overrides:
        elaborateForPush in class PullElaborator
        Returns:
        an evaluator for the expression in push mode
      • elaborateForItem

        public ItemEvaluator elaborateForItem()
        Description copied from class: Elaborator
        Get a function that evaluates the underlying expression in the form of a Item. This must only be called for expressions whose result has cardinality zero or one.
        Overrides:
        elaborateForItem in class PullElaborator
        Returns:
        an evaluator for the expression that returns an Item, or null to represent an empty sequence.