## com.saxonica.codegen
Class StringJoinCompiler

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

    public class StringJoinCompiler

extends SingletonExpressionCompiler

Generate Java code to implement the string-join function

Constructor Summary
`StringJoinCompiler()`

Method Summary
`void` `compileAsLoop(CompilerService compiler, Expression expr, LoopAction action)` Compile an expression in the form of a loop.
`String` `compileToCharSequence(CompilerService compiler, Expression expr)` Generate Java code to evaluate the expression as a CharSequence
`String` `compileToCharSequenceOLD(CompilerService compiler, Expression expr)` Compile Java code whose effect is to compute the string value of the expression; the generated code returns a CharSequence.
`String` `compileToItem(CompilerService compiler, Expression expr)` Generate Java code to evaluate the expression as an Item

Methods inherited from class com.saxonica.codegen.SingletonExpressionCompiler
`compilePush, compileToEffectiveBooleanValue, compileToIterator`

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

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

Constructor Detail

### StringJoinCompiler

    public StringJoinCompiler()

Method Detail

### compileToItem

    public String compileToItem(CompilerService compiler,
                                Expression expr)

  Description copied from class: `ExpressionCompiler`
  Generate Java code to evaluate the expression as an Item

  Specified by:
    `compileToItem` 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 `Item`, and which will hold the value of the expression at run-time (or hold null, representing an empty sequence).

### compileToCharSequenceOLD

    public String compileToCharSequenceOLD(CompilerService compiler,
                                           Expression expr)

  Compile Java code whose effect is to compute the string value of the expression; the generated code returns a CharSequence. This method must only be called for an expression that is known to return a value of type xs:string

  Parameters:
    `expr` - The expression to be compiled
  Returns:
    the name of a variable to which the resulting CharSequence is assigned.

### compileToCharSequence

    public String compileToCharSequence(CompilerService compiler,
                                        Expression expr)

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

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

### compileAsLoop

    public void compileAsLoop(CompilerService compiler,
                              Expression expr,
                              LoopAction action)

  Compile an expression in the form of a loop. Default implementation.

  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

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