# Preview API

Show preview API for:

- 401: Value Classes and Objects (Preview)
- 531: Lazy Constants (Third Preview)
- 533: Structured Concurrency (Seventh Preview)
- 538: PEM Encodings of Cryptographic Objects (Third Preview)
- 539: Strict Field Initialization in the JVM (Preview)
- Toggle all

## Contents

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

Interfaces
Interface
Preview Feature
Description
java.lang.classfile.attribute.LoadableDescriptorsAttributePREVIEW
Value Classes and Objects
Models the `LoadableDescriptors`PREVIEW attribute (JVMS §4.7.32PREVIEW), which permits the JVM to load mentioned classes and interfaces before the `class` file carrying this attribute is loaded.
java.lang.LazyConstantPREVIEW
Lazy Constants
A lazy constant is a holder of content that can be initialized at most once.
java.security.BinaryEncodablePREVIEW
PEM Encodings of Cryptographic Objects
This interface identifies the cryptographic objects that can be converted to and from binary data, and thereby encoded and decoded as PEM text.
java.util.concurrent.StructuredTaskScopePREVIEW
Structured Concurrency
An API for structured concurrency.
java.util.concurrent.StructuredTaskScope.ConfigurationPREVIEW
Structured Concurrency
Represents the configuration for a `StructuredTaskScope`.
java.util.concurrent.StructuredTaskScope.JoinerPREVIEW
Structured Concurrency
An object used with a `StructuredTaskScope`PREVIEW to produce the outcome for the scope's `join()`PREVIEW method.
java.util.concurrent.StructuredTaskScope.SubtaskPREVIEW
Structured Concurrency
Represents a subtask forked in a `StructuredTaskScope`PREVIEW with `fork(Callable)`PREVIEW or `fork(Runnable)`PREVIEW.

Classes
Class
Preview Feature
Description
java.security.PEMPREVIEW
PEM Encodings of Cryptographic Objects
A `BinaryEncodable`PREVIEW representing a Privacy-Enhanced Mail (PEM) structure composed of a type identifier, Base64-encoded content, and optional leading data that precedes the PEM header.
java.security.PEMDecoderPREVIEW
PEM Encodings of Cryptographic Objects
`PEMDecoder` implements a decoder for Privacy-Enhanced Mail (PEM) data.
java.security.PEMEncoderPREVIEW
PEM Encodings of Cryptographic Objects
`PEMEncoder` implements an encoder for Privacy-Enhanced Mail (PEM) data.

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

Exception Classes
Exception Class
Preview Feature
Description
java.lang.IdentityExceptionPREVIEW
Value Classes and Objects
Thrown when an identity object is required but a value object is supplied.
java.util.concurrent.StructuredTaskScope.CancelledByTimeoutExceptionPREVIEW
Structured Concurrency
The exception cause when `join()`PREVIEW throws because the scope was cancelled by a timeout.
java.util.concurrent.StructureViolationExceptionPREVIEW
Structured Concurrency
Thrown when a structure violation is detected.
javax.crypto.CryptoExceptionPREVIEW
PEM Encodings of Cryptographic Objects
Thrown to indicate a cryptographic failure during processing.

Fields
Field
Preview Feature
Description
java.lang.classfile.Attributes.NAME_LOADABLE_DESCRIPTORSPREVIEW
Value Classes and Objects
LoadableDescriptors
java.lang.classfile.ClassFile.ACC_IDENTITYPREVIEW
Value Classes and Objects
The bit mask of `AccessFlag.IDENTITY`PREVIEW access and property modifier.
java.lang.classfile.ClassFile.ACC_STRICT_INITPREVIEW
Strict Field Initialization in the JVM
The bit mask of `AccessFlag.STRICT_INIT`PREVIEW access and property modifier.

