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 c4d46f5cf Update new docs
c4d46f5cf is described below
commit c4d46f5cffa8f971f30afc9c2c188ffd58575c33
Author: James Bognar <[email protected]>
AuthorDate: Wed Sep 17 06:15:01 2025 -0400
Update new docs
---
juneau-docs-poc/docs/release-notes/8.0.0.md | 41 ++++--
juneau-docs-poc/docs/release-notes/8.1.0.md | 138 ++++++++++++---------
juneau-docs-poc/docs/release-notes/8.1.1.md | 23 ++--
juneau-docs-poc/docs/release-notes/8.2.0.md | 66 +++++-----
.../docs/topics/02.04.03.BeanpAnnotation.md | 4 +-
5 files changed, 161 insertions(+), 111 deletions(-)
diff --git a/juneau-docs-poc/docs/release-notes/8.0.0.md
b/juneau-docs-poc/docs/release-notes/8.0.0.md
index ac16a3781..fffcac2fb 100644
--- a/juneau-docs-poc/docs/release-notes/8.0.0.md
+++ b/juneau-docs-poc/docs/release-notes/8.0.0.md
@@ -30,26 +30,41 @@ The structure is now as follows:
#### juneau-svl
New SVL variables:
-\{@link oaj.svl.vars.SubstringVar\}
-\{@link oaj.svl.vars.PatternExtractVar\}
-\{@link oaj.svl.vars.PatternReplaceVar\}
-\{@link oaj.svl.vars.LenVar\}
+
+<tree>
+<java-class>\{@link oaj.svl.vars.SubstringVar\}</java-class>
+<java-class>\{@link oaj.svl.vars.PatternExtractVar\}</java-class>
+<java-class>\{@link oaj.svl.vars.PatternReplaceVar\}</java-class>
+<java-class>\{@link oaj.svl.vars.LenVar\}</java-class>
+</tree>
#### juneau-config
New methods for setting a system default configuration:
-\{@link oaj.config.Config\}
-\{@link oaj.config.Config#getSystemDefault() getSystemDefault()\}
-\{@link oaj.config.Config#setSystemDefault(Config) setSystemDefault(Config)\}
-New classpath store.
-~~ConfigClasspathStore~~
+
+<tree>
+<java-class>\{@link oaj.config.Config\}</java-class>
+<node-1><java-method>\{@link oaj.config.Config#getSystemDefault()
getSystemDefault()\}</java-method></node-1>
+<node-1><java-method>\{@link oaj.config.Config#setSystemDefault(Config)
setSystemDefault(Config)\}</java-method></node-1>
+</tree>
+New classpath store:
+
+<tree>
+<java-class>~~ConfigClasspathStore~~</java-class>
+</tree>
New API method:
-\{@link oaj.config.store.ConfigStore\}
-\{@link oaj.config.store.ConfigStore#exists(String) exists(String)\}
+
+<tree>
+<java-class>\{@link oaj.config.store.ConfigStore\}</java-class>
+<node-1><java-method>\{@link oaj.config.store.ConfigStore#exists(String)
exists(String)\}</java-method></node-1>
+</tree>
#### juneau-rest-server
New methods on ~~RestServlet~~:
-~~RestServlet.setRestResourceResolver(RestResourceResolver)
setRestResourceResolver(RestResourceResolver)~~
-~~RestServlet.getPath() getPath()~~
+
+<tree>
+<java-method>~~RestServlet.setRestResourceResolver(RestResourceResolver)
setRestResourceResolver(RestResourceResolver)~~</java-method>
+<java-method>~~RestServlet.getPath() getPath()~~</java-method>
+</tree>
The registered resource resolver is now used to instantiate objects of classes
defined via ~~@RestResource~~.
This allows for any of those instance to be injectable beans.
#### juneau-rest-server-springboot
diff --git a/juneau-docs-poc/docs/release-notes/8.1.0.md
b/juneau-docs-poc/docs/release-notes/8.1.0.md
index 0794ccb82..0f6832f54 100644
--- a/juneau-docs-poc/docs/release-notes/8.1.0.md
+++ b/juneau-docs-poc/docs/release-notes/8.1.0.md
@@ -19,53 +19,73 @@ title: "Release 8.1.0"
#### juneau-marshall
New utility class for diffing beans:
-\{@link oaj.utils.BeanDiff\}
+
+<tree>
+<java-class>\{@link oaj.utils.BeanDiff\}</java-class>
+</tree>
New annotation for defining bean property names:
-\{@link oaj.annotation.Name\}
+
+<tree>
+<java-annotation>\{@link oaj.annotation.Name\}</java-annotation>
+</tree>
New serializer properties:
-\{@link oaj.serializer.WriterSerializer\}
-~~WriterSerializer.WSERIALIZER_fileCharset WSERIALIZER_fileCharset~~
-~~WriterSerializer.WSERIALIZER_streamCharset WSERIALIZER_streamCharset~~
+
+<tree>
+<java-class>\{@link oaj.serializer.WriterSerializer\}</java-class>
+<node-1><java-field>~~WriterSerializer.WSERIALIZER_fileCharset
WSERIALIZER_fileCharset~~</java-field></node-1>
+<node-1><java-field>~~WriterSerializer.WSERIALIZER_streamCharset
WSERIALIZER_streamCharset~~</java-field></node-1>
+</tree>
The following POJO methods can be used to convert a POJO to/from a Map before
serialization and after parsing.
It's a convenient way of defining a POJO transform.
-`public Map toMap()` - Can be any type of map with string keys and object
vals.
-`public ObjectMap toMap()`
-`public Map toMap(BeanSession bs)` - Can be any type of map with string keys
and object vals.
-`public ObjectMap toMap(BeanSession bs)`
-`public static T fromMap(Map m)` - Can be any type of map with string keys
and object vals.
-`public static T fromMap(ObjectMap m)`
-`public static T fromMap(BeanSession bs, Map m)` - Can be any type of map
with string keys and object vals.
-`public static T fromMap(BeanSession bs, ObjectMap m)`
+<tree>
+<java-method>`public Map toMap()` - Can be any type of map with string keys
and object vals.</java-method>
+<java-method>`public ObjectMap toMap()`</java-method>
+<java-method>`public Map toMap(BeanSession bs)` - Can be any type of map with
string keys and object vals.</java-method>
+<java-method>`public ObjectMap toMap(BeanSession bs)`</java-method>
+<java-method>`public static T fromMap(Map m)` - Can be any type of map with
string keys and object vals.</java-method>
+<java-method>`public static T fromMap(ObjectMap m)`</java-method>
+<java-method>`public static T fromMap(BeanSession bs, Map m)` - Can be any
type of map with string keys and object vals.</java-method>
+<java-method>`public static T fromMap(BeanSession bs, ObjectMap
m)`</java-method>
+</tree>
New convenience debugging methods on Marshall API:
-~~Marshall~~
-~~ oaj.marshall.Marshall.format(String,Object...) format(String,Object...)~~ -
`MessageFormat`-style formatter.
-~~ oaj.marshall.Marshall.out(String,Object...) out(String,Object...)~~ -
Prints `MessageFormat`-style messages to STDOUT.
-~~ oaj.marshall.Marshall.err(String,Object...) err(String,Object...)~~ -
Prints `MessageFormat`-style messages to STDERR.
+
+<tree>
+<java-class>~~Marshall~~</java-class>
+<node-1><java-method>~~ oaj.marshall.Marshall.format(String,Object...)
format(String,Object...)~~ - `MessageFormat`-style
formatter.</java-method></node-1>
+<node-1><java-method>~~ oaj.marshall.Marshall.out(String,Object...)
out(String,Object...)~~ - Prints `MessageFormat`-style messages to
STDOUT.</java-method></node-1>
+<node-1><java-method>~~ oaj.marshall.Marshall.err(String,Object...)
err(String,Object...)~~ - Prints `MessageFormat`-style messages to
STDERR.</java-method></node-1>
+</tree>
Serializer and parser APIs now throw `IOExceptions` in addition to
`SerializeException` and `ParseException` to make it
easier to determine if problems are stream based or syntax based.
New Java 8 date-time transforms:
-~~TemporalSwap~~ - For all Java 8 temporal types (e.g. \{@link
java.time.ZonedDateTime\})
-~~TemporalDateSwap~~ - For \{@link java.util.Date\}
-~~TemporalCalendarSwap~~ - For \{@link java.util.Calendar\}
+
+<tree>
+<java-class>~~TemporalSwap~~ - For all Java 8 temporal types (e.g. \{@link
java.time.ZonedDateTime\})</java-class>
+<java-class>~~TemporalDateSwap~~ - For \{@link java.util.Date\}</java-class>
+<java-class>~~TemporalCalendarSwap~~ - For \{@link
java.util.Calendar\}</java-class>
+</tree>
All serializers and parsers now have built-in default swaps for common class
types:
-\{@link java.util.Enumeration\}
-\{@link java.util.Iterator\}
-\{@link java.util.Locale\}
-\{@link java.util.Calendar\} - ISO offset date-time.
-\{@link java.util.Date\} - Local date-time
-\{@link java.time.Instant\} - ISO instant.
-\{@link java.time.ZonedDateTime\} - ISO offset date-time.
-\{@link java.time.LocalDate\} - ISO local date.
-\{@link java.time.LocalDateTime\} - ISO local date-time.
-\{@link java.time.LocalTime\} - ISO local time.
-\{@link java.time.OffsetDateTime\} - ISO offset date-time.
-\{@link java.time.OffsetTime\} - ISO offset time.
-\{@link java.time.Year\} - ISO year.
-\{@link java.time.YearMonth\} - ISO year-month.
-\{@link java.time.temporal.Temporal\} - ISO instant.
-\{@link java.util.TimeZone\}
-\{@link javax.xml.datatype.XMLGregorianCalendar\}
-\{@link java.time.ZoneId\}
+
+<tree>
+<java-class>\{@link java.util.Enumeration\}</java-class>
+<java-class>\{@link java.util.Iterator\}</java-class>
+<java-class>\{@link java.util.Locale\}</java-class>
+<java-class>\{@link java.util.Calendar\} - ISO offset date-time.</java-class>
+<java-class>\{@link java.util.Date\} - Local date-time</java-class>
+<java-class>\{@link java.time.Instant\} - ISO instant.</java-class>
+<java-class>\{@link java.time.ZonedDateTime\} - ISO offset
date-time.</java-class>
+<java-class>\{@link java.time.LocalDate\} - ISO local date.</java-class>
+<java-class>\{@link java.time.LocalDateTime\} - ISO local
date-time.</java-class>
+<java-class>\{@link java.time.LocalTime\} - ISO local time.</java-class>
+<java-class>\{@link java.time.OffsetDateTime\} - ISO offset
date-time.</java-class>
+<java-class>\{@link java.time.OffsetTime\} - ISO offset time.</java-class>
+<java-class>\{@link java.time.Year\} - ISO year.</java-class>
+<java-class>\{@link java.time.YearMonth\} - ISO year-month.</java-class>
+<java-class>\{@link java.time.temporal.Temporal\} - ISO instant.</java-class>
+<java-class>\{@link java.util.TimeZone\}</java-class>
+<java-class>\{@link javax.xml.datatype.XMLGregorianCalendar\}</java-class>
+<java-class>\{@link java.time.ZoneId\}</java-class>
+</tree>
#### juneau-config
Support for import statements:
@@ -79,7 +99,10 @@ bar = baz
The ~~ConfigFileStore~~now automatically resolves file extensions.
New configuration property for specifying search paths for file extensions:
-~~ConfigFileStore.FILESTORE_extensions~~
+
+<tree>
+<java-field>~~ConfigFileStore.FILESTORE_extensions~~</java-field>
+</tree>
Fixed a bug where instances of ~~ConfigMemoryStore~~ ended up resolving to the
same object.
Uses "application.properties" file as a system default if present.
Useful when being used in a Spring Boot application.
@@ -128,23 +151,26 @@ public class AtomFeedResource extends
BasicRestServletJena {
Config annotations are provided for all serializers and parsers:
-\{@link oaj.annotation.BeanConfig BeanConfig\}
-\{@link oaj.csv.annotation.CsvConfig CsvConfig\}
-\{@link oaj.html.annotation.HtmlConfig HtmlConfig\}
-\{@link oaj.html.annotation.HtmlDocConfig HtmlDocConfig\}
-~~JsoConfig JsoConfig~~
-\{@link oaj.json.annotation.JsonConfig JsonConfig\}
-\{@link oaj.jsonschema.annotation.JsonSchemaConfig JsonSchemaConfig\}
-\{@link oaj.msgpack.annotation.MsgPackConfig MsgPackConfig\}
-\{@link oaj.oapi.annotation.OpenApiConfig OpenApiConfig\}
-\{@link oaj.parser.annotation.ParserConfig ParserConfig\}
-\{@link oaj.plaintext.annotation.PlainTextConfig PlainTextConfig\}
-~~RdfConfig~~
-\{@link oaj.serializer.annotation.SerializerConfig SerializerConfig\}
-\{@link oaj.soap.annotation.SoapXmlConfig SoapXmlConfig\}
-\{@link oaj.uon.annotation.UonConfig UonConfig\}
-\{@link oaj.urlencoding.annotation.UrlEncodingConfig UrlEncodingConfig\}
-\{@link oaj.xml.annotation.XmlConfig XmlConfig\}
+
+<tree>
+<java-annotation>\{@link oaj.annotation.BeanConfig
BeanConfig\}</java-annotation>
+<java-annotation>\{@link oaj.csv.annotation.CsvConfig
CsvConfig\}</java-annotation>
+<java-annotation>\{@link oaj.html.annotation.HtmlConfig
HtmlConfig\}</java-annotation>
+<java-annotation>\{@link oaj.html.annotation.HtmlDocConfig
HtmlDocConfig\}</java-annotation>
+<java-annotation>~~JsoConfig JsoConfig~~</java-annotation>
+<java-annotation>\{@link oaj.json.annotation.JsonConfig
JsonConfig\}</java-annotation>
+<java-annotation>\{@link oaj.jsonschema.annotation.JsonSchemaConfig
JsonSchemaConfig\}</java-annotation>
+<java-annotation>\{@link oaj.msgpack.annotation.MsgPackConfig
MsgPackConfig\}</java-annotation>
+<java-annotation>\{@link oaj.oapi.annotation.OpenApiConfig
OpenApiConfig\}</java-annotation>
+<java-annotation>\{@link oaj.parser.annotation.ParserConfig
ParserConfig\}</java-annotation>
+<java-annotation>\{@link oaj.plaintext.annotation.PlainTextConfig
PlainTextConfig\}</java-annotation>
+<java-annotation>~~RdfConfig~~</java-annotation>
+<java-annotation>\{@link oaj.serializer.annotation.SerializerConfig
SerializerConfig\}</java-annotation>
+<java-annotation>\{@link oaj.soap.annotation.SoapXmlConfig
SoapXmlConfig\}</java-annotation>
+<java-annotation>\{@link oaj.uon.annotation.UonConfig
UonConfig\}</java-annotation>
+<java-annotation>\{@link oaj.urlencoding.annotation.UrlEncodingConfig
UrlEncodingConfig\}</java-annotation>
+<java-annotation>\{@link oaj.xml.annotation.XmlConfig
XmlConfig\}</java-annotation>
+</tree>
New support for using Servlet request attributes.
~~RequestAttributes~~
\{@link oajr.RestContext\}
diff --git a/juneau-docs-poc/docs/release-notes/8.1.1.md
b/juneau-docs-poc/docs/release-notes/8.1.1.md
index f4c47355b..4d3b19877 100644
--- a/juneau-docs-poc/docs/release-notes/8.1.1.md
+++ b/juneau-docs-poc/docs/release-notes/8.1.1.md
@@ -43,16 +43,19 @@ public void doFoo(@Body List beans) {...}
The fix involves resolving the original bean class for resolving parameterized
type while leaving
method invocation on the proxy method so as not to bypass Spring features.
-New methods on ~~BasicRest~~to provide feature-parity with ~~RestServlet~~:
-~~BasicRest~~
-~~BasicRest.getContext() getContext()~~
-~~BasicRest.getRequest() getRequest()~~
-~~BasicRest.getResponse() getResponse()~~
-~~BasicRest.log(String) log(String)~~
-~~BasicRest.log(String,Throwable) log(String,Throwable)~~
-~~BasicRest.log(Level,String,Object[]) log(Level,String,Object[])~~
-~~BasicRest.logObjects(Level,String,Object[])~~
-~~BasicRest.log(Level,Throwable,String,Object[])
log(Level,Throwable,String,Object[])~~
+New methods on ~~BasicRest~~ to provide feature-parity with ~~RestServlet~~:
+
+<tree>
+<java-class>~~BasicRest~~</java-class>
+<node-1><javac-method>~~BasicRest.getContext()
getContext()~~</javac-method></node-1>
+<node-1><javac-method>~~BasicRest.getRequest()
getRequest()~~</javac-method></node-1>
+<node-1><javac-method>~~BasicRest.getResponse()
getResponse()~~</javac-method></node-1>
+<node-1><javac-method>~~BasicRest.log(String)
log(String)~~</javac-method></node-1>
+<node-1><javac-method>~~BasicRest.log(String,Throwable)
log(String,Throwable)~~</javac-method></node-1>
+<node-1><javac-method>~~BasicRest.log(Level,String,Object[])
log(Level,String,Object[])~~</javac-method></node-1>
+<node-1><javac-method>~~BasicRest.logObjects(Level,String,Object[])~~</javac-method></node-1>
+<node-1><javac-method>~~BasicRest.log(Level,Throwable,String,Object[])
log(Level,Throwable,String,Object[])~~</javac-method></node-1>
+</tree>
The ~~@RestResource(staticFiles)~~ annotation now supports absolute path
locations and multiple mappings:
```text
diff --git a/juneau-docs-poc/docs/release-notes/8.2.0.md
b/juneau-docs-poc/docs/release-notes/8.2.0.md
index 9fad09475..c239c9630 100644
--- a/juneau-docs-poc/docs/release-notes/8.2.0.md
+++ b/juneau-docs-poc/docs/release-notes/8.2.0.md
@@ -40,15 +40,18 @@ public int a, b, c, d;
Include/exclude/read-only/write-only properties defined on the bean context
now override those defined on
annotations of the class itself. For example, the following methods override
the \{@link oaj.annotation.Bean @Bean\}
annotations on classes:
-\{@link oaj.BeanContext.Builder\}
-~~Builder.bpi(Class,String) bpi(Class,String)~~
-~~Builder.bpi(String,String) bpi(String,String)~~
-~~Builder.bpx(Class,String) bpx(Class,String)~~
-~~Builder.bpx(String,String) bpx(String,String)~~
-~~Builder.bpro(Class,String) bpro(Class,String)~~
-~~Builder.bpro(String,String) bpro(String,String)~~
-~~Builder.bpwo(Class,String) bpwo(Class,String~~
-~~Builder.bpwo(String,String) bpwo(String,String~~
+
+<tree>
+<java-class>\{@link oaj.BeanContext.Builder\}</java-class>
+<node-1><javac-method>~~Builder.bpi(Class,String)
bpi(Class,String)~~</javac-method></node-1>
+<node-1><javac-method>~~Builder.bpi(String,String)
bpi(String,String)~~</javac-method></node-1>
+<node-1><javac-method>~~Builder.bpx(Class,String)
bpx(Class,String)~~</javac-method></node-1>
+<node-1><javac-method>~~Builder.bpx(String,String)
bpx(String,String)~~</javac-method></node-1>
+<node-1><javac-method>~~Builder.bpro(Class,String)
bpro(Class,String)~~</javac-method></node-1>
+<node-1><javac-method>~~Builder.bpro(String,String)
bpro(String,String)~~</javac-method></node-1>
+<node-1><javac-method>~~Builder.bpwo(Class,String)
bpwo(Class,String~~</javac-method></node-1>
+<node-1><javac-method>~~Builder.bpwo(String,String)
bpwo(String,String~~</javac-method></node-1>
+</tree>
Config annotations now override class-level annotations.
For example, only the 'a' and 'b' properties get serialized on the bean below:
@@ -65,27 +68,30 @@ public MyClass getMyClass() {...}
The following concrete annotation implementation classes are now provided that
can be used with the \{@link
oaj.BeanContext.Builder#annotations(Annotation...)\} method:
-\{@link oaj.annotation.BeanAnnotation\} implements \{@link
oaj.annotation.Bean\}
-\{@link oaj.annotation.BeancAnnotation\} implements \{@link
oaj.annotation.Beanc\}
-\{@link oaj.annotation.BeanIgnoreAnnotation\} implements \{@link
oaj.annotation.BeanIgnore\}
-\{@link oaj.annotation.BeanpAnnotation\} implements \{@link
oaj.annotation.Beanp\}
-\{@link oaj.annotation.ExampleAnnotation\} implements \{@link
oaj.annotation.Example\}
-\{@link oaj.annotation.NamePropertyAnnotation\} implements \{@link
oaj.annotation.NameProperty\}
-\{@link oaj.annotation.ParentPropertyAnnotation\} implements \{@link
oaj.annotation.ParentProperty\}
-\{@link oaj.annotation.SwapAnnotation\} implements \{@link
oaj.annotation.Swap\}
-\{@link oaj.annotation.UriAnnotation\} implements ~~URI~~
-\{@link oaj.csv.annotation.CsvAnnotation\} implements \{@link
oaj.csv.annotation.Csv\}
-\{@link oaj.html.annotation.HtmlAnnotation\} implements \{@link
oaj.html.annotation.Html\}
-~~JsoAnnotation~~ implements ~~Jso~~
-\{@link oaj.json.annotation.JsonAnnotation\} implements \{@link
oaj.json.annotation.Json\}
-~~SchemaAnnotation~~ implements ~~Schema~~
-\{@link oaj.msgpack.annotation.MsgPackAnnotation\} implements \{@link
oaj.msgpack.annotation.MsgPack\}
-\{@link oaj.oapi.annotation.OpenApiAnnotation\} implements \{@link
oaj.oapi.annotation.OpenApi\}
-\{@link oaj.plaintext.annotation.PlainTextAnnotation\} implements \{@link
oaj.plaintext.annotation.PlainText\}
-\{@link oaj.soap.annotation.SoapXmlAnnotation\} implements \{@link
oaj.soap.annotation.SoapXml\}
-\{@link oaj.uon.annotation.UonAnnotation\} implements \{@link
oaj.uon.annotation.Uon\}
-\{@link oaj.urlencoding.annotation.UrlEncodingAnnotation\} implements \{@link
oaj.urlencoding.annotation.UrlEncoding\}
-\{@link oaj.xml.annotation.XmlAnnotation\} implements \{@link
oaj.xml.annotation.Xml\}
+
+<tree>
+<java-class>\{@link oaj.annotation.BeanAnnotation\} implements \{@link
oaj.annotation.Bean\}</java-class>
+<java-class>\{@link oaj.annotation.BeancAnnotation\} implements \{@link
oaj.annotation.Beanc\}</java-class>
+<java-class>\{@link oaj.annotation.BeanIgnoreAnnotation\} implements \{@link
oaj.annotation.BeanIgnore\}</java-class>
+<java-class>\{@link oaj.annotation.BeanpAnnotation\} implements \{@link
oaj.annotation.Beanp\}</java-class>
+<java-class>\{@link oaj.annotation.ExampleAnnotation\} implements \{@link
oaj.annotation.Example\}</java-class>
+<java-class>\{@link oaj.annotation.NamePropertyAnnotation\} implements \{@link
oaj.annotation.NameProperty\}</java-class>
+<java-class>\{@link oaj.annotation.ParentPropertyAnnotation\} implements
\{@link oaj.annotation.ParentProperty\}</java-class>
+<java-class>\{@link oaj.annotation.SwapAnnotation\} implements \{@link
oaj.annotation.Swap\}</java-class>
+<java-class>\{@link oaj.annotation.UriAnnotation\} implements
~~URI~~</java-class>
+<java-class>\{@link oaj.csv.annotation.CsvAnnotation\} implements \{@link
oaj.csv.annotation.Csv\}</java-class>
+<java-class>\{@link oaj.html.annotation.HtmlAnnotation\} implements \{@link
oaj.html.annotation.Html\}</java-class>
+<java-class>~~JsoAnnotation~~ implements ~~Jso~~</java-class>
+<java-class>\{@link oaj.json.annotation.JsonAnnotation\} implements \{@link
oaj.json.annotation.Json\}</java-class>
+<java-class>~~SchemaAnnotation~~ implements ~~Schema~~</java-class>
+<java-class>\{@link oaj.msgpack.annotation.MsgPackAnnotation\} implements
\{@link oaj.msgpack.annotation.MsgPack\}</java-class>
+<java-class>\{@link oaj.oapi.annotation.OpenApiAnnotation\} implements \{@link
oaj.oapi.annotation.OpenApi\}</java-class>
+<java-class>\{@link oaj.plaintext.annotation.PlainTextAnnotation\} implements
\{@link oaj.plaintext.annotation.PlainText\}</java-class>
+<java-class>\{@link oaj.soap.annotation.SoapXmlAnnotation\} implements \{@link
oaj.soap.annotation.SoapXml\}</java-class>
+<java-class>\{@link oaj.uon.annotation.UonAnnotation\} implements \{@link
oaj.uon.annotation.Uon\}</java-class>
+<java-class>\{@link oaj.urlencoding.annotation.UrlEncodingAnnotation\}
implements \{@link oaj.urlencoding.annotation.UrlEncoding\}</java-class>
+<java-class>\{@link oaj.xml.annotation.XmlAnnotation\} implements \{@link
oaj.xml.annotation.Xml\}</java-class>
+</tree>
Example:
```text
diff --git a/juneau-docs-poc/docs/topics/02.04.03.BeanpAnnotation.md
b/juneau-docs-poc/docs/topics/02.04.03.BeanpAnnotation.md
index 922488978..126e508dc 100644
--- a/juneau-docs-poc/docs/topics/02.04.03.BeanpAnnotation.md
+++ b/juneau-docs-poc/docs/topics/02.04.03.BeanpAnnotation.md
@@ -32,8 +32,8 @@ public class MyBean {
}
```
-The bean property named "*" is the designated "dynamic property" which allows
for "extra" bean properties not otherwise defined.
-This is similar in concept to the Jackson @JsonGetterAll and @JsonSetterAll
annotations but generalized for all supported marshall languages.
+The bean property named `*` is the designated "dynamic property" which allows
for "extra" bean properties not otherwise defined.
+This is similar in concept to the Jackson `@JsonGetterAll` and
`@JsonSetterAll` annotations but generalized for all supported marshall
languages.
The primary purpose is for backwards compatibility in parsing newer streams
with addition information into older beans.
The following shows various ways of using dynamic bean properties.