Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.saxonica.codegen
Class ForEachCompiler

    java.lang.Object
      com.saxonica.codegen.ExpressionCompiler
          com.saxonica.codegen.SequenceExpressionCompiler
              com.saxonica.codegen.ForEachCompiler

    public class ForEachCompiler

extends SequenceExpressionCompiler

Generate Java code to evaluate a simple mapping expression (that is, the "/" operator, when the expression on the rhs is known to return atomic values). This appears on the expression tree as an xsl:for-each instruction, since the semantics are identical.

Constructor Summary
`ForEachCompiler()`

Method Summary
`void` | `compileAsLoop(CompilerService compiler, Expression expr, LoopAction action)` Compile an XPath 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

Methods inherited from class com.saxonica.codegen.SequenceExpressionCompiler
`compileToEffectiveBooleanValue, compileToItem`

Methods inherited from class com.saxonica.codegen.ExpressionCompiler
`compileToCharSequence, compileToValueRepresentation, getConfiguration, makeExpressionCompiler, setConfiguration`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ForEachCompiler

    public ForEachCompiler()

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)

  Description copied from class: `ExpressionCompiler`
  Compile an XPath expression in the form of a loop. This generates Java code that loops over the items in the result of the expression; the body of the loop is constructed by a callback to the supplied LoopAction (which will handle nested expressions)

  Overrides:
    `compileAsLoop` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the CompilerService
    `expr` - the XPath expression to be compiled
    `action` - the action to be taken to compile code that processes each item in the sequence returned by the XPath expression

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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