Apache Juneau 10.0.0-SNAPSHOT API

Apache Juneau™

Apache Juneau™ is a single cohesive Java ecosystem consisting of a comprehensive toolkit for marshalling POJOs to a wide variety of content types using a common framework, along with universal REST server and client APIs for creating Swagger-based self-documenting REST interfaces.

Key Features

  • Universal Serialization - Marshal POJOs to JSON, XML, HTML, URL-Encoding, UON, MessagePack, CSV, and more
  • REST Services - Create self-documenting REST interfaces with automatic Swagger/OpenAPI generation
  • Microservices - Build lightweight, standalone microservices with embedded Jetty
  • Configuration Management - Sophisticated configuration file API with variable resolution
  • Fluent Assertions - Powerful testing framework with fluent-style assertions
  • Type Conversion - Lightweight, MarshallingContext-free converter framework with caching and broad type support
  • Large-Dataset Streaming - BeanSupplier/BeanConsumer/BeanChannel APIs for serializing and parsing large datasets without loading all elements into memory; supports direct database integration via lifecycle methods (begin/acceptThrows/onError/complete)
  • Zero Dependencies - Core marshalling requires no external dependencies

For more information, visit http://juneau.apache.org

Packages
Package
Description
Shared, marshall-free test-support utilities used across the Juneau test modules.
Bean-Centric Testing Framework.
Assertions API
 
