Documentation

All user documentation in Juneau is provided through Javadocs.

The Javadocs overview document provides a general overview for all of Juneau. The package-level documents that link from the overview provide in-depth information on subtopics.

Table of Contents
  1. Introduction

    1. Features

    2. Components

  2. juneau-marshall

    1. Serializers

    2. Parsers

    3. SerializerGroups and ParserGroups

    4. ObjectMap and ObjectList

    5. Configurable Properties

      1. Common Properties

      2. Common Serializer Properties

      3. Common Parser Properties

    6. Contexts, Builders, Sessions, and PropertyStores

    7. Transforms

      1. PojoSwaps

      2. Per-media-type PojoSwaps

      3. One-way PojoSwaps

      4. @Swap Annotation

      5. Templated Swaps

      6. Swap Methods

      7. Surrogate Classes

      8. @Bean Annotation

      9. @BeanProperty Annotation

      10. @BeanConstructor Annotation

      11. @BeanIgnore Annotation

      12. @NameProperty Annotation

      13. @ParentProperty Annotation

      14. POJO Builders

      15. URIs

      16. BeanFilters

      17. Interface Filters

      18. Stop Classes

      19. Bypass Serialization using Readers and InputStreams

    8. Bean Name and Dictionaries

      1. Bean Subtypes

    9. Virtual Beans

    10. Non-Tree Models and Recursion Detection

    11. Parsing into Generic Models

    12. Reading Continuous Streams

    13. Comparison with Jackson

    14. POJO Categories

    15. JSON Details

      1. JSON Methodology

      2. JSON Serializers

      3. JSON Parsers

      4. @Json Annotation

      5. JSON-Schema Support

    16. XML Details

      1. XML Methodology

      2. XML Serializers

      3. XML Parsers

      4. @Bean(typeName) Annotation

      5. @Xml(childName) Annotation

      6. @Xml(format) Annotation

      7. Namespaces

      8. URI Properties

      9. XML-Schema Support

    17. HTML Details

      1. HTML Methodology

      2. HTML Serializers

      3. HTML Parsers

      4. @Html Annotation

      5. @Html(render) Annotation

      6. HtmlDocSerializer

      7. Custom Templates

      8. HTML-Schema Support

    18. UON Details

      1. UON Methodology

      2. UON Serializers

      3. UON Parsers

    19. URL-Encoding Details

      1. URL-Encoding Methodology

      2. URL-Encoding Serializers

      3. URL-Encoding Parsers

      4. @UrlEncoding Annotation

    20. MessagePack Details

      1. MessagePack Methodology

      2. MessagePack Serializers

      3. MessagePack Parsers

    21. SOAP Details

    22. CSV Details

    23. Java Serialized Object Details

    24. Best Practices

  3. juneau-marshall-rdf

    1. RDF Details

      1. RDF Methodology

      2. RDF Serializers

      3. RDF Parsers

      4. @Rdf Annotation

      5. Namespaces

      6. URI Properties

      7. Root Property

      8. Typed Literals

  4. juneau-dto

    1. HTML5

    2. Atom

    3. Swagger

  5. juneau-svl

    1. Simple Variable Language

    2. SVL Variables

    3. VarResolvers and VarResolverSessions

    4. Other Notes

  6. juneau-config

    1. Overview

      1. Syntax Rules

    2. Entry Types

      1. Primitive Types

      2. POJOs

      3. Arrays

      4. Collections

      5. Binary Data

    3. Variables

      1. Logic Variables

    4. Encoded Entries

    5. Section Maps

    6. Section Beans

    7. Section Interfaces

    8. Setting Values

      1. File System Changes

      2. Custom Entry Serialization

      3. Setting Values in Bulk

    9. Listeners

    10. Serializing

    11. Config Stores

      1. ConfigMemoryStore

      2. ConfigFileStore

      3. Custom ConfigStores

      4. ConfigStore Listeners

    12. Read-only Configs

    13. Closing Configs

  7. juneau-rest-server

    1. Hello World Example

    2. Class Hierarchy

    3. Instantiation

      1. RestServlet

      2. BasicRestServlet

      3. Children

      4. Router Pages

      5. Resource Resolvers

      6. Lifecycle Hooks

    4. @RestResource

      1. Annotation Inheritance

    5. RestContext

    6. @RestMethod

      1. Java Method Parameters

      2. RestRequest

      3. RestResponse

      4. RequestBody

      5. RequestHeaders

      6. RequestQuery

      7. RequestFormData

      8. @RestMethod.path()

      9. RequestPathMatch

      10. Method Return Types

      11. ReaderResource

      12. StreamResource

      13. Redirect

      14. @RestMethod.matchers()

    7. @Body

      1. Handling Form Posts

      2. Handling Multi-Part Form Posts

    8. @FormData

    9. @Query

    10. @Header

    11. Serializers

    12. Parsers

    13. Properties

    14. Transforms

    15. Guards

    16. Converters

    17. Messages

    18. Encoders

    19. SVL Variables

    20. Configuration Files

    21. Static files

    22. Client Versioning

    23. OPTIONS pages

      1. RestInfoProvider

      2. BasicRestInfoProvider

    24. @HtmlDoc

      1. Widgets

      2. Predefined Widgets

      3. UI Customization

      4. Stylesheets

    25. Default Headers

    26. Logging and Error Handling

    27. HTTP Status Codes

    28. Overloading HTTP Methods

    29. Built-in Parameters

    30. Custom Serializers and Parsers

    31. Using with OSGi

    32. Remoteable Proxies

      1. Client Side

      2. Server Side

      3. @Remoteable Annotation

    33. Swagger

    34. Using with Spring and Injection frameworks

    35. Using HTTP/2 features

    36. Predefined Label Beans

    37. Other Notes

  8. juneau-rest-server-jaxrs

    1. Juneau JAX-RS Provider

  9. juneau-rest-client

    1. Interface Proxies Against 3rd-party REST Interfaces

    2. SSL Support

      1. SSLOpts Bean

    3. Authentication

      1. BASIC Authentication

      2. FORM-based Authentication

      3. OIDC Authentication

    4. Using Response Patterns

    5. Piping Response Output

    6. Debugging

    7. Logging

    8. Interceptors

    9. Other Useful Methods

  10. juneau-microservice-server

    1. Microservice Introduction

    2. Getting Started

      1. Installing in Eclipse

      2. Running in Eclipse

      3. Building and Running from Command-Line

    3. Manifest File

      1. Manifest API

    4. Config

      1. Config API

    5. Resource Classes

    6. Predefined Resource Classes

    7. RestMicroservice

      1. Extending RestMicroservice

  11. juneau-examples-core

  12. juneau-examples-rest

    1. RootResources

    2. HelloWorldResource

    3. SystemPropertiesResource

    4. MethodExampleResource

    5. UrlEncodedFormResource

    6. RequestEchoResource

    7. AddressBookResource

      1. Classes

      2. Demo

      3. Traversable

      4. Queryable

      5. Introspectable

      6. ClientTest

      7. Browser Tips

    8. SampleRemoteableServlet

    9. TempDirResource

    10. AtomFeedResource

    11. DockerRegistryResource

    12. TumblrParserResource

    13. PhotosResource

    14. JsonSchemaResource

    15. SqlQueryResource

    16. ConfigResource

    17. LogsResource

    18. PetStoreResource

  13. Security Best-Practices

  14. Release Notes