com.saxonica.codegen
Class ForExpressionCompiler

java.lang.Object
  extended by com.saxonica.codegen.ExpressionCompiler
      extended by com.saxonica.codegen.SequenceExpressionCompiler
          extended by com.saxonica.codegen.ForExpressionCompiler

public class ForExpressionCompiler
extends SequenceExpressionCompiler

Compile code to implement a "for" expression (for $x in sequence return action)


Constructor Summary
ForExpressionCompiler()
           
 
Method Summary
 void compileAsLoop(CompilerService compiler, Expression expr, LoopAction action)
          Compile an expression in the form of a loop.
 void compilePush(CompilerService compiler, Expression expr)
          Generate Java code to execute the expression in push mode, that is, code to write events to the current output Receiver
 String compileToIterator(CompilerService compiler, Expression expr)
          Generate Java code to evaluate the expression as a SequenceIterator
 String compileToValueRepresentation(CompilerService compiler, Expression expr)
          Generate Java code to evaluate the expression as a ValueRepresentation
 
Methods inherited from class com.saxonica.codegen.SequenceExpressionCompiler
compileToCharSequence, compileToEffectiveBooleanValue, compileToItem
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ForExpressionCompiler

public ForExpressionCompiler()
Method Detail

compileToIterator

public String compileToIterator(CompilerService compiler,
                                Expression expr)
Description copied from class: ExpressionCompiler
Generate Java code to evaluate the expression as a SequenceIterator

Specified by:
compileToIterator in class ExpressionCompiler
Parameters:
compiler - the compiler service
expr - the XPath expression to be compiled
Returns:
a simple Java expression (usually the name of a variable that has been declared) which will be of class SequenceIterator, and which at run-time will hold an iterator over the the value of the XPath expression

compilePush

public void compilePush(CompilerService compiler,
                        Expression expr)
Description copied from class: ExpressionCompiler
Generate Java code to execute the expression in push mode, that is, code to write events to the current output Receiver

Overrides:
compilePush in class SequenceExpressionCompiler
Parameters:
compiler - the compiler service
expr - the expression to be compiled

compileAsLoop

public void compileAsLoop(CompilerService compiler,
                          Expression expr,
                          LoopAction action)
Compile an expression in the form of a loop.

Overrides:
compileAsLoop in class ExpressionCompiler
Parameters:
compiler - the CompilerService
expr - the expression to be compiled
action - the action to be taken to process each item in the sequence returned by the expression

compileToValueRepresentation

public String compileToValueRepresentation(CompilerService compiler,
                                           Expression expr)
Description copied from class: ExpressionCompiler
Generate Java code to evaluate the expression as a ValueRepresentation

Overrides:
compileToValueRepresentation in class ExpressionCompiler
Parameters:
compiler - the compiler service
expr - the expression to be compiled
Returns:
a simple Java expression (usually the name of a variable that has been declared) which will be of class ValueRepresentation, and which at run-time will hold the value of the expression


Copyright (C) Michael H. Kay. All rights reserved.