## com.saxonica.codegen
Class SingletonExpressionCompiler

    java.lang.Object
      com.saxonica.codegen.ExpressionCompiler
          com.saxonica.codegen.SingletonExpressionCompiler

Direct Known Subclasses:
  AdjustCompiler, AggregateCompiler, ArithmeticCompiler, BaseURICompiler, BooleanFnCompiler, CastExpressionCompiler, CodepointsToStringCompiler, CompareCompiler, ComponentCompiler, ConcatCompiler, CurrentDateTimeCompiler, DateTimeConstructorCompiler, DocCompiler, DocumentInstrCompiler, EscapeURICompiler, FirstItemExpressionCompiler, ForceCaseCompiler, ItemAtCompiler, LastCompiler, LastItemExpressionCompiler, MinimaxCompiler, NamePartCompiler, NamespaceForPrefixCompiler, NegateExpressionCompiler, NormalizeSpaceCompiler, NormalizeUnicodeCompiler, NumberFnCompiler, PositionCompiler, QNameFnCompiler, QuerySimpleContentCompiler, ReplaceCompiler, ResolveQNameCompiler, ResolveURICompiler, RootFunctionCompiler, RoundingCompiler, SingletonAtomizerCompiler, StringFnCompiler, StringJoinCompiler, StringLengthCompiler, SubstringCompiler, TranslateCompiler, TreatFnCompiler, TupleExpressionCompiler

    public abstract class SingletonExpressionCompiler

extends ExpressionCompiler

Generate Java code for an expression that returns a single value. This abstract class provide generic methods used when compiling sequences.

Constructor Summary
`SingletonExpressionCompiler()`

Method Summary
`void` `compilePush(CompilerService compiler, Expression exp)` Generate Java code to execute the expression in push mode, that is, code to write events to the current output Receiver
`java.lang.String` `compileToCharSequence(CompilerService compiler, Expression expr)` Generate Java code to evaluate the expression as a CharSequence
`java.lang.String` `compileToEffectiveBooleanValue(CompilerService compiler, Expression expr, ReturnAction options)` Generate Java code to evaluate the effective boolean value of the expression
`java.lang.String` `compileToIterator(CompilerService compiler, Expression exp)` Generate Java code to evaluate the expression as a SequenceIterator

Methods inherited from class com.saxonica.codegen.ExpressionCompiler
`compileAsLoop, compileToItem, compileToValueRepresentation`

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

Constructor Detail

### SingletonExpressionCompiler

    public SingletonExpressionCompiler()

Method Detail

### compilePush

    public void compilePush(CompilerService compiler,
                            Expression exp)

  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

  Specified by:
    `compilePush` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `exp` - the expression to be compiled

### compileToIterator

    public java.lang.String compileToIterator(CompilerService compiler,
                                              Expression exp)

  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
    `exp` - 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

### compileToEffectiveBooleanValue

    public java.lang.String compileToEffectiveBooleanValue(CompilerService compiler,
                                                           Expression expr,
                                                           ReturnAction options)

  Description copied from class: `ExpressionCompiler`
  Generate Java code to evaluate the effective boolean value of the expression

  Specified by:
    `compileToEffectiveBooleanValue` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expr` - the XPath expression to be compiled
    `options` - indicates how the boolean result is to be returned
  Returns:
    the result depends on the supplied value of the options argument. If options is a JavaDeclaration, the code must declare a Java variable and return the name of this variable. If options is a JavaAssignment, the code must assign the value to an existing Java variable. If options is a Return, the code must generate a return statement that returns the value of the boolean (in which case the result of this method is null).

### compileToCharSequence

    public java.lang.String compileToCharSequence(CompilerService compiler,
                                                  Expression expr)

  Description copied from class: `ExpressionCompiler`
  Generate Java code to evaluate the expression as a CharSequence

  Specified by:
    `compileToCharSequence` 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, or a string literal) which will be of class `CharSequence`, and which will hold the string value of the XPath expression at run-time

Copyright (c) Saxonica Limited. All rights reserved.