Data Transfer Objects
ATOM Data Transfer Objects
Juneau @Marshalled types for the HAL (Hypertext Application Language) hypermedia format, also covered by draft-kelly-json-hal-08.
HTML5 Data Transfer Objects
Juneau @Marshalled types for the JSON:API v1.1 wire format.
JSON-RPC 2.0 envelope beans.
JSON Schema Data Transfer Objects
Juneau @Marshalled types for the Model Context Protocol (MCP) wire format.
Juneau @Marshalled types for the Model Context Protocol (MCP) wire format.
Swagger Data Transfer Objects
OpenAPI UI Generator
Juneau @Marshalled beans for RFC 7807 — Problem Details for HTTP APIs (media type application/problem+json).
Adapters that build Problem beans from Juneau HTTP error types.
Swagger Data Transfer Objects
Swagger UI Generator
PostgreSQL support for the Juneau BeanQuery SQL engine.
Shared JDBC BeanQueryContext plumbing for BeanQuery (design §5.3).
Foundational classes and annotations shared across the Juneau Commons libraries.
Bean-modeling layer for Juneau.
A protocol-agnostic query API for filtering, sorting, and paging collections of beans (design §5).
Enhanced collection utilities that extend the standard Java Collections Framework with fluent APIs, specialized collection types, and caching capabilities.
Concurrent programming utilities including locks and synchronization primitives.
Type conversion utilities for converting between different object types.
Functional programming utilities including enhanced function interfaces, consumers, suppliers, tuples, exception-handling variants, and large-dataset streaming APIs.
Lightweight HTTP header value types and parsing utilities.
Core HTTP-part types and enumerations shared across Juneau's HTTP-part marshalling support.
Lightweight bean lookup, contribution, and injection support for Juneau.
File and stream utilities, console support, MIME type detection, and path builders for working with files and I/O operations.
Language utilities including value wrappers, version management, string formatting, state enums, and other common language constructs.
Lightweight logging utilities built on top of java.util.logging.
Comprehensive reflection utilities for working with classes, methods, fields, constructors, and annotations in a more convenient and type-safe way than the standard Java reflection APIs.
Runtime / process-entry data carriers.
A small, JDK-only SPI for storing and retrieving secrets by key — the secure, mutable sibling of PropertySource.
Thread-safe system property access with support for global and per-thread overrides, making it useful for unit tests and configuration management.
Simple Variable Language
Built-in VarFunction catalog for #{name(args...)} script-evaluation syntax.
Predefined SVL Variables
Time and date utilities including time providers and granular date/time handling.
Common internal utilities.
Configuration Support
Configuration Event Support
Pluggable persistence formats for the Juneau configuration store.
Internal classes
Configuration Encoding Support
Configuration Storage Support
Configuration Predefined SVL Variables
Engine-agnostic themeable admin-console chrome: Theme, the stock theme stylesheets, the bundled chrome.css asset, and ConsoleChromeMixin.
Server half of the console message bus.
Jakarta WebSocket 2.2 transport for the console message bus.
Server helpers for console data sources: SeriesSource streams rows as CSV or NDJSON, and SeriesAggregator answers the aggregate request a data source sends when its result is too large to load raw.
The DataTables server-side-processing JSON beans implementing the DataTables server-side processing wire contract.
The DataTables ↔ BeanQuery adapter.
FreeMarker-only delivery of the admin-console chrome: the reserved-classpath base.ftlh template, the <@tag> macro, and ConsoleFreemarkerMixin (registers a reserved-path ClassTemplateLoader on top of the host's own FreemarkerMixin configuration).
Test helpers for console pages: PageContractAssert asserts on the #juneau-page contract of a rendered page instead of on rendered chrome HTML, and AssetResolutionAssert asserts that every asset a page links resolves.
A typed, declarative "rich DataTables view" toolkit that serializes to the frozen VIEW_META JSON wire contract consumed by the first-party client runtime.
An optional markdown-to-HTML rendering story for the views/console toolkit.
Reusable widget primitives for the Juneau REST server toolkit.
Bean Examples
ATOM Bean Examples
Configuration Store Examples
HTML Marshalling Examples
JSON Marshalling Examples
OpenAPI Examples
POJO Marshalling Examples
SVL (Simple Variable Language) Examples
UON Marshalling Examples
XML Marshalling Examples
 
 
 
Parser Examples
Serializer Examples
HTTP Part Annotations
Predefined HTTP headers, parts, entities, resources, and responses built on the classic Apache HttpComponents API.
HTTP Entity Beans
HTTP Header Beans
HTTP Part Beans
Metadata classes describing remote-proxy (RRPC) REST interfaces for the classic HTTP stack.
HTTP Resource Beans
HTTP Response Exception Beans
Next-generation HTTP body (entity) implementations.
Next-generation HTTP header implementations.
Next-generation HTTP part (query/form/path) implementations.
Remote REST API
Default immutable bean implementations of HttpRequestLine and related request-line types.
Next-generation HTTP resource types — bodies bundled with associated headers.
Next-generation HTTP response types.
 
HTTP Part Beans
Marshalling API
BSON (Binary JSON) marshalling support.
CBOR (Concise Binary Object Representation) marshalling support per RFC 8949.
Collections classes.
Classpath Utilities
CSV Marshalling Support
Encoders
Hjson (Human JSON) format serializer and parser for Apache Juneau.
HOCON (Human-Optimized Config Object Notation) format serializer and parser for Apache Juneau.
HTML Marshalling Support
HTTP Part Marshalling Support
INI format serializer and parser for Apache Juneau.
Internal Utilities
JCS (JSON Canonicalization Scheme) Marshalling Support.
RDF Marshalling Support
Convenience marshallers pairing RDF serializers and parsers into single classes with fluent to/from methods.
JSON Marshalling Support.
JSON5 Marshalling Support.
JSON5L (JSON5 Lines) marshalling support.
JSONL (JSON Lines) marshalling support.
JSON-Schema Marshalling Support
Markdown serializer and parser support for Apache Juneau.
Marshallers
MessagePack Marshalling Support
OpenAPI Marshalling Support
Java Object Tools
Apache Parquet serialization and parsing support.
Parser API
Plaintext Marshalling Support
Serializer API
SOAP/XML Marshalling Support
Server-Sent Events (SSE) marshalling support — text/event-stream.
Public low-level token-streaming API (pull parser + push generator) shared by every Juneau format.
Swap API
Predefined Swaps
TOML v1.0.0 serializer and parser for Apache Juneau.
UON Marshalling Support
URL-Encoding Marshalling Support
URL-Encoding Annotations
XML Marshalling Support
YAML Marshalling Support
Microservice API
Microservice Console
Example / demo Microservice REST Resources
Microservice API
Microservice Logging Infrastructure
Actuator-style management-surface endpoints (microservice-module flavors).
JUnit 5 whole-microservice integration-test support — the @SpringBootTest analog for the standalone Juneau microservice.
Embedded Tomcat integration for Juneau microservices.
Apache Juneau Petstore - shared domain model and REST resources.
Petstore auth helpers — stub validators and other glue used by the deployment-side AuthFilterChain configurations.
Typed @Remote client view of the petstore API.
Petstore admin console: the /console page tree.
Deterministic demo data for the petstore console.
Petstore console Developer pages: custom cards, themes, rendering flavors and the secure API demo.
Petstore console Rendering flavors: one console page per petstore view technology.
Petstore console operations pages: background jobs and the audit log.
Petstore console orders page and its JSON endpoints.
Builder twins of the petstore console pages: each page's .ftlh file rebuilt with PageSpec, served when the page is requested with ?builder.
Petstore console pets pages and their JSON endpoints.
Petstore console users page and its JSON endpoints.
Petstore domain beans (DTOs).
Apache Juneau Petstore - Jetty/Microservice deployment.
Petstore-local marshalling support.
Petstore REST resources.
Petstore service layer (in-memory store).
Apache Juneau Petstore - Spring Boot deployment.
Constants shared across the Juneau REST modules.
Role-neutral OAuth 2.0 grant-flow helpers.
Role-neutral OpenID Connect / RFC 8414 authorization-server metadata discovery.
Next-generation REST client — transport-agnostic HTTP client built on Juneau's serialization stack.
HttpTransport implementation for the next-generation REST client backed by Apache HttpClient 4.5.
HttpTransport implementation for the next-generation REST client backed by Apache HttpClient 5.x.
Fluent assertion classes for HTTP response validation in the REST client.
REST Client API
REST Client Assertions
Remote REST API
HttpTransport implementation for the next-generation REST client backed by the Jetty 12 HTTP client.
Revision-neutral Model Context Protocol (MCP) client core - Streamable-HTTP transport orchestration, the auth-token seam, and the pluggable response cache that per-revision McpClient facades build on.
Client-side OAuth 2.1 token acquisition for the Model Context Protocol 2026-07-28 revision.
Typed 2025-06-18 Model Context Protocol (MCP) client facade.
Typed MCP client adapter for revision 2026-07-28.
HttpTransport implementation for the next-generation REST client backed by OkHttp.
Remote-proxy support for the next-generation REST client.
Common HTTP and REST utility classes shared between REST client and server modules.
REST Server Mock API
Mocked REST client and supporting classes for in-JVM testing built on the classic Apache HttpClient API.
REST Server API
REST Method Argument Beans
REST Assertions
Authentication (AuthN) guards, servlet-layer filters, SPIs, and request-time helpers for juneau-rest-server.
JWT bearer-token validation backed by com.nimbusds:nimbus-jose-jwt.
OAuth 2.0 / OIDC integration for the Juneau REST server.
OpenID Connect Relying Party (RP) login support for Juneau REST servers.
SAML 2.0 assertion validation for the Juneau REST server, layered on the AuthFilter framework.
REST Interface Helper Classes
Predefined REST configuration interfaces
Convention-endpoints mixin pack — composable @Rest(mixins=...) resources that ship the "internet conventions" surface (favicon, robots, sitemap, version, well-known) every public-facing service eventually grows.
REST Response Converters
API-docs mixin pack — composable @Rest(mixins=...) resources that publish Swagger v2 and OpenAPI 3.1 spec endpoints with Swagger-UI and Redoc HTML mounts.
Servlet filters that augment Juneau REST server request handling.
REST Guards
Built-in health, readiness, and liveness probe support for Juneau REST servers.
REST HTTP Parts
JUL-level-driven REST debug logging API.
Actuator-style management-surface endpoints (server-module flavors).
Opt-in non-JUL LogBackend adapters for the /loggers management endpoint.
Predefined Matchers
Revision-neutral core for MCP endpoints built on juneau-rest-server.
MCP 2025-06-18 binding for juneau-rest-server-mcp.
MCP 2026-07-28 binding for juneau-rest-server-mcp.
Metrics SPI for juneau-rest-server — per-request observability hook backed by a caller-supplied MetricsRecorder bean.
Micrometer bridge for the juneau-rest-server MetricsRecorder SPI.
Explicit programmatic observation API for juneau-rest-server — custom (non-request) metrics + tracing around an arbitrary block of work.
Server-side OpenAPI 3.1 emission — the OpenApiProvider SPI and the BasicOpenApiProvider default implementation that walks an RestContext and produces an OpenApi document.
Ops / introspection mixin pack — composable @Rest(mixins=...) resources that ship the operational surface (request echo, JVM admin, route index) every long-running Juneau service eventually grows.
HTTP Response Processors
Predefined REST resource configuration interfaces that add RDF (Jena) marshalling support.
Reactive-Streams return-type support for @RestOp handlers (opt-in, dependency-free).
Project Reactor / RxJava 3 / Reactive-Streams Publisher adapters for the juneau-rest-server ReactiveStreamsAdapter SPI.
Remote service API
REST Remote Procedure Call API
REST Servlets
Spring Boot Integration
Server-Sent Events (SSE) support for Juneau REST servers.
REST Static Files Support
Method exec stats utilities
REST Swagger Support
Tracing SPI for juneau-rest-server — per-request span hook backed by a caller-supplied TracerHook bean.
OpenTelemetry bridge for the juneau-rest-server TracerHook SPI.
REST Server Utilities
Optional Jakarta Bean Validation 3.x integration for juneau-rest-server — declarative validation of request beans via jakarta.validation.constraints.* annotations.
Predefined SVL Variables
Engine-agnostic server-side-rendered view extension point.
Apache FreeMarker view-rendering bridge — opt-in juneau-rest-server-view-freemarker module.
JSP view-rendering bridge — opt-in juneau-rest-server-view-jsp module.
Mustache view-rendering bridge — opt-in juneau-rest-server-view-mustache module.
Thymeleaf view-rendering bridge — opt-in juneau-rest-server-view-thymeleaf module.
HTML Widget API
An opt-in SecretStore backed by the macOS security keychain CLI.
Server Configuration Repository
Server Configuration Application
Server Configuration REST
Connects terminals to the Juneau server bus: the term.input upstream handler, and the term.nudge:<id> downstream nudges that tell a terminal card when new bytes are ready.
Raw command output in the browser: a byte-offset endpoint over a TerminalSource and an xterm.js panel that renders it the way a terminal would.
Terminal-view events and the readers that produce them from test-report files.