Class PemEncodingsPreviewExamples

java.lang.Object
net.jrodolfo.java_evolution.java25.PemEncodingsPreviewExamples

public class PemEncodingsPreviewExamples extends Object
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.

  • Constructor Details

    • PemEncodingsPreviewExamples

      public PemEncodingsPreviewExamples()
  • Method Details

    • runPemWorkflow

      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 written
      InterruptedException - when waiting for a child process is interrupted
    • probeSource

      public String probeSource()
      Source used by the child JVM to exercise the Java 25 preview API.
      Returns:
      generated Java source
    • manualParsingProblem

      public String manualParsingProblem()
      Explains the problem that Java 25 PEM support addresses.
      Returns:
      a short problem statement
    • java25Idea

      public String java25Idea()
      Explains what the Java 25 preview API provides.
      Returns:
      a short feature explanation
    • previewBoundary

      public String previewBoundary()
      Explains why this example uses a child process.
      Returns:
      the preview boundary