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

## net.sf.saxon.expr.flwor
Class LetClause

    java.lang.Object
      net.sf.saxon.expr.flwor.Clause
          net.sf.saxon.expr.flwor.LetClause

    public class LetClause

extends Clause

A "let" clause in a FLWOR expression

Field Summary

Fields inherited from class net.sf.saxon.expr.flwor.Clause
`COUNT, FOR, GROUPBYCLAUSE, LET, ORDERBYCLAUSE, WHERE, WINDOW`

Constructor Summary
`LetClause()`

Method Summary
`LetClause` | `copy()`
`void` | `explain(ExpressionPresenter out)` Diagnostic print of expression structure.
`void` | `gatherVariableReferences(ExpressionVisitor visitor, Binding binding, List<VariableReference> references)` Build a list of all references to a variables declared in this clause
`int` | `getClauseKey()` Get a keyword identifying what kind of clause this is
`TuplePull` | `getPullStream(TuplePull base, XPathContext context)` Get a tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifies
`TuplePush` | `getPushStream(TuplePush destination, XPathContext context)` Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream
`LocalVariableBinding` | `getRangeVariable()`
`LocalVariableBinding[]` | `getRangeVariables()` Get the number of variables bound by this clause
`Expression` | `getSequence()`
`void` | `processSubExpressions(ExpressionProcessor processor)` Process the subexpressions of this clause
`void` | `refineVariableType(ExpressionVisitor visitor, List<VariableReference> references, Expression returnExpr)` Supply improved type information to the expressions that contain references to the variables declared in this clause
`void` | `refineVariableType(ItemType type, int cardinality, Value constantValue, int properties, ExpressionVisitor visitor)` Provide additional information about the type of the variable, typically derived by analyzing the initializer of the variable binding
`void` | `setRangeVariable(LocalVariableBinding binding)`
`void` | `setSequence(Expression sequence)`
`String` | `toString()`
`void` | `typeCheck(ExpressionVisitor visitor)` Type-check the expression

Methods inherited from class net.sf.saxon.expr.flwor.Clause
`optimize`

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

Constructor Detail

### LetClause

    public LetClause()

Method Detail

### getClauseKey

    public int getClauseKey()

  Description copied from class: `Clause`
  Get a keyword identifying what kind of clause this is

  Specified by:
    `getClauseKey` in class `Clause`
  Returns:
    the kind of clause

### copy

    public LetClause copy()

  Specified by:
    `copy` in class `Clause`

### setSequence

    public void setSequence(Expression sequence)

### getSequence

    public Expression getSequence()

### setRangeVariable

    public void setRangeVariable(LocalVariableBinding binding)

### getRangeVariable

    public LocalVariableBinding getRangeVariable()

### getRangeVariables

    public LocalVariableBinding[] getRangeVariables()

  Get the number of variables bound by this clause

  Overrides:
    `getRangeVariables` in class `Clause`
  Returns:
    the number of variable bindings

### getPullStream

    public TuplePull getPullStream(TuplePull base,
                                   XPathContext context)

  Get a tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifies

  Specified by:
    `getPullStream` in class `Clause`
  Parameters:
    `base` - the input tuple stream
    `context` -
  Returns:
    the output tuple stream

### getPushStream

    public TuplePush getPushStream(TuplePush destination,
                                   XPathContext context)

  Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream

  Specified by:
    `getPushStream` in class `Clause`
  Parameters:
    `destination` - the output tuple stream
    `context` -
  Returns:
    the push tuple stream that implements the functionality of this clause of the FLWOR expression

### processSubExpressions

    public void processSubExpressions(ExpressionProcessor processor)
                               throws XPathException

  Process the subexpressions of this clause

  Specified by:
    `processSubExpressions` in class `Clause`
  Parameters:
    `processor` - the expression processor used to process the subexpressions
  Throws:
    `XPathException` - if any error is detected

### typeCheck

    public void typeCheck(ExpressionVisitor visitor)
                   throws XPathException

  Type-check the expression

  Overrides:
    `typeCheck` in class `Clause`
  Parameters:
    `visitor` - the ExpressionVisitor, providing access to static context information
  Throws:
    `XPathException` - if any error is detected

### gatherVariableReferences

    public void gatherVariableReferences(ExpressionVisitor visitor,
                                         Binding binding,
                                         List<VariableReference> references)

  Description copied from class: `Clause`
  Build a list of all references to a variables declared in this clause

  Overrides:
    `gatherVariableReferences` in class `Clause`
  Parameters:
    `visitor` - the expression visitor
    `binding` - a variable declared in this clause
    `references` - the list of variable references, initially empty, to which the method will append

### refineVariableType

    public void refineVariableType(ExpressionVisitor visitor,
                                   List<VariableReference> references,
                                   Expression returnExpr)

  Description copied from class: `Clause`
  Supply improved type information to the expressions that contain references to the variables declared in this clause

  Overrides:
    `refineVariableType` in class `Clause`
  Parameters:
    `visitor` - the expression visitor
    `references` - the list of variable references
    `returnExpr` - the expression in the return clause

### refineVariableType

    public void refineVariableType(ItemType type,
                                   int cardinality,
                                   Value constantValue,
                                   int properties,
                                   ExpressionVisitor visitor)

  Provide additional information about the type of the variable, typically derived by analyzing the initializer of the variable binding

  Parameters:
    `type` - the item type of the variable
    `cardinality` - the cardinality of the variable
    `constantValue` - the actual value of the variable, if this is known statically, otherwise null
    `properties` - additional static properties of the variable's initializer
    `visitor` - an ExpressionVisitor

### explain

    public void explain(ExpressionPresenter out)

  Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.

  Specified by:
    `explain` in class `Clause`
  Parameters:
    `out` - the expression presenter used to display the structure

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

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-2011 Saxonica Limited. All rights reserved.