Class PemEncodingsPreviewExamples
java.lang.Object
net.jrodolfo.java_evolution.java25.PemEncodingsPreviewExamples
Demonstrates Java 25 PEM encodings of cryptographic objects, previewed by
JEP 470.
The repository itself does not compile against preview APIs. Instead, this
example writes a small Java 25 source file, compiles it with
javac --enable-preview --release 25, and runs it with
java --enable-preview when the active toolchain is JDK 25. That
keeps the main build stable while still demonstrating the real preview API.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordResult from one child process invocation.static final recordResult from compiling and running the generated preview source. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionExplains what the Java 25 preview API provides.Explains the problem that Java 25 PEM support addresses.Explains why this example uses a child process.Source used by the child JVM to exercise the Java 25 preview API.runPemWorkflow(Path workspace) Runs a real Java 25 preview PEM workflow in a temporary workspace.
-
Constructor Details
-
PemEncodingsPreviewExamples
public PemEncodingsPreviewExamples()
-
-
Method Details
-
runPemWorkflow
public PemEncodingsPreviewExamples.PemWorkflowResult runPemWorkflow(Path workspace) throws IOException, InterruptedException Runs a real Java 25 preview PEM workflow in a temporary workspace. Full child-compilation execution requires a JDK 25 preview compiler.- Parameters:
workspace- temporary directory for generated source and class files- Returns:
- result containing compilation and execution output
- Throws:
IOException- when the source file cannot be writtenInterruptedException- when waiting for a child process is interrupted
-
probeSource
Source used by the child JVM to exercise the Java 25 preview API.- Returns:
- generated Java source
-
manualParsingProblem
Explains the problem that Java 25 PEM support addresses.- Returns:
- a short problem statement
-
java25Idea
Explains what the Java 25 preview API provides.- Returns:
- a short feature explanation
-
previewBoundary
Explains why this example uses a child process.- Returns:
- the preview boundary
-