Class SightlyCompiler

java.lang.Object
org.apache.sling.scripting.sightly.compiler.SightlyCompiler

public final class SightlyCompiler extends Object

The SightlyCompiler interprets a HTL script and transforms it internally into a CommandStream. The CommandStream can be fed to a BackendCompiler for transforming the stream into executable code, either by transpiling the commands to a JVM supported language or by directly executing them.

  • Constructor Details

    • SightlyCompiler

      public SightlyCompiler()
  • Method Details

    • withKnownExpressionOptions

      public static SightlyCompiler withKnownExpressionOptions(@NotNull @NotNull Set<String> options)

      Returns an instance of the SightlyCompiler with the provided options added to the list of known expression options.

      The compiler builds internally a set of allowed options from the options permitted by the expressions or plugins. As soon as an expression contains an unknown option the compiler logs a warning. Since the compiler works with dynamically registered RuntimeCalls, some of them can work with additional expression options, not known to the compiler.

      NOTE: The data-sly-template, data-sly-call, data-sly-use plugins allow arbitrary options which define parameters and do not generate warnings.

      Parameters:
      options - the options to add to the compiler's set of known expression options
      Returns:
      an instance of the compiler
    • compile

      public CompilationResult compile(CompilationUnit compilationUnit)
      Compiles a CompilationUnit.
      Parameters:
      compilationUnit - a compilation unit
      Returns:
      the compilation result
    • compile

      public CompilationResult compile(CompilationUnit compilationUnit, BackendCompiler backendCompiler)
      Compiles a CompilationUnit, passing the processed CommandStream to the provided BackendCompiler.
      Parameters:
      compilationUnit - a compilation unit
      backendCompiler - the backend compiler
      Returns:
      the compilation result