You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2022/06/26 17:28:29 UTC
[juneau] branch master updated: Update javadocs
This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new 48a1a161a Update javadocs
48a1a161a is described below
commit 48a1a161a119061b1d0aeaae080999d5e225bd52
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Sun Jun 26 13:28:03 2022 -0400
Update javadocs
---
.../02.juneau-marshall/25.jm.ObjectTools.html | 343 ---------------------
.../02.juneau-marshall/26.jm.JsonDetails.html | 97 ------
.../27.jm.JsonSchemaDetails.html | 110 -------
.../02.juneau-marshall/28.jm.XmlDetails.html | 92 ------
.../02.juneau-marshall/29.jm.HtmlDetails.html | 26 --
.../02.juneau-marshall/30.jm.HtmlSchema.html | 197 ------------
.../02.juneau-marshall/31.jm.UonDetails.html | 87 ------
.../32.jm.UrlEncodingDetails.html | 85 -----
.../02.juneau-marshall/33.jm.MsgPackDetails.html | 27 --
.../02.juneau-marshall/34.jm.OpenApiDetails.html | 49 ---
.../02.juneau-marshall/35.jm.BestPractices.html | 42 ---
...m.HttpParts.html => 06.juneau-rest-common.html} | 23 +-
.../01.jrc.org.apache.juneau.http.html} | 0
.../02.jrc.org.apache.juneau.http.annotation.html} | 0
.../03.jrc.org.apache.juneau.http.header.html} | 0
.../04.jrc.org.apache.juneau.http.part.html} | 0
.../05.jrc.org.apache.juneau.http.entity.html} | 0
.../06.jrc.org.apache.juneau.http.resource.html} | 0
.../07.jrc.org.apache.juneau.http.response.html} | 0
.../08.jrc.org.apache.juneau.http.remote.html} | 0
juneau-doc/docs/Topics/06.juneau-rest-server.html | 133 --------
.../docs/Topics/07.juneau-rest-server-rdf.html | 43 ---
.../docs/Topics/08.juneau-rest-server-jaxrs.html | 43 ---
.../Topics/09.juneau-rest-server-springboot.html | 42 ---
juneau-doc/docs/Topics/10.juneau-rest-client.html | 181 -----------
juneau-doc/docs/Topics/11.juneau-rest-mock.html | 44 ---
.../docs/Topics/12.juneau-microservice-core.html | 60 ----
.../docs/Topics/13.juneau-microservice-jetty.html | 47 ---
.../docs/Topics/14.my-jetty-microservice.html | 36 ---
.../docs/Topics/15.my-springboot-microservice.html | 35 ---
juneau-doc/docs/Topics/16.juneau-petstore.html | 39 ---
juneau-doc/docs/Topics/17.Glossaries.html | 21 --
juneau-doc/docs/Topics/18.Security.html | 26 --
33 files changed, 20 insertions(+), 1908 deletions(-)
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/25.jm.ObjectTools.html b/juneau-doc/docs/Topics/02.juneau-marshall/25.jm.ObjectTools.html
deleted file mode 100644
index a480d443e..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/25.jm.ObjectTools.html
+++ /dev/null
@@ -1,343 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'Object Tools', created:'9.0.0'}
-
-<div class='topic'>
- <p>
- The {@link oaj.objecttools} package defines convenience utility classes for accessing
- and manipulating POJOs. It consists of the following classes:
- </p>
- <ul class='javatree'>
- <li class='jc'>{@link oaj.objecttools.ObjectRest}
- <li class='jc'>{@link oaj.objecttools.ObjectSearcher}
- <li class='jc'>{@link oaj.objecttools.ObjectSorter}
- <li class='jc'>{@link oaj.objecttools.ObjectViewer}
- <li class='jc'>{@link oaj.objecttools.ObjectPaginator}
- <li class='jc'>{@link oaj.objecttools.ObjectIntrospector}
- <li class='jc'>{@link oaj.objecttools.ObjectMerger}
- </ul>
-
- <h5 class='topic'>ObjectRest</h5>
- <p>
- The {@link oaj.objecttools.ObjectRest} class provides the ability to perform standard REST operations (GET, PUT, POST, DELETE) against nodes in a POJO model.
- Nodes in the POJO model are addressed using URLs.
- </p>
- <p>
- A POJO model is defined as a tree model where nodes consist of consisting of the following:
- </p>
- <ul class='spaced-list'>
- <li>
- {@link Map Maps} and Java beans representing JSON objects.
- <li>
- {@link Collection Collections} and arrays representing JSON arrays.
- <li>
- Java beans.
- </ul>
- <p>
- Leaves of the tree can be any type of object.
- </p>
- <p>
- Use {@link oaj.objecttools.ObjectRest#get(String) get()} to retrieve an element from a JSON tree.
- <br>Use {@link oaj.objecttools.ObjectRest#put(String,Object) put()} to create (or overwrite) an element in a JSON tree.
- <br>Use {@link oaj.objecttools.ObjectRest#post(String,Object) post()} to add an element to a list in a JSON tree.
- <br>Use {@link oaj.objecttools.ObjectRest#delete(String) delete()} to remove an element from a JSON tree.
- </p>
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | <jc>// Construct an unstructured POJO model</jc>
- | JsonMap <jv>map</jv> = JsonMap.<jsm>ofJson</jsm>(<js>""</js>
- | + <js>"{"</js>
- | + <js>" name:'John Smith', "</js>
- | + <js>" address:{ "</js>
- | + <js>" streetAddress:'21 2nd Street', "</js>
- | + <js>" city:'New York', "</js>
- | + <js>" state:'NY', "</js>
- | + <js>" postalCode:10021 "</js>
- | + <js>" }, "</js>
- | + <js>" phoneNumbers:[ "</js>
- | + <js>" '212 555-1111', "</js>
- | + <js>" '212 555-2222' "</js>
- | + <js>" ], "</js>
- | + <js>" additionalInfo:null, "</js>
- | + <js>" remote:false, "</js>
- | + <js>" height:62.4, "</js>
- | + <js>" 'fico score':' > 640' "</js>
- | + <js>"} "</js>
- | );
- |
- | <jc>// Wrap Map inside an ObjectRest object</jc>
- | ObjectRest <jv>johnSmith</jv> = ObjectRest.<jsm>create</jsm>(<jv>map</jv>);
- |
- | <jc>// Get a simple value at the top level</jc>
- | <jc>// "John Smith"</jc>
- | String <jv>name</jv> = <jv>johnSmith</jv>.getString(<js>"name"</js>);
- |
- | <jc>// Change a simple value at the top level</jc>
- | <jv>johnSmith</jv>.put(<js>"name"</js>, <js>"The late John Smith"</js>);
- |
- | <jc>// Get a simple value at a deep level</jc>
- | <jc>// "21 2nd Street"</jc>
- | String <jv>streetAddress</jv> = <jv>johnSmith</jv>.getString(<js>"address/streetAddress"</js>);
- |
- | <jc>// Set a simple value at a deep level</jc>
- | <jv>johnSmith</jv>.put(<js>"address/streetAddress"</js>, <js>"101 Cemetery Way"</js>);
- |
- | <jc>// Get entries in a list</jc>
- | <jc>// "212 555-1111"</jc>
- | String <jv>firstPhoneNumber</jv> = <jv>johnSmith</jv>.getString(<js>"phoneNumbers/0"</js>);
- |
- | <jc>// Add entries to a list</jc>
- | <jv>johnSmith</jv>.post(<js>"phoneNumbers"</js>, <js>"212 555-3333"</js>);
- |
- | <jc>// Delete entries from a model</jc>
- | <jv>johnSmith</jv>.delete(<js>"fico score"</js>);
- |
- | <jc>// Add entirely new structures to the tree</jc>
- | JsonMap <jv>medicalInfo</jv> = JsonMap.<jsm>ofJson</jsm>(<js>""</js>
- | + <js>"{"</js>
- | + <js>" currentStatus: 'deceased',"</js>
- | + <js>" health: 'non-existent',"</js>
- | + <js>" creditWorthiness: 'not good'"</js>
- | + <js>"}"</js>
- | );
- | <jv>johnSmith</jv>.put(<js>"additionalInfo/medicalInfo"</js>, <jv>medicalInfo</jv>);
- </p>
-
- <p>
- In the special case of collections/arrays of maps/beans, a special XPath-like selector notation can be used in lieu
- of index numbers on GET requests to return a map/bean with a specified attribute value.
- <br>The syntax is {@code @attr=val}, where attr is the attribute name on the child map, and val is the matching value.
- </p>
-
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | <jc>// Get map/bean with name attribute value of 'foo' from a list of items</jc>
- | Map <jv>map</jv> = <jv>objectRest</jv>.getMap(<js>"/items/@name=foo"</js>);
- </p>
- <ul class='notes'>
- <li class='note'>This class is used in the {@link oajr.converter.Traversable} REST response converter.
- </ul>
-
- <h5 class='topic'>ObjectSearcher</h5>
- <p>
- The {@link oaj.objecttools.ObjectSearcher} class is designed to provide searches across arrays and collections of maps or beans.
- It allows you to quickly filter beans and maps using simple yet sophisticated search arguments.
- </p>
-
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | MyBean[] <jv>arrayOfBeans</jv> = ...;
- | ObjectSearcher <jv>searcher</jv> = ObjectSearcher.<jsm>create</jsm>();
- |
- | <jc>// Returns a list of beans whose 'foo' property is 'X' and 'bar' property is 'Y'.</jc>
- | List<MyBean> <jv>result</jv> = <jv>searcher</jv>.run(<jv>arrayOfBeans</jv>, <js>"foo=X,bar=Y"</js>);
- </p>
- <p>
- The tool can be used against the following data types:
- </p>
- <ul>
- <li>Arrays/collections of maps or beans.
- </ul>
- <p>
- The default searcher is configured with the following matcher factories that provides the capabilities of matching
- against various data types. This list is extensible:
- </p>
- <ul class='javatreec'>
- <li class='jc'>{@link oaj.objecttools.StringMatcherFactory}
- <li class='jc'>{@link oaj.objecttools.NumberMatcherFactory}
- <li class='jc'>{@link oaj.objecttools.TimeMatcherFactory}
- </ul>
- <p>
- The {@link oaj.objecttools.StringMatcherFactory} class provides searching based on the following patterns:
- </p>
- <ul>
- <li><js>"property=foo"</js> - Simple full word match
- <li><js>"property=fo*"</js>, <js>"property=?ar"</js> - Meta-character matching
- <li><js>"property=foo bar"</js>(implicit), <js>"property=^foo ^bar"</js>(explicit) - Multiple OR'ed patterns
- <li><js>"property=+fo* +*ar"</js> - Multiple AND'ed patterns
- <li><js>"property=fo* -bar"</js> - Negative patterns
- <li><js>"property='foo bar'"</js> - Patterns with whitespace
- <li><js>"property=foo\\'bar"</js> - Patterns with single-quotes
- <li><js>"property=/foo\\s+bar"</js> - Regular expression match
- </ul>
- <p>
- The {@link oaj.objecttools.NumberMatcherFactory} class provides searching based on the following patterns:
- </p>
- <ul>
- <li><js>"property=1"</js> - A single number
- <li><js>"property=1 2"</js> - Multiple OR'ed numbers
- <li><js>"property=-1 -2"</js> - Multiple OR'ed negative numbers
- <li><js>"property=1-2"</js>,<js>"property=-2--1"</js> - A range of numbers (whitespace ignored)
- <li><js>"property=1-2 4-5"</js> - Multiple OR'ed ranges
- <li><js>"property=<1"</js>,<js>"property=<=1"</js>,<js>"property=>1"</js>,<js>"property=>=1"</js> - Open-ended ranges
- <li><js>"property=!1"</js>,<js>"property=!1-2"</js> - Negation
- </ul>
- <p>
- The {@link oaj.objecttools.TimeMatcherFactory} class provides searching based on the following patterns:
- </p>
- <ul>
- <li><js>"property=2011"</js> - A single year
- <li><js>"property=2011 2013 2015"</js> - Multiple years
- <li><js>"property=2011-01"</js> - A single month
- <li><js>"property=2011-01-01"</js> - A single day
- <li><js>"property=2011-01-01T12"</js> - A single hour
- <li><js>"property=2011-01-01T12:30"</js> - A single minute
- <li><js>"property=2011-01-01T12:30:45"</js> - A single second
- <li><js>"property=>2011"</js>,<js>"property=>=2011"</js>,<js>"property=<2011"</js>,<js>"property=<=2011"</js> - Open-ended ranges
- <li><js>"property=>2011"</js>,<js>"property=>=2011"</js>,<js>"property=<2011"</js>,<js>"property=<=2011"</js> - Open-ended ranges
- <li><js>"property=2011 - 2013-06-30"</js> - Closed ranges
- </ul>
- <ul class='notes'>
- <li class='note'>This class is used in the {@link oajr.converter.Queryable} REST response converter.
- </ul>
-
- <h5 class='topic'>ObjectSorter</h5>
- <p>
- The {@link oaj.objecttools.ObjectSorter} class is designed to sort arrays and collections of maps or beans.
- </p>
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | MyBean[] <jv>arrayOfBeans</jv> = ...;
- | ObjectSorter <jv>sorter</jv> = ObjectSorter.<jsm>create</jsm>();
- |
- | <jc>// Returns a list of beans sorted accordingly.</jc>
- | List<MyBean> <jv>result</jv> = <jv>sorter</jv>.run(<jv>arrayOfBeans</jv>, <js>"foo,bar-"</js>);
- </p>
- <p>
- The tool can be used against the following data types:
- </p>
- <ul>
- <li>Arrays/collections of maps or beans.
- </ul>
- <p>
- The arguments are a simple comma-delimited list of property names optionally suffixed with <js>'+'</js> and <js>'-'</js> to
- denote ascending/descending order.
- </p>
- <ul class='notes'>
- <li class='note'>This class is used in the {@link oajr.converter.Queryable} REST response converter.
- </ul>
-
- <h5 class='topic'>ObjectViewer</h5>
- <p>
- The {@link oaj.objecttools.ObjectViewer} class is designed to extract properties from collections of maps or beans.
- </p>
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | MyBean[] <jv>arrayOfBeans</jv> = ...;
- | ObjectViewer <jv>viewer</jv> = ObjectViewer.<jsm>create</jsm>();
-
- | <jc>// Returns the 'foo' and 'bar' properties extracted into a list of maps.</jc>
- | List<Map> <jv>result</jv> = <jv>viewer</jv>.run(<jv>arrayOfBeans</jv>, <js>"foo,bar"</js>);
- </p>
- <p>
- The tool can be used against the following data types:
- </p>
- <ul>
- <li>Arrays/collections of maps or beans.
- <li>Singular maps or beans.
- </ul>
- <ul class='notes'>
- <li class='note'>This class is used in the {@link oajr.converter.Queryable} REST response converter.
- </ul>
-
- <h5 class='topic'>ObjectPaginator</h5>
- <p>
- The {@link oaj.objecttools.ObjectPaginator} class is designed to extract sublists from arrays/collections of maps or beans.
- </p>
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | MyBean[] <jv>arrayOfBeans</jv> = ...;
- | ObjectPaginator <jv>paginator</jv> = ObjectPaginator.<jsm>create</jsm>();
- |
- | <jc>// Returns all rows from 100 to 110.</jc>
- | List<MyBean> <jv>result</jv> = <jv>paginator</jv>.run(<jv>arrayOfBeans</jv>, 100, 10);
- </p>
- <p>
- The tool can be used against the following data types:
- </p>
- <ul>
- <li>Arrays/collections of maps or beans.
- </ul>
- <ul class='notes'>
- <li class='note'>This class is used in the {@link oajr.converter.Queryable} REST response converter.
- </ul>
-
- <h5 class='topic'>ObjectIntrospector</h5>
- <p>
- The {@link oaj.objecttools.ObjectIntrospector} class is used to invoke methods on {@code Objects} using arguments in serialized form.
- </p>
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | String <jv>string1</jv> = <js>"foobar"</js>;
- | String <jv>string2</jv> = ObjectIntrospector
- | .create(<jv>string</jv>)
- | .invoke(String.<jk>class</jk>, <js>"substring(int,int)"</js>, <js>"[3,6]"</js>); <jc>// "bar"</jc>
- </p>
- <p>
- The arguments passed to the identified method are POJOs serialized in JSON format. Arbitrarily complex arguments can be passed
- in as arguments.
- </p>
- <ul class='notes'>
- <li class='note'>This class is used in the {@link oajr.converter.Introspectable} REST response converter.
- <li class='warn'>This is an extremely powerful but potentially dangerous tool. Use wisely.
- </ul>
-
- <h5 class='topic'>ObjectMerger</h5>
- <p>
- The {@link oaj.objecttools.ObjectMerger} class is used for merging POJOs behind a single interface.
- This is particularly useful in cases where you want to define beans with 'default' values.
- </p>
- <p>
- For example, given the following bean classes:
- </p>
-
- <p class='bjava'>
- | <jk>public interface</jk> IA {
- | String getX();
- | <jk>void</jk> setX(String <jv>x</jv>);
- | }
- |
- | <jk>public class</jk> A <jk>implements</jk> IA {
- | <jk>private</jk> String <jf>x</jf>;
- |
- | <jk>public</jk> A(String <jv>x</jv>) {
- | <jk>this</jk>.<jf>x</jf> = <jv>x</jv>;
- | }
- |
- | <jk>public</jk> String getX() {
- | <jk>return</jk> <jf>x</jf>;
- | }
- |
- | <jk>public void</jk> setX(String <jv>x</jv>) {
- | <jk>this</jk>.<jf>x</jf> = <jv>x</jv>;
- | }
- | }
- </p>
- <p>
- The getters will be called in order until the first non-null value is returned:
- </p>
- <p class='bjava'>
- | <jv>merge</jv> = ObjectMerger.<jsm>merger</jsm>(IA.<jk>class</jk>, <jk>new</jk> A(<js>"1"</js>), <jk>new</jk> A(<js>"2"</js>));
- | <jsm>assertEquals</jsm>(<js>"1"</js>, <jv>merge</jv>.getX());
- |
- | <jv>merge</jv> = ObjectMerger.<jsm>merger</jsm>(IA.<jk>class</jk>, <jk>new</jk> A(<jk>null</jk>), <jk>new</jk> A(<js>"2"</js>));
- | <jsm>assertEquals</jsm>(<js>"2"</js>, <jv>merge</jv>.getX());
- |
- | <jv>merge</jv> = ObjectMerger.<jsm>merger</jsm>(IA.<jk>class</jk>, <jk>new</jk> A(<jk>null</jk>), <jk>new</jk> A(<jk>null</jk>));
- | <jsm>assertEquals</jsm>(<jk>null</jk>, <jv>merge</jv>.getX());
- </p>
-
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/26.jm.JsonDetails.html b/juneau-doc/docs/Topics/02.juneau-marshall/26.jm.JsonDetails.html
deleted file mode 100644
index 3bce8b863..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/26.jm.JsonDetails.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'JSON Details'}
-
-<div class='topic'>
- <p>
- Juneau supports converting arbitrary POJOs to and from JSON using ultra-efficient serializers and parsers.
- The JSON serializer converts POJOs directly to JSON without the need for intermediate DOM objects using a
- highly-efficient state machine.
- Likewise, the JSON parser creates POJOs directly from JSON without the need for intermediate DOM objects.
- </p>
- <p>
- The following example shows JSON for a typical bean:
- </p>
- <h5 class='figure'>Sample Beans</h5>
- <p class='bjava'>
- | <jk>public class</jk> Person {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>name</jf>;
- | <ja>@Swap</ja>(TemporalCalendarSwap.IsoInstant.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
- | <jk>public</jk> List<Address> <jf>addresses</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- |
- | <jk>public class</jk> Address {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
- | <jk>public</jk> StateEnum <jf>state</jf>;
- | <jk>public int</jk> <jf>zip</jf>;
- | <jk>public boolean</jk> <jf>isCurrent</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- </p>
- <h5 class='figure'>Sample Code</h5>
- <p class='bjava'>
- | Person <jv>person</jv> = <jk>new</jk> Person()
- | .name(<js>"John Smith"</js>)
- | .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
- | .addresses(
- | <jk>new</jk> Address()
- | .street(<js>"100 Main Street"</js>)
- | .city(<js>"Anywhereville"</js>)
- | .state(<jsf>NY</jsf>)
- | .zip(12345)
- | .isCurrent(<jk>true</jk>);
- | );
- </p>
- <h5 class='figure'>Normal JSON</h5>
- <p class='bjson'>
- | {
- | <js>"name"</js>: <js>"John Smith"</js>,
- | <js>"birthDate"</js>: <js>"1946-08-12T00:00:00Z"</js>,
- | <js>"addresses"</js>: [
- | {
- | <js>"street"</js>: <js>"100 Main Street"</js>,
- | <js>"city"</js>: <js>"Anywhereville"</js>,
- | <js>"state"</js>: <js>"NY"</js>,
- | <js>"zip"</js>: 12345,
- | <js>"isCurrent"</js>: <jk>true</jk>
- | }
- | ]
- | }
- </p>
- <h5 class='figure'>Simplified JSON</h5>
- <p class='bjson'>
- | {
- | name: <js>'John Smith'</js>,
- | birthDate: <js>'1946-08-12T00:00:00Z'</js>,
- | addresses: [
- | {
- | street: <js>'100 Main Street'</js>,
- | city: <js>'Anywhereville'</js>,
- | state: <js>'NY'</js>,
- | zip: 12345,
- | isCurrent: <jk>true</jk>
- | }
- | ]
- | }
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/27.jm.JsonSchemaDetails.html b/juneau-doc/docs/Topics/02.juneau-marshall/27.jm.JsonSchemaDetails.html
deleted file mode 100644
index 86a44c0f1..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/27.jm.JsonSchemaDetails.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'JSON-Schema Support'}
-
-<div class='topic'>
- <p>
- Juneau provides the {@link oaj.json.JsonSchemaSerializer} class for generating JSON-Schema
- documents that describe the output generated by the {@link oaj.json.JsonSerializer} class.
- This class shares the same properties as <c>JsonSerializer</c>.
- For convenience the {@link oaj.json.JsonSerializer#getSchemaSerializer()} method has been
- added for creating instances of schema serializers from the regular serializer instance.
- </p>
- <h5 class='figure'>Sample Beans</h5>
- <p class='bjava'>
- | <jk>public class</jk> Person {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>name</jf>;
- | <jk>public</jk> Calendar <jf>birthDate</jf>;
- | <jk>public</jk> List<Address> <jf>addresses</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- |
- | <jk>public class</jk> Address {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
- | <jk>public</jk> StateEnum <jf>state</jf>;
- | <jk>public int</jk> <jf>zip</jf>;
- | <jk>public boolean</jk> <jf>isCurrent</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- </p>
- <p>
- The code for creating our POJO model and generating JSON-Schema is shown below:
- </p>
- <p class='bjava'>
- | <jc>// Get the one of the default schema serializers.</jc>
- | JsonSchemaSerializer <jv>serializer</jv> = JsonSchemaSerializer.<jsf>DEFAULT_SIMPLE_READABLE</jsf>;
- |
- | <jc>// Get the JSON Schema for the POJO.</jc>
- | String <jv>jsonSchema</jv> = <jv>serializer</jv>.serialize(<jk>new</jk> Person());
- |
- | <jc>// This also works.</jc>
- | <jv>jsonSchema</jv> = <jv>serializer</jv>.serialize(Person.<jk>class</jk>);
- </p>
-
- <h5 class='figure'>JSON Schema</h5>
- <p class='bjson'>
- | {
- | <jok>type: <jov>'object'</jov>,
- | <jok>description</jok>: <jov>'org.apache.juneau.sample.Person'</jov>,
- | <jok>properties</jok>: {
- | <jok>name</jok>: {
- | <jok>type</jok>: <jov>'string'</jov>,
- | <jok>description</jok>: <jov>'java.lang.String'</jov>
- | },
- | <jok>birthDate</jok>: {
- | <jok>type</jok>: <jov>'string'</jov>,
- | <jok>description</jok>: <jov>'java.util.Calendar'</jov>
- | },
- | <jok>addresses</jok>: {
- | <jok>type</jok>: <jov>'array'</jov>,
- | <jok>description</jok>: <jov>'java.util.LinkedList<org.apache.juneau.sample.Address>'</jov>,
- | <jok>items</jok>: {
- | <jok>type</jok>: <jov>'object'</jov>,
- | <jok>description</jok>: <jov>'org.apache.juneau.sample.Address'</jov>,
- | <jok>properties</jok>: {
- | <jok>street</jok>: {
- | <jok>type</jok>: <jov>'string'</jov>,
- | <jok>description</jok>: <jov>'java.lang.String'</jov>
- | },
- | <jok>city</jok>: {
- | <jok>type</jok>: <jov>'string'</jov>,
- | <jok>description</jok>: <jov>'java.lang.String'</jov>
- | },
- | <jok>state</jok>: {
- | <jok>type</jok>: <jov>'string'</jov>,
- | <jok>description</jok>: <jov>'java.lang.String'</jov>
- | },
- | <jok>zip</jok>: {
- | <jok>type</jok>: <jov>'number'</jov>,
- | <jok>description</jok>: <jov>'int'</jov>
- | },
- | <jok>isCurrent</jok>: {
- | <jok>type</jok>: <jov>'boolean'</jov>,
- | <jok>description</jok>: <jov>'boolean'</jov>
- | }
- | }
- | }
- | }
- | }
- | }
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/28.jm.XmlDetails.html b/juneau-doc/docs/Topics/02.juneau-marshall/28.jm.XmlDetails.html
deleted file mode 100644
index 9a042b202..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/28.jm.XmlDetails.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'XML Details'}
-
-<div class='topic'>
- <p>
- Juneau supports converting arbitrary POJOs to and from XML using ultra-efficient serializers and parsers.
- The XML serializer converts POJOs directly to XML without the need for intermediate DOM objects.
- Likewise, the XML parser uses a STaX parser and creates POJOs directly without intermediate DOM objects.
- </p>
- <p>
- Unlike frameworks such as JAXB, Juneau does not require POJO classes to be annotated to produce and consume
- XML.
- However, several XML annotations are provided for handling namespaces and fine-tuning the format of the XML produced.
- </p>
- <p>
- The following example shows XML for a typical bean:
- </p>
- <h5 class='figure'>Sample Beans</h5>
- <p class='bjava'>
- | <ja>@Bean</ja>(typeName=<js>"person"</js>)
- | <jk>public class</jk> Person {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>name</jf>;
- | <ja>@Swap</ja>(TemporalCalendarSwap.IsoInstant.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
- | <jk>public</jk> List<Address> <jf>addresses</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- |
- | <ja>@Bean</ja>(typeName=<js>"address"</js>)
- | <jk>public class</jk> Address {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
- | <jk>public</jk> StateEnum <jf>state</jf>;
- | <jk>public int</jk> <jf>zip</jf>;
- | <jk>public boolean</jk> <jf>isCurrent</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- </p>
- <h5 class='figure'>Sample Code</h5>
- <p class='bjava'>
- | Person <jv>person</jv> = <jk>new</jk> Person()
- | .name(<js>"John Smith"</js>)
- | .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
- | .addresses(
- | <jk>new</jk> Address()
- | .street(<js>"100 Main Street"</js>)
- | .city(<js>"Anywhereville"</js>)
- | .state(<jsf>NY</jsf>)
- | .zip(12345)
- | .isCurrent(<jk>true</jk>);
- | );
- </p>
- <h5 class='figure'>Normal XML:</h5>
- <p class='bxml'>
- | <xt><person></xt>
- | <xt><name></xt>John Smith<xt></name></xt>
- | <xt><birthDate></xt>1946-08-12T04:00:00Z<xt></birthDate></xt>
- | <xt><addresses></xt>
- | <xt><address></xt>
- | <xt><street></xt>100 Main Street<xt></street></xt>
- | <xt><city></xt>Anywhereville<xt></city></xt>
- | <xt><state></xt>NY<xt></state></xt>
- | <xt><zip></xt>12345<xt></zip></xt>
- | <xt><isCurrent></xt>true<xt></isCurrent></xt>
- | <xt></address></xt>
- | <xt></addresses></xt>
- | <xt></person></xt>
- </p>
- <p>
- Juneau produces JSON-equivalent XML, meaning any valid JSON document can be losslessly converted into an XML
- equivalent.
- In fact, all of the Juneau serializers and parsers are built upon this JSON-equivalence.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/29.jm.HtmlDetails.html b/juneau-doc/docs/Topics/02.juneau-marshall/29.jm.HtmlDetails.html
deleted file mode 100644
index 83b1e4624..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/29.jm.HtmlDetails.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'HTML Details'}
-
-<div class='topic'>
- <p>
- Juneau supports converting arbitrary POJOs to and from HTML.
- Built on top of the existing XML parser, it also uses a STaX parser and creates POJOs directly without intermediate DOM objects.
- </p>
- <p>
- The primary use case for HTML serialization is rendering POJOs in easy-to-read format in REST interfaces.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/30.jm.HtmlSchema.html b/juneau-doc/docs/Topics/02.juneau-marshall/30.jm.HtmlSchema.html
deleted file mode 100644
index 4c3f82a85..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/30.jm.HtmlSchema.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'HTML-Schema Support'}
-
-<div class='topic'>
- <p>
- The {@link oaj.html.HtmlSchemaSerializer} class is the HTML-equivalent to the
- {@link oaj.json.JsonSchemaSerializer} class.
- It's used to generate HTML versions of JSON-Schema documents that describe the output generated by the
- {@link oaj.json.JsonSerializer} class.
- </p>
- <h5 class='figure'>Sample Beans</h5>
- <p class='bjava'>
- | <jk>public class</jk> Person {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>name</jf>;
- | <jk>public</jk> Calendar <jf>birthDate</jf>;
- | <jk>public</jk> List<Address> <jf>addresses</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- |
- | <jk>public class</jk> Address {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
- | <jk>public</jk> StateEnum <jf>state</jf>;
- | <jk>public int</jk> <jf>zip</jf>;
- | <jk>public boolean</jk> <jf>isCurrent</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- </p>
- <p>
- The code for creating our POJO model and generating HTML-Schema is shown below:
- </p>
- <p class='bjava'>
- | <jc>// Get the one of the default schema serializers.</jc>
- | HtmlSchemaSerializer <jv>serializer</jv> = HtmlSchemaSerializer.<jsf>DEFAULT_SIMPLE_READABLE</jsf>;
- |
- | <jc>// Get the HTML Schema for the POJO.</jc>
- | String <jv>htmlSchema</jv> = <jv>serializer</jv>.serialize(<jk>new</jk> Person());
- |
- | <jc>// This also works.</jc>
- | <jv>htmlSchema</jv> = <jv>serializer</jv>.serialize(Person.<jk>class</jk>);
- </p>
- <p>
- The result is the HTML table shown below:
- </p>
- <table class='bordered unstyled w800'>
- <tr>
- <td>type</td>
- <td>object</td>
- </tr>
- <tr>
- <td>properties</td>
- <td>
- <table>
- <tr>
- <td>name</td>
- <td>
- <table>
- <tr>
- <td>type</td>
- <td>string</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>birthDate</td>
- <td>
- <table>
- <tr>
- <td>type</td>
- <td>string</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>addresses</td>
- <td>
- <table>
- <tr>
- <td>type</td>
- <td>array</td>
- </tr>
- <tr>
- <td>items</td>
- <td>
- <table>
- <tr>
- <td>type</td>
- <td>object</td>
- </tr>
- <tr>
- <td>properties</td>
- <td>
- <table>
- <tr>
- <td>street</td>
- <td>
- <table>
- <tr>
- <td>type</td>
- <td>string</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>city</td>
- <td>
- <table>
- <tr>
- <td>type</td>
- <td>string</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>state</td>
- <td>
- <table>
- <tr>
- <td>type</td>
- <td>string</td>
- </tr>
- <tr>
- <td>enum</td>
- <td>
- <ul>
- <li>AL</li>
- <li>PA</li>
- <li>NC</li>
- </ul>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>zip</td>
- <td>
- <table>
- <tr>
- <td>type</td>
- <td>integer</td>
- </tr>
- <tr>
- <td>format</td>
- <td>int32</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>isCurrent</td>
- <td>
- <table>
- <tr>
- <td>type</td>
- <td>boolean</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/31.jm.UonDetails.html b/juneau-doc/docs/Topics/02.juneau-marshall/31.jm.UonDetails.html
deleted file mode 100644
index 292060c0e..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/31.jm.UonDetails.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'UON Details'}
-
-<div class='topic'>
- <p>
- Juneau supports converting arbitrary POJOs to and from UON strings using ultra-efficient serializers
- and parsers.
- The serializer converts POJOs directly to UON strings without the need for intermediate DOM objects
- using a highly-efficient state machine.
- Likewise, the parser creates POJOs directly from UON strings without the need for intermediate DOM
- objects.
- </p>
- <p>
- Juneau uses UON (URL-Encoded Object Notation) for representing POJOs.
- The UON specification can be found <a href='doc-files/rfc_uon.txt'>here</a>.
- </p>
- <p>
- The following example shows JSON for a typical bean:
- </p>
- <h5 class='figure'>Sample Beans</h5>
- <p class='bjava'>
- | <jk>public class</jk> Person {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>name</jf>;
- | <ja>@Swap</ja>(TemporalCalendarSwap.IsoInstant.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
- | <jk>public</jk> List<Address> <jf>addresses</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- |
- | <jk>public class</jk> Address {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
- | <jk>public</jk> StateEnum <jf>state</jf>;
- | <jk>public int</jk> <jf>zip</jf>;
- | <jk>public boolean</jk> <jf>isCurrent</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- </p>
- <h5 class='figure'>Sample Code</h5>
- <p class='bjava'>
- | Person <jv>person</jv> = <jk>new</jk> Person()
- | .name(<js>"John Smith"</js>)
- | .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
- | .addresses(
- | <jk>new</jk> Address()
- | .street(<js>"100 Main Street"</js>)
- | .city(<js>"Anywhereville"</js>)
- | .state(<jsf>NY</jsf>)
- | .zip(12345)
- | .isCurrent(<jk>true</jk>);
- | );
- </p>
- <h5 class='figure'>UON</h5>
- <p class='buon'>
- | (
- | <ua>name</ua>=<us>'John+Smith'</us>,
- | <ua>birthDate</ua>=<us>'1946-08-12T00:00:00Z'</us>,
- | <ua>addresses</ua>=@(
- | (
- | <ua>street</ua>=<us>'100 Main Street'</us>,
- | <ua>city</ua>=<us>Anywhereville</us>,
- | <ua>state</ua>=<us>NY</us>,
- | <ua>zip</ua>=<un>12345</un>,
- | <ua>isCurrent</ua>=<uk>true</uk>
- | )
- | )
- | )
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/32.jm.UrlEncodingDetails.html b/juneau-doc/docs/Topics/02.juneau-marshall/32.jm.UrlEncodingDetails.html
deleted file mode 100644
index a6c7a9f42..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/32.jm.UrlEncodingDetails.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'URL-Encoding Details'}
-
-<div class='topic'>
- <p>
- Juneau supports converting arbitrary POJOs to and from URL-encoded strings using ultra-efficient serializers
- and parsers.
- The serializer converts POJOs directly to URL-encoded strings without the need for intermediate DOM objects
- using a highly-efficient state machine.
- Likewise, the parser creates POJOs directly from URL-encoded strings without the need for intermediate DOM
- objects.
- </p>
- <p>
- Juneau uses UON (URL-Encoded Object Notation) for representing POJOs as URL-Encoded values in key-value pairs.
- The UON specification can be found <a href='doc-files/rfc_uon.txt'>here</a>.
- </p>
- <p>
- The following example shows JSON for a typical bean:
- </p>
- <h5 class='figure'>Sample Beans</h5>
- <p class='bjava'>
- | <jk>public class</jk> Person {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>name</jf>;
- | <ja>@Swap</ja>(TemporalCalendarSwap.IsoInstant.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
- | <jk>public</jk> List<Address> <jf>addresses</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- |
- | <jk>public class</jk> Address {
- |
- | <jc>// Bean properties</jc>
- | <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
- | <jk>public</jk> StateEnum <jf>state</jf>;
- | <jk>public int</jk> <jf>zip</jf>;
- | <jk>public boolean</jk> <jf>isCurrent</jf>;
- |
- | <jc>// Getters/setters omitted</jc>
- | }
- </p>
- <h5 class='figure'>Sample Code</h5>
- <p class='bjava'>
- | Person <jv>person</jv> = <jk>new</jk> Person()
- | .name(<js>"John Smith"</js>)
- | .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
- | .addresses(
- | <jk>new</jk> Address()
- | .street(<js>"100 Main Street"</js>)
- | .city(<js>"Anywhereville"</js>)
- | .state(<jsf>NY</jsf>)
- | .zip(12345)
- | .isCurrent(<jk>true</jk>);
- | );
- </p>
- <h5 class='figure'>URL-Encoding</h5>
- <p class='burlenc'>
- | <ua>name</ua>=<us>'John+Smith'</us>
- | &<ua>birthDate</ua>=<us>'1946-08-12T00:00:00Z'</us>
- | &<ua>addresses</ua>=@(
- | (
- | <ua>street</ua>=<us>'100 Main Street'</us>,
- | <ua>city</ua>=<us>Anywhereville</us>,
- | <ua>state</ua>=<us>NY</us>,
- | <ua>zip</ua>=<un>12345</un>,
- | <ua>isCurrent</ua>=<uk>true</uk>
- | )
- | )
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/33.jm.MsgPackDetails.html b/juneau-doc/docs/Topics/02.juneau-marshall/33.jm.MsgPackDetails.html
deleted file mode 100644
index a185395c8..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/33.jm.MsgPackDetails.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'MessagePack Details'}
-
-<div class='topic'>
- <p>
- Juneau supports converting arbitrary POJOs to and from MessagePack using ultra-efficient serializers
- and parsers.
- </p>
- <p>
- MessagePack is a compact binary form of JSON.
- The serialization support for MessagePack mirrors that of JSON.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/34.jm.OpenApiDetails.html b/juneau-doc/docs/Topics/02.juneau-marshall/34.jm.OpenApiDetails.html
deleted file mode 100644
index ba5e40e6c..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/34.jm.OpenApiDetails.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'OpenAPI Details', updated:'8.2.0'}
-
-<div class='topic'>
- <p>
- Juneau supports converting arbitrary POJOs to and from strings using OpenAPI-based schema rules.
- </p>
- <p>
- The relevant classes for using OpenAPI-based serialization are:
- </p>
- <ul class='javatree'>
- <li class='jc'>{@link oaj.oapi.OpenApiSerializer} - Converts POJOs to strings.
- <li class='jc'>{@link oaj.oapi.OpenApiParser} - Converts strings to POJOs.
- <li class='jc'>{@link oaj.httppart.HttpPartSchema} - Defines the schema for your POJO.
- </ul>
- <p>
- The {@link oaj.httppart.HttpPartSchema} class is used to define the formatting and
- validations for a POJO.
- It's used in conjunction with the serializer and parser to produce and consume HTTP parts based on
- OpenAPI rules.
- </p>
- <p>
- Later in the rest-server and rest-client sections, we also describe how the following annotations
- can be applied to method parameters and class types to define the schema for various HTTP parts:
- </p>
- <ul class='javatreec'>
- <li class='ja'>{@link oaj.http.annotation.Content}
- <li class='ja'>{@link oaj.http.annotation.Header}
- <li class='ja'>{@link oaj.http.annotation.Query}
- <li class='ja'>{@link oaj.http.annotation.FormData}
- <li class='ja'>{@link oaj.http.annotation.Path}
- <li class='ja'>{@link oaj.http.annotation.Response}
- <li class='ja'>{@link oaj.http.annotation.ResponseHeader}
- </ul>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/35.jm.BestPractices.html b/juneau-doc/docs/Topics/02.juneau-marshall/35.jm.BestPractices.html
deleted file mode 100644
index 197a07bf4..000000000
--- a/juneau-doc/docs/Topics/02.juneau-marshall/35.jm.BestPractices.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'Best Practices'}
-
-<div class='topic'>
- <ol class='spaced-list'>
- <li>
- Reuse instances of serializers and parsers whenever possible.
- <br>They are designed to be thread safe and maintain internal caches of bean metadata to increase performance.
- <li>
- The {@link oaj.BeanTraverseContext.Builder#detectRecursions()}
- option can cause a performance penalty of
- around 20%.
- <br>Therefore, it's recommended that this option be used only when necessary.
- <li>
- In general, JSON serialization and parsing is about 20% faster than XML.
- JSON is also more compact than XML.
- <br>MessagePack is fastest and most compact of all.
- <li>
- The RDF parsers are SLOW.
- <br>RDF simply isn't efficient with node traversal, so creating tree structures out of RDF models
- is highly inefficient.
- <li>
- The {@link oaj.parser.Parser} methods that take in {@link oaj.ClassMeta}
- parameters are slightly faster than methods that
- take in {@link java.lang.Class} or {@link java.lang.Object} parameters, since the latter methods involve
- hash lookups to resolve to {@link oaj.ClassMeta} parameters.
- </ol>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts.html b/juneau-doc/docs/Topics/06.juneau-rest-common.html
similarity index 77%
rename from juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts.html
rename to juneau-doc/docs/Topics/06.juneau-rest-common.html
index 965fc17e4..6901955de 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-common.html
@@ -13,9 +13,28 @@
***************************************************************************************************************************/
-->
-{title:'HTTP Parts', created:'9.0.0'}
+{title:'juneau-rest-common', created:'9.0.0'}
<div class='topic'>
+ <h5 class='figure'>Maven Dependency</h5>
+ <p class='bxml w500'>
+ | <xt><dependency></xt>
+ | <xt><groupId></xt>org.apache.juneau<xt></groupId></xt>
+ | <xt><artifactId></xt>juneau-rest-common<xt></artifactId></xt>
+ | <xt><version></xt>{@property juneauVersion}<xt></version></xt>
+ | <xt></dependency></xt>
+ </p>
+
+ <h5 class='figure'>Java Library</h5>
+ <p class='bcode w500'>
+ | juneau-rest-common-{@property juneauVersion}.jar
+ </p>
+
+ <h5 class='figure'>OSGi Module</h5>
+ <p class='bcode w500'>
+ | org.apache.juneau.rest.common_{@property juneauVersion}.jar
+ </p>
+
<p>
The {@link oaj.http} package contains a slew of useful extensions to the Apache HttpComponents libraries
and define APIs used extensively in the REST server and client APIs.
@@ -37,6 +56,4 @@
of the classes defined in this package make up integral components of that API. Likewise, the APIs
defined here are also used in the REST Server APIs also described later.
</p>
-
-
</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/01.jm.org.apache.juneau.http.html b/juneau-doc/docs/Topics/06.juneau-rest-common/01.jrc.org.apache.juneau.http.html
similarity index 100%
rename from juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/01.jm.org.apache.juneau.http.html
rename to juneau-doc/docs/Topics/06.juneau-rest-common/01.jrc.org.apache.juneau.http.html
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/02.jm.org.apache.juneau.http.annotation.html b/juneau-doc/docs/Topics/06.juneau-rest-common/02.jrc.org.apache.juneau.http.annotation.html
similarity index 100%
rename from juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/02.jm.org.apache.juneau.http.annotation.html
rename to juneau-doc/docs/Topics/06.juneau-rest-common/02.jrc.org.apache.juneau.http.annotation.html
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/03.jm.org.apache.juneau.http.header.html b/juneau-doc/docs/Topics/06.juneau-rest-common/03.jrc.org.apache.juneau.http.header.html
similarity index 100%
rename from juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/03.jm.org.apache.juneau.http.header.html
rename to juneau-doc/docs/Topics/06.juneau-rest-common/03.jrc.org.apache.juneau.http.header.html
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/04.jm.org.apache.juneau.http.part.html b/juneau-doc/docs/Topics/06.juneau-rest-common/04.jrc.org.apache.juneau.http.part.html
similarity index 100%
rename from juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/04.jm.org.apache.juneau.http.part.html
rename to juneau-doc/docs/Topics/06.juneau-rest-common/04.jrc.org.apache.juneau.http.part.html
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/05.jm.org.apache.juneau.http.entity.html b/juneau-doc/docs/Topics/06.juneau-rest-common/05.jrc.org.apache.juneau.http.entity.html
similarity index 100%
rename from juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/05.jm.org.apache.juneau.http.entity.html
rename to juneau-doc/docs/Topics/06.juneau-rest-common/05.jrc.org.apache.juneau.http.entity.html
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/06.jm.org.apache.juneau.http.resource.html b/juneau-doc/docs/Topics/06.juneau-rest-common/06.jrc.org.apache.juneau.http.resource.html
similarity index 100%
rename from juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/06.jm.org.apache.juneau.http.resource.html
rename to juneau-doc/docs/Topics/06.juneau-rest-common/06.jrc.org.apache.juneau.http.resource.html
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/07.jm.org.apache.juneau.http.response.html b/juneau-doc/docs/Topics/06.juneau-rest-common/07.jrc.org.apache.juneau.http.response.html
similarity index 100%
rename from juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/07.jm.org.apache.juneau.http.response.html
rename to juneau-doc/docs/Topics/06.juneau-rest-common/07.jrc.org.apache.juneau.http.response.html
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/08.jm.org.apache.juneau.http.remote.html b/juneau-doc/docs/Topics/06.juneau-rest-common/08.jrc.org.apache.juneau.http.remote.html
similarity index 100%
rename from juneau-doc/docs/Topics/02.juneau-marshall/24.jm.HttpParts/08.jm.org.apache.juneau.http.remote.html
rename to juneau-doc/docs/Topics/06.juneau-rest-common/08.jrc.org.apache.juneau.http.remote.html
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server.html b/juneau-doc/docs/Topics/06.juneau-rest-server.html
deleted file mode 100644
index 653a14e99..000000000
--- a/juneau-doc/docs/Topics/06.juneau-rest-server.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'juneau-rest-server', updated:'9.0.0'}
-
-<div class='topic'>
- <h5 class='figure'>Maven Dependency</h5>
- <p class='bxml w500'>
- | <xt><dependency></xt>
- | <xt><groupId></xt>org.apache.juneau<xt></groupId></xt>
- | <xt><artifactId></xt>juneau-rest-server<xt></artifactId></xt>
- | <xt><version></xt>{@property juneauVersion}<xt></version></xt>
- | <xt></dependency></xt>
- </p>
-
- <h5 class='figure'>Java Library</h5>
- <p class='bcode w500'>
- | juneau-rest-server-{@property juneauVersion}.jar
- </p>
-
- <h5 class='figure'>OSGi Module</h5>
- <p class='bcode w500'>
- | org.apache.juneau.rest.server_{@property juneauVersion}.jar
- </p>
-
- <p>
- The <l>juneau-rest-server</l> library allows you to quickly wrap POJOs and expose them as full-fledged REST
- resources served up in a servlet container using a bare-minimum amount of code.
- The primary goal for Juneau was to make it as easy as possible to implement easy-to-read and self-documenting
- REST resources using very little code.
- </p>
- <p>
- One of the biggest advantages of the Juneau REST framework over similar architectures is that it hides the
- serialization layer from the developer.
- The developer can work entirely with POJOs and let the Juneau framework handle all the serialization and
- parsing work.
- The developer need never know what the <l>Accept</l> or <l>Content-Type</l> or <l>Accept-Encoding</l> (etc...)
- header values are because those details are all handled by the framework.
- </p>
- <p>
- The API builds upon the existing JEE Servlet API.
- The root class, {@link oajr.servlet.RestServlet} is nothing but a specialized
- {@link javax.servlet.http.HttpServlet}, and the {@link oajr.RestRequest} and
- {@link oajr.RestResponse} classes are nothing more than specialized
- {@link javax.servlet.http.HttpServletRequest} and {@link javax.servlet.http.HttpServletResponse} objects.
- This allows maximum flexibility for the developer since you can let Juneau handle operations such as
- serialization, or you can revert to the existing servlet APIs to do low-level processing of requests yourself.
- It also means you need nothing more than a Servlet container such as Jetty to use the REST framework.
- </p>
-
- <h5 class='topic'>Features</h5>
- <ul class='spaced-list'>
- <li>
- Deployable in standard Servlet containers.
- <li>
- Deployable in Spring Boot environments with full support for injected beans.
- <li>
- Serializes POJOs to JSON, XML, HTML, URL-Encoding, UON, RDF/XML, N-Triple, Turtle, N3, SOAP, or
- Java-serialized-object based on value of <l>Accept</l> header.
- <br>No user code is required to handle these types.
- <ul>
- <li>Extensible design that provides ability to override existing content type handlers, or add the
- ability to handle other kinds of content types.
- </ul>
- <li>
- Parses content of POST/PUT request bodies to POJOs.
- <li>
- Automatic built-in ability to serialize POJO metadata to JSON+SCHEMA, XML+SCHEMA, or HTML+SCHEMA based on
- <l>Accept</l> header.
- <li>
- Automatic negotiation of output Writer based on HTTP headers.
- <ul>
- <li>Automatic handling of <l>Accept-Charset</l> header for all character sets supported by the JVM.
- <li>Automatic handling of <l>Accept-Encoding</l> header with registered encoders.
- </ul>
- <li>
- Automatic error handling.
- <ul>
- <li>Automatic 401 errors (Unauthorized) on failed guards.
- <li>Automatic 404 errors (Not Found) on unmatched path patterns.
- <li>Automatic 405 errors (Method Not Implemented) on unimplemented methods.
- <li>Automatic 406 errors (Not Acceptable) when no matching serializer was found to handle the
- <l>Accept</l> header.
- <li>Automatic 412 errors (Precondition Failed) when all matchers failed to match.
- <li>Automatic 415 errors (Unsupported Media Type) when no matching parser was found was found to handle
- the <l>Content-Type</l> header.
- <li>Automatic 500 errors on uncaught exceptions.
- </ul>
- <li>
- Support for parsing all HTTP parts (headers, query, formData, path variables) using Swagger formatting rules and validations.
- <br>Not limited to simple POJOs, but rather you can represent arbitrarily-complex POJOs in any HTTP part using UON notation.
- <li>
- Auto-created Swagger JSON and Swagger UI available through OPTIONS requests of resources.
- <li>
- Various useful debugging features that make debugging using a browser extremely simple...
- <ul>
- <li>Ability to pass HTTP header values as URL GET parameters (e.g. <l>&Accept=text/xml</l>).
- <li>Ability to pass HTTP content on PUT/POST requests as a URL GET parameter
- (e.g. <l>&content=(foo=bar)</l>).
- <li>Ability to simulate non-GET requests using a <l>&method</l> GET parameter
- (e.g. <l>&method=POST</l>).
- <li>Ability to force <js>"text/plain"</js> on response using GET parameter <l>&plainText=true</l>.
- </ul>
- <li>
- Ability to implement overloaded HTTP methods through the use of the <l>&method</l> attribute
- (e.g. <l>&method=FOO</l>).
- <li>
- Ability to match URL patterns (e.g. <l>/foo/{fooId}/bar/{barId}</l>) against URLs
- (e.g. <l>/foo/123/bar/456/bing</l>).
- <li>
- Ability to associate guards at the resource or method levels through annotations.
- <br>Typically useful for security, but can be used for a variety of purposes.
- <li>
- Ability to associate converters at the resource or method levels through annotations.
- <br>Typically useful for performing conversions on input and output, such as for supporting older input and
- output formats.
- </ul>
- <p>
- Many of the examples in this document are pulled directly from <l>juneau-examples-rest</l>.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server-rdf.html b/juneau-doc/docs/Topics/07.juneau-rest-server-rdf.html
deleted file mode 100644
index 4151d059d..000000000
--- a/juneau-doc/docs/Topics/07.juneau-rest-server-rdf.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'juneau-rest-server-rdf'}
-
-<div class='topic'>
- <h5 class='figure'>Maven Dependency</h5>
- <p class='bxml w500'>
- | <xt><dependency></xt>
- | <xt><groupId></xt>org.apache.juneau<xt></groupId></xt>
- | <xt><artifactId></xt>juneau-rest-server-jaxrs<xt></artifactId></xt>
- | <xt><version></xt>{@property juneauVersion}<xt></version></xt>
- | <xt></dependency></xt>
- </p>
-
- <h5 class='figure'>Java Library</h5>
- <p class='bcode w500'>
- | juneau-rest-server-jaxrs-{@property juneauVersion}.jar
- </p>
-
- <h5 class='figure'>OSGi Module</h5>
- <p class='bcode w500'>
- | org.apache.juneau.rest.server_{@property juneauVersion}.jar
- </p>
-
- <p>
- The <c>juneau-rest-server-jaxrs</c> library provides an implementation of a <c>MessageBodyReader</c>
- and <c>MessageBodyWriter</c> to allow any of the Juneau serializers and parsers to be used in a
- JAX/RS environment.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/08.juneau-rest-server-jaxrs.html b/juneau-doc/docs/Topics/08.juneau-rest-server-jaxrs.html
deleted file mode 100644
index 82edc8e11..000000000
--- a/juneau-doc/docs/Topics/08.juneau-rest-server-jaxrs.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'juneau-rest-server-jaxrs'}
-
-<div class='topic'>
- <h5 class='figure'>Maven Dependency</h5>
- <p class='bxml w500'>
- | <xt><dependency></xt>
- | <xt><groupId></xt>org.apache.juneau<xt></groupId></xt>
- | <xt><artifactId></xt>juneau-rest-server-jaxrs<xt></artifactId></xt>
- | <xt><version></xt>{@property juneauVersion}<xt></version></xt>
- | <xt></dependency></xt>
- </p>
-
- <h5 class='figure'>Java Library</h5>
- <p class='bcode w500'>
- | juneau-rest-server-jaxrs-{@property juneauVersion}.jar
- </p>
-
- <h5 class='figure'>OSGi Module</h5>
- <p class='bcode w500'>
- | org.apache.juneau.rest.server_{@property juneauVersion}.jar
- </p>
-
- <p>
- The <c>juneau-rest-server-jaxrs</c> library provides an implementation of a <c>MessageBodyReader</c>
- and <c>MessageBodyWriter</c> to allow any of the Juneau serializers and parsers to be used in a
- JAX/RS environment.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-server-springboot.html b/juneau-doc/docs/Topics/09.juneau-rest-server-springboot.html
deleted file mode 100644
index 54414380e..000000000
--- a/juneau-doc/docs/Topics/09.juneau-rest-server-springboot.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'juneau-rest-server-springboot', created:'8.0.0', updated:'9.0.0'}
-
-<div class='topic'>
- <h5 class='figure'>Maven Dependency</h5>
- <p class='bxml w500'>
- | <xt><dependency></xt>
- | <xt><groupId></xt>org.apache.juneau<xt></groupId></xt>
- | <xt><artifactId></xt>juneau-rest-server-springboot<xt></artifactId></xt>
- | <xt><version></xt>{@property juneauVersion}<xt></version></xt>
- | <xt></dependency></xt>
- </p>
-
- <h5 class='figure'>Java Library</h5>
- <p class='bcode w500'>
- | juneau-rest-server-springboot-{@property juneauVersion}.jar
- </p>
-
- <h5 class='figure'>OSGi Module</h5>
- <p class='bcode w500'>
- | org.apache.juneau.rest.server.springboot_{@property juneauVersion}.jar
- </p>
-
- <p>
- The <c>juneau-rest-server-springboot</c> library provides classes to make it easy to integrate
- Juneau REST resources with Spring and Spring Boot.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client.html b/juneau-doc/docs/Topics/10.juneau-rest-client.html
deleted file mode 100644
index cbb24575b..000000000
--- a/juneau-doc/docs/Topics/10.juneau-rest-client.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<!--
-/***************************************************************************************************************************
-Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'juneau-rest-client', updated:'8.2.0', updated:'9.0.0'}
-
-<div class='topic'>
- <h5 class='figure'>Maven Dependency</h5>
- <p class='bxml w500'>
- | <xt><dependency></xt>
- | <xt><groupId></xt>org.apache.juneau<xt></groupId></xt>
- | <xt><artifactId></xt>juneau-rest-client<xt></artifactId></xt>
- | <xt><version></xt>{@property juneauVersion}<xt></version></xt>
- | <xt></dependency></xt>
- </p>
-
- <h5 class='figure'>Java Library</h5>
- <p class='bcode w500'>
- | juneau-rest-client-{@property juneauVersion}.jar
- </p>
-
- <h5 class='figure'>OSGi Module</h5>
- <p class='bcode w500'>
- | org.apache.juneau.rest.client_{@property juneauVersion}.jar
- </p>
-
- <p>
- Built upon the feature-rich Apache HttpClient library, the Juneau RestClient API adds support for fluent-style
- REST calls and the ability to perform marshalling of POJOs to and from HTTP parts.
- </p>
-
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | <jc>// Create a basic REST client with JSON support and download a bean.</jc>
- | MyBean <jv>bean</jv> = RestClient.<jsm>create</jsm>()
- | .simpleJson()
- | .build()
- | .get(<jsf>URI</jsf>)
- | .run()
- | .assertStatus().asCode().is(200)
- | .assertHeader(<js>"Content-Type"</js>).matchesSimple(<js>"application/json*"</js>)
- | .getContent().as(MyBean.<jk>class</jk>);
- </p>
-
- <p>
- Breaking apart the fluent call, we can see the classes being used:
- </p>
-
- <p class='bjava'>
- | RestClient.Builder <jv>builder</jv> = RestClient.<jsm>create</jsm>().simpleJson();
- | RestClient <jv>client</jv> = <jv>builder</jv>.build();
- | RestRequest <jv>req</jv> = <jv>client</jv>.get(<jsf>URI</jsf>);
- | RestResponse <jv>res</jv> = <jv>req</jv>.run();
- | RestResponseStatusLineAssertion <jv>statusLineAssertion</jv> = <jv>res</jv>.assertStatus();
- | FluentIntegerAssertion<RestResponse> <jv>codeAssertion</jv> = <jv>statusLineAssertion</jv>.asCode();
- | <jv>res</jv> = <jv>codeAssertion</jv>.is(200);
- | FluentStringAssertion<RestResponse> <jv>headerAssertion</jv> = <jv>res</jv>.assertHeader(<js>"Content-Type"</js>);
- | <jv>res</jv> = <jv>headerAssertion</jv>.matchesSimple(<js>"application/json*"</js>);
- | ResponseContent <jv>content</jv> = <jv>res</jv>.getContent();
- | MyBean <jv>bean</jv> = <jv>content</jv>.as(MyBean.<jk>class</jk>);
- </p>
-
- <p>
- It additionally provides support for creating remote proxy interfaces using REST as the transport medium.
- </p>
-
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | <jc>// Define a Remote proxy for interacting with a REST interface.</jc>
- | <ja>@Remote</ja>(path=<js>"/petstore"</js>)
- | <jk>public interface</jk> PetStore {
- |
- | <ja>@RemotePost</ja>(<js>"/pets"</js>)
- | Pet addPet(
- | <ja>@Content</ja> CreatePet <jv>pet</jv>,
- | <ja>@Header</ja>(<js>"E-Tag"</js>) UUID <jv>etag</jv>,
- | <ja>@Query</ja>(<js>"debug"</js>) <jk>boolean</jk> <jv>debug</jv>
- | );
- | }
- |
- | PetStore <jv>store</jv> = RestClient
- | .<jsm>create</jsm>()
- | .simpleJson()
- | .build()
- | .getRemote(PetStore.<jk>class</jk>, <js>"http://localhost:10000"</js>);
- | CreatePet <jv>createPet</jv> = <jk>new</jk> CreatePet(<js>"Fluffy"</js>, 9.99);
- | Pet <jv>pet</jv> = <jv>store</jv>.addPet(<jv>createPet</jv>, UUID.<jsm>randomUUID</jsm>(), <jk>true</jk>);
- </p>
-
- <p>
- The classes are closely tied to Apache HttpClient, yet provide lots of additional functionality:
- </p>
- <ul class='javatree'>
- <li class='jc'>{@link oajrc.RestClient} <jk>implements</jk> {@link org.apache.http.client.HttpClient}, creates {@link oajrc.RestRequest} objects.
- <li class='jc'>{@link oajrc.RestRequest} <jk>implements</jk> {@link org.apache.http.client.methods.HttpUriRequest}, creates {@link oajrc.RestResponse} objects.
- <li class='jc'>{@link oajrc.RestResponse} <jk>implements</jk> {@link org.apache.http.HttpResponse}, creates {@link oajrc.ResponseContent} and {@link oajrc.ResponseHeader} objects.
- <li class='jc'>{@link oajrc.ResponseContent} <jk>implements</jk> {@link org.apache.http.HttpEntity}
- </ul>
-
- <p>
- Instances of this class are built using the {@link oajrc.RestClient.Builder} class which can be constructed using
- the {@link oajrc.RestClient#create() RestClient.create()} method as shown above.
- </p>
- <p>
- Clients are typically created with a root URI so that relative URIs can be used when making requests.
- This is done using the {@link oajrc.RestClient.Builder#rootUri(Object)} method.
- </p>
-
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | <jc>// Create a client where all URIs are relative to localhost.</jc>
- | RestClient <jv>client</jv> = RestClient.<jsm>create</jsm>().json().rootUri(<js>"http://localhost:10000"</js>).build();
- |
- | <jc>// Use relative paths.</jc>
- | String <jv>content</jv> = <jv>client</jv>.get(<js>"/subpath"</js>).run().getContent().asString();
- </p>
-
- <p>
- The {@link oajrc.RestClient} class creates {@link oajrc.RestRequest} objects using the following methods:
- </p>
-
- <ul class='javatree'>
- <li class='jc'>{@link oajrc.RestClient}
- <ul>
- <li class='jm'>{@link oajrc.RestClient#get(Object) get(uri)} / {@link oajrc.RestClient#get() get()}
- <li class='jm'>{@link oajrc.RestClient#put(Object,Object) put(uri,body)} / {@link oajrc.RestClient#put(Object) put(uri)}
- <li class='jm'>{@link oajrc.RestClient#post(Object) post(uri,body)} / {@link oajrc.RestClient#post(Object) post(uri)}
- <li class='jm'>{@link oajrc.RestClient#patch(Object,Object) patch(uri,body)} / {@link oajrc.RestClient#patch(Object) patch(uri)}
- <li class='jm'>{@link oajrc.RestClient#delete(Object) delete(uri)}
- <li class='jm'>{@link oajrc.RestClient#head(Object) head(uri)}
- <li class='jm'>{@link oajrc.RestClient#options(Object) options(uri)}
- <li class='jm'>{@link oajrc.RestClient#formPost(Object,Object) formPost(uri,body)} / {@link oajrc.RestClient#formPost(Object) formPost(uri)}
- <li class='jm'>{@link oajrc.RestClient#formPostPairs(Object,Object...) formPostPairs(uri,parameters...)}
- <li class='jm'>{@link oajrc.RestClient#request(String,Object,Object) request(method,uri,body)}
- </ul>
- </li>
- </ul>
-
- <p>
- The {@link oajrc.RestRequest} class creates {@link oajrc.RestResponse} objects using the following methods:
- </p>
-
- <ul class='javatree'>
- <li class='jc'>{@link oajrc.RestRequest}
- <ul>
- <li class='jm'>{@link oajrc.RestRequest#run() run()}
- <li class='jm'>{@link oajrc.RestRequest#complete() complete()}
- </ul>
- </li>
- </ul>
-
- <p>
- The distinction between the two methods is that {@link oajrc.RestRequest#complete() complete()} automatically consumes the response body and
- {@link oajrc.RestRequest#run() run()} does not. Note that you must consume response bodies in order for HTTP connections to be freed up
- for reuse! The {@link java.io.InputStream InputStreams} returned by the {@link oajrc.ResponseContent} object are auto-closing once
- they are exhausted, so it is often not necessary to explicitly close them.
- </p>
-
- <p>
- The following examples show the distinction between the two calls:
- </p>
-
- <p class='bjava'>
- | <jc>// Consuming the response, so use run().</jc>
- | String <jv>content</jv> = <jv>client</jv>.get(<jsf>URI</jsf>).run().getContent().asString();
- |
- | <jc>// Only interested in response status code, so use complete().</jc>
- | <jk>int</jk> <jv>status</jv> = <jv>client</jv>.get(<jsf>URI</jsf>).complete().getStatusCode();
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/11.juneau-rest-mock.html b/juneau-doc/docs/Topics/11.juneau-rest-mock.html
deleted file mode 100644
index a52aaf6ba..000000000
--- a/juneau-doc/docs/Topics/11.juneau-rest-mock.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'juneau-rest-mock', created:'8.1.0', updated:'8.2.0'}
-
-<div class='topic'>
- <h5 class='figure'>Maven Dependency</h5>
- <p class='bxml w500'>
- | <xt><dependency></xt>
- | <xt><groupId></xt>org.apache.juneau<xt></groupId></xt>
- | <xt><artifactId></xt>juneau-rest-mock<xt></artifactId></xt>
- | <xt><version></xt>{@property juneauVersion}<xt></version></xt>
- | <xt></dependency></xt>
- </p>
-
- <h5 class='figure'>Java Library</h5>
- <p class='bcode w500'>
- | juneau-rest-mock-{@property juneauVersion}.jar
- </p>
-
- <h5 class='figure'>OSGi Module</h5>
- <p class='bcode w500'>
- | org.apache.juneau.rest.mock_{@property juneauVersion}.jar
- </p>
-
- <p>
- The <c>juneau-rest-mock</c> module contains convenience APIs for performing serverless unit
- testing of your REST APIs.
- Each of the APIs provide the ability to fully test your server and client REST interfaces without the
- need for a running servlet container.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core.html b/juneau-doc/docs/Topics/12.juneau-microservice-core.html
deleted file mode 100644
index fef4453a6..000000000
--- a/juneau-doc/docs/Topics/12.juneau-microservice-core.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'juneau-microservice-core', created:'8.1.0', deprecated:'8.1.2'}
-
-<div class='topic'>
- <div class='warn'>
- The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
- framework for creating microservices and the ability for Juneau to be used within Spring Boot.
- </div>
-
- <h5 class='figure'>Maven Dependency</h5>
- <p class='bxml w500'>
- | <xt><dependency></xt>
- | <xt><groupId></xt>org.apache.juneau<xt></groupId></xt>
- | <xt><artifactId></xt>juneau-microservice-core<xt></artifactId></xt>
- | <xt><version></xt>{@property juneauVersion}<xt></version></xt>
- | <xt></dependency></xt>
- </p>
-
- <h5 class='figure'>Java Library</h5>
- <p class='bcode w500'>
- | juneau-microservice-core-{@property juneauVersion}.jar
- </p>
-
- <h5 class='figure'>OSGi Module</h5>
- <p class='bcode w500'>
- | org.apache.juneau.microservice.core_{@property juneauVersion}.jar
- </p>
-
- <p>
- Juneau Microservice is an API for creating stand-alone executable jars with automatic support for
- Juneau configurations and console commands.
- </p>
-
- <p>
- Features include:
- </p>
- <ul class='spaced-list'>
- <li>
- A builder-based API for defining and starting microservices.
- <li>
- An extensible API that allows you to hook into various lifecycle events.
- <li>
- Simple-to-use APIs for accessing manifest file entries, command-line arguments, and external configuration
- file properties.
- </ul>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty.html b/juneau-doc/docs/Topics/13.juneau-microservice-jetty.html
deleted file mode 100644
index afd0ed477..000000000
--- a/juneau-doc/docs/Topics/13.juneau-microservice-jetty.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'juneau-microservice-jetty', created:'8.1.0', deprecated:'8.1.2'}
-
-<div class='topic'>
- <div class='warn'>
- The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
- framework for creating microservices and the ability for Juneau to be used within Spring Boot.
- </div>
-
- <h5 class='figure'>Maven Dependency</h5>
- <p class='bxml w500'>
- | <xt><dependency></xt>
- | <xt><groupId></xt>org.apache.juneau<xt></groupId></xt>
- | <xt><artifactId></xt>juneau-microservice-jetty<xt></artifactId></xt>
- | <xt><version></xt>{@property juneauVersion}<xt></version></xt>
- | <xt></dependency></xt>
- </p>
-
- <h5 class='figure'>Java Library</h5>
- <p class='bcode w500'>
- | juneau-microservice-jetty-{@property juneauVersion}.jar
- </p>
-
- <h5 class='figure'>OSGi Module</h5>
- <p class='bcode w500'>
- | org.apache.juneau.microservice.jetty_{@property juneauVersion}.jar
- </p>
-
- <p>
- Juneau Microservice Jetty is an API for creating stand-alone executable jars that can be used to
- start lightweight configurable REST interfaces with all the power of the Juneau REST server and client APIs.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/14.my-jetty-microservice.html b/juneau-doc/docs/Topics/14.my-jetty-microservice.html
deleted file mode 100644
index 8465f4e0f..000000000
--- a/juneau-doc/docs/Topics/14.my-jetty-microservice.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'my-jetty-microservice', created:'8.1.0', deprecated:'8.1.2'}
-
-<div class='topic'>
- <div class='warn'>
- The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
- framework for creating microservices and the ability for Juneau to be used within Spring Boot.
- </div>
-
- <h5 class='figure'>Starter Project Zip</h5>
- <p class='bcode w500'>
- | my-jetty-microservice-{@property juneauVersion}.zip
- </p>
-
- <p>
- The <l>my-jetty-microservice.zip</l> file is a predefined starter Eclipse project for developing
- REST microservices using the {@doc juneau-microservice-jetty juneau-microservice-jetty} package.
- </p>
- <p>
- It includes a combination of the Juneau Core, Server, and Client APIs and all libraries needed to execute in a Java 1.8+ environment.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/15.my-springboot-microservice.html b/juneau-doc/docs/Topics/15.my-springboot-microservice.html
deleted file mode 100644
index ade6da303..000000000
--- a/juneau-doc/docs/Topics/15.my-springboot-microservice.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'my-springboot-microservice', created:'8.0.0'}
-
-<div class='topic'>
- <h5 class='figure'>Starter Project Zip</h5>
- <p class='bcode w500'>
- | my-springboot-microservice-{@property juneauVersion}.zip
- </p>
-
- <p>
- The <l>my-springboot-microservice.zip</l> file is a predefined starter Eclipse project for developing
- REST microservices using the {@doc juneau-rest-server-springboot juneau-rest-server-springboot} package with Spring Boot.
- </p>
- <p>
- It includes a combination of the Juneau Core, Server, and Client APIs and all libraries needed to execute in a Java 1.8+ environment.
- </p>
- <p>
- One significant difference is that we are not using the Juneau {@link oaj.microservice.Microservice} API for our
- application but instead using the existing Spring Boot API.
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/16.juneau-petstore.html b/juneau-doc/docs/Topics/16.juneau-petstore.html
deleted file mode 100644
index 4615ad4d2..000000000
--- a/juneau-doc/docs/Topics/16.juneau-petstore.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'juneau-petstore', created:'8.2.0', updated:'9.0.0'}
-
-<div class='topic'>
- <p>
- The <c>PetStore</c> application is an functional application meant to demonstrate using Juneau with Spring Boot
- to create an end-to-end client/server REST API.
- </p>
- <p>
- What makes Juneau unique is the ability to create Java interfaces that behave just like RPC, but using REST
- as the underlying protocol. And the technology it not tied to any platform so it can be used in any environment
- by simply pulling in Maven dependencies. The server-side need only provide the ability to host a servlet.
- </p>
- <p>
- Visit the <a class='doclink' href='https://github.com/apache/juneau-petstore'>GitHub project</a> hosting the application.
- </p>
- <p>
- The project is broken down into the following subprojects:
- </p>
- <ul class='spaced-list'>
- <li><c>juneau-petstore-api</c> - Contains the Java interface and DTOs for the petstore application.
- <li><c>juneau-petstore-server</c> - Contains the server-side Java implementation of the petstore Java interface as a REST resource.
- <li><c>juneau-petstore-client</c> - Contains the client-side Java proxy of the petstore Java interface.
- </ul>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/17.Glossaries.html b/juneau-doc/docs/Topics/17.Glossaries.html
deleted file mode 100644
index d173bc493..000000000
--- a/juneau-doc/docs/Topics/17.Glossaries.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'Glossaries', created:'8.1.3'}
-
-<div class='topic'>
- <p>
- </p>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/18.Security.html b/juneau-doc/docs/Topics/18.Security.html
deleted file mode 100644
index 05f0d6352..000000000
--- a/juneau-doc/docs/Topics/18.Security.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-{title:'Security Best-Practices'}
-
-<div class='topic'>
- <p>
- Security is always an ongoing concern in any library.
- If you discover any security vulnerabilities in this code, please refer to the instructions found here:
- </p>
- <ul class='spaced-list'>
- <li class='extlink'>{@doc http://www.apache.org/security SECURITY}
- </ul>
-</div>
\ No newline at end of file