Methods
Method
Preview Feature
Description
java.lang.Class.isValue()PREVIEW
Value Classes and Objects
Returns `true` if this `Class` object represents a value class, otherwise `false`.
java.lang.classfile.attribute.StackMapFrameInfo.of(Label, List<StackMapFrameInfo.VerificationTypeInfo>, List<StackMapFrameInfo.VerificationTypeInfo>, List<NameAndTypeEntry>)PREVIEW
Strict Field Initialization in the JVM
Returns a new stack map frame.
java.lang.classfile.attribute.StackMapFrameInfo.unsetFields()PREVIEW
Strict Field Initialization in the JVM
Returns the expanded unset fields.
java.lang.classfile.Attributes.loadableDescriptors()PREVIEW
Value Classes and Objects
Returns the mapper for the `LoadableDescriptors` attribute.
java.lang.reflect.Field.isStrictInit()PREVIEW
Strict Field Initialization in the JVM
Returns `true` if this field is a strictly-initialized field; returns `false` otherwise.
java.util.List.ofLazy(int, IntFunction<? extends E>)PREVIEW
Lazy Constants
Returns a new lazily computed list of the provided `size`.
java.util.Map.ofLazy(Set<? extends K>, Function<? super K, ? extends V>)PREVIEW
Lazy Constants
Returns a new lazily computed map with the provided `keys`.
java.util.Objects.hasIdentity(Object)PREVIEW
Value Classes and Objects
Returns `true` if the input is a non-null reference to an object with identity, and `false` otherwise.
java.util.Objects.requireIdentity(T)PREVIEW
Value Classes and Objects
Checks that the specified object reference is an identity object.
java.util.Objects.requireIdentity(T, String)PREVIEW
Value Classes and Objects
Checks that the specified object reference is an identity object.
java.util.Objects.requireIdentity(T, Supplier<String>)PREVIEW
Value Classes and Objects
Checks that the specified object reference is an identity object.
java.util.Set.ofLazy(Set<? extends E>, Predicate<? super E>)PREVIEW
Lazy Constants
Returns a new lazily computed set whose logical membership for each distinct element candidate in the set of `elementCandidates` is computed via the provided `computingFunction` on demand.
javax.crypto.EncryptedPrivateKeyInfo.encrypt(BinaryEncodable, char[])PREVIEW
PEM Encodings of Cryptographic Objects
Creates an `EncryptedPrivateKeyInfo` by encrypting the specified `BinaryEncodable`.
javax.crypto.EncryptedPrivateKeyInfo.encrypt(BinaryEncodable, char[], String, AlgorithmParameterSpec, Provider)PREVIEW
PEM Encodings of Cryptographic Objects
Creates an `EncryptedPrivateKeyInfo` by encrypting the specified `BinaryEncodable`.
javax.crypto.EncryptedPrivateKeyInfo.encrypt(BinaryEncodable, Key, String, AlgorithmParameterSpec, Provider, SecureRandom)PREVIEW
PEM Encodings of Cryptographic Objects
Creates an `EncryptedPrivateKeyInfo` by encrypting the specified `BinaryEncodable`.
javax.crypto.EncryptedPrivateKeyInfo.getKey(char[])PREVIEW
PEM Encodings of Cryptographic Objects
Extracts and returns the enclosed `PrivateKey` using the specified password.
javax.crypto.EncryptedPrivateKeyInfo.getKey(Key)PREVIEW
PEM Encodings of Cryptographic Objects
Extracts and returns the enclosed `PrivateKey` using the specified decryption key.
javax.crypto.EncryptedPrivateKeyInfo.getKeyPair(char[])PREVIEW
PEM Encodings of Cryptographic Objects
Extracts and returns the enclosed `KeyPair` using the specified password.
javax.crypto.EncryptedPrivateKeyInfo.getKeyPair(Key)PREVIEW
PEM Encodings of Cryptographic Objects
Extracts and returns the enclosed `KeyPair` using the specified decryption key.

Enum Constants
Enum Constant
Preview Feature
Description
java.lang.reflect.AccessFlag.IDENTITYPREVIEW
Value Classes and Objects
The access flag `ACC_IDENTITY` with a mask value of `0x0020`.
java.lang.reflect.AccessFlag.STRICT_INITPREVIEW
Strict Field Initialization in the JVM
The access flag `ACC_STRICT_INIT`, with a mask value of `0x0800`.
javax.lang.model.element.Modifier.VALUEPREVIEW
Value Classes and Objects
The modifier `value`