# Preview API

Show preview API for:

- 430: String Templates (Preview)
- 445: Unnamed Classes and Instance Main Methods (Preview)
- 446: Scoped Values (Preview)
- 453: Structured Concurrency (Preview)

## Contents

- Interfaces
- Classes
- Enum Classes
- Exception Classes
- Fields
- Methods
- Enum Constants

- Interfaces
  Interface
  Preview Feature
  Description
  com.sun.source.tree.StringTemplateTreePREVIEW
  String Templates
  A tree node for a string template expression.
  java.lang.StringTemplatePREVIEW
  String Templates
  `StringTemplate`PREVIEW is the run-time representation of a string template or text block template in a template expression.
  java.lang.StringTemplate.ProcessorPREVIEW
  String Templates
  This interface describes the methods provided by a generalized string template processor.
  java.lang.StringTemplate.Processor.LinkagePREVIEW
  String Templates
  Built-in policies using this additional interface have the flexibility to specialize the composition of the templated string by returning a customized `MethodHandle` from `linkage`PREVIEW.
  java.util.concurrent.StructuredTaskScope.SubtaskPREVIEW
  Structured Concurrency
  Represents a subtask forked with `StructuredTaskScope.fork(Callable)`PREVIEW.

- Classes
  Class
  Preview Feature
  Description
  java.lang.runtime.TemplateRuntimePREVIEW
  String Templates
  Manages string template bootstrap methods.
  java.lang.ScopedValuePREVIEW
  Scoped Values
  A value that may be safely and efficiently shared to methods without using method parameters.
  java.lang.ScopedValue.CarrierPREVIEW
  Scoped Values
  A mapping of scoped values, as keys, to values.
  java.util.concurrent.StructuredTaskScopePREVIEW
  Structured Concurrency
  A basic API for structured concurrency.
  java.util.concurrent.StructuredTaskScope.ShutdownOnFailurePREVIEW
  Structured Concurrency
  A `StructuredTaskScope` that captures the exception of the first subtask to failPREVIEW.
  java.util.concurrent.StructuredTaskScope.ShutdownOnSuccessPREVIEW
  Structured Concurrency
  A `StructuredTaskScope` that captures the result of the first subtask to complete successfullyPREVIEW.
  java.util.FormatProcessorPREVIEW
  String Templates
  This `StringTemplate.Processor`PREVIEW constructs a `String` result using `Formatter` specifications and values found in the `StringTemplate`PREVIEW.

- Enum Classes
  Enum Class
  Preview Feature
  Description
  java.util.concurrent.StructuredTaskScope.Subtask.StatePREVIEW
  Structured Concurrency
  Represents the state of a subtask.

- Exception Classes
  Exception Class
  Preview Feature
  Description
  java.util.concurrent.StructureViolationExceptionPREVIEW
  Structured Concurrency
  Thrown when a structure violation is detected.

- Fields
  Field
  Preview Feature
  Description
  java.lang.invoke.StringConcatFactory.MAX_INDY_CONCAT_ARG_SLOTSPREVIEW
  String Templates
  Maximum number of argument slots in String Concat call.

- Methods
  Method
  Preview Feature
  Description
  com.sun.source.tree.TreeVisitor.visitStringTemplate(StringTemplateTree, P)PREVIEW
  String Templates
  Visits a StringTemplateTree node.
  com.sun.source.util.SimpleTreeVisitor.visitStringTemplate(StringTemplateTree, P)PREVIEW
  String Templates
  Visits a StringTemplateTree node.
  com.sun.source.util.TreeScanner.visitStringTemplate(StringTemplateTree, P)PREVIEW
  String Templates
  Visits a StringTemplateTree node.
  java.lang.Class.isUnnamedClass()PREVIEW
  Unnamed Classes and Instance Main Methods
  Returns `true` if and only if the underlying class is an unnamed class.
  java.lang.invoke.StringConcatFactory.makeConcatWithTemplate(List<String>, List<Class<?>>)PREVIEW
  String Templates
  Simplified concatenation method to facilitate `StringTemplate`PREVIEW concatenation.
  java.lang.invoke.StringConcatFactory.makeConcatWithTemplateCluster(List<String>, List<Class<?>>, int)PREVIEW
  String Templates
  This method breaks up large concatenations into separate `MethodHandles` based on the number of slots required per `MethodHandle`.
  java.lang.invoke.StringConcatFactory.makeConcatWithTemplateGetters(List<String>, List<MethodHandle>, int)PREVIEW
  String Templates
  This method creates a `MethodHandle` expecting one input, the receiver of the supplied getters.
  javax.lang.model.element.TypeElement.isUnnamed()PREVIEW
  Unnamed Classes and Instance Main Methods
  Returns `true` if this is an unnamed class and `false` otherwise.

- Enum Constants
  Enum Constant
  Preview Feature
  Description
  com.sun.source.tree.Tree.Kind.TEMPLATEPREVIEW
  String Templates
  Used for instances of `StringTemplateTree`PREVIEW.