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
commit 3e4d6bfe371e0fc7173a2188aaf48e5ddf177bed Author: James Bognar <[email protected]> AuthorDate: Wed May 13 17:28:17 2026 -0400 chore: javadoc FQN sweep + sonar suppressions; close TODO-5 - Fully-qualify nested-type Javadoc links across 24 files in juneau-marshall, juneau-marshall-rdf, juneau-rest-client, and juneau-commons to clear Eclipse JDT "Invalid member type qualification" / "Invalid reference" warnings. - commons.bean and commons.function package-info.java: switch all {@link} tags to fully-qualified class names (imports are ignored in package-info Javadoc). - BeanInfo: add @Override to newInstance(); suppress java:S1452 on the three element/key/value type SPI accessors. - MarshalledFilter#applyBeanTypeAnnotations: suppress java:S3776 (cognitive complexity). - TODO-5 close-out: archive plan to FINISHED-5-bean-runtime-types-to-commons.md and remove [TODO-5] bullet from TODO.md. - Add new TODO-30-classmeta-to-commons.md plan (investigation: move ClassMeta and related types from juneau-marshall to juneau-commons). Co-authored-by: Cursor <[email protected]> --- .../org/apache/juneau/commons/bean/BeanInfo.java | 4 + .../apache/juneau/commons/bean/package-info.java | 74 +++++----- .../juneau/commons/function/package-info.java | 39 +++--- .../java/org/apache/juneau/jena/RdfSerializer.java | 2 +- .../java/org/apache/juneau/MarshalledFilter.java | 1 + .../juneau/MarshalledPropertyPostProcessor.java | 4 +- .../org/apache/juneau/MarshallingContextable.java | 3 +- .../juneau/annotation/BeanConfigAnnotation.java | 4 +- .../org/apache/juneau/annotation/Marshalled.java | 6 +- .../juneau/annotation/MarshalledAnnotation.java | 3 +- .../apache/juneau/annotation/MarshalledConfig.java | 26 ++-- .../apache/juneau/annotation/MarshalledProp.java | 3 +- .../annotation/MarshalledPropAnnotation.java | 3 +- .../org/apache/juneau/hjson/HjsonSerializer.java | 2 +- .../org/apache/juneau/html/HtmlSerializer.java | 2 +- .../apache/juneau/html/HtmlSerializerSession.java | 2 +- .../java/org/apache/juneau/json/JsonParser.java | 2 +- .../apache/juneau/json/JsonSchemaSerializer.java | 12 +- .../org/apache/juneau/json/JsonSerializer.java | 6 +- .../apache/juneau/msgpack/MsgPackSerializer.java | 2 +- .../org/apache/juneau/parser/ParserListener.java | 3 +- .../org/apache/juneau/parser/ParserSession.java | 4 +- .../serializer/annotation/SerializerConfig.java | 56 ++++---- .../java/org/apache/juneau/swap/ObjectSwap.java | 2 +- .../java/org/apache/juneau/uon/UonSerializer.java | 2 +- .../java/org/apache/juneau/xml/XmlSerializer.java | 2 +- .../org/apache/juneau/rest/client/RestClient.java | 64 ++++----- ...=> FINISHED-5-bean-runtime-types-to-commons.md} | 8 +- todo/TODO-30-classmeta-to-commons.md | 155 +++++++++++++++++++++ todo/TODO.md | 2 - 30 files changed, 325 insertions(+), 173 deletions(-) diff --git a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/bean/BeanInfo.java b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/bean/BeanInfo.java index 7468a6ad7e..d3c144a3d4 100644 --- a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/bean/BeanInfo.java +++ b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/bean/BeanInfo.java @@ -83,6 +83,7 @@ public abstract class BeanInfo<T> extends ClassInfoTyped<T> { * * @return The element type info, or <jk>null</jk>. */ + @SuppressWarnings("java:S1452") // Element type is heterogeneous; wildcard is fundamental to the SPI contract. public abstract BeanInfo<?> getElementType(); /** @@ -90,6 +91,7 @@ public abstract class BeanInfo<T> extends ClassInfoTyped<T> { * * @return The key type info, or <jk>null</jk>. */ + @SuppressWarnings("java:S1452") // Key type is heterogeneous; wildcard is fundamental to the SPI contract. public abstract BeanInfo<?> getKeyType(); /** @@ -97,6 +99,7 @@ public abstract class BeanInfo<T> extends ClassInfoTyped<T> { * * @return The value type info, or <jk>null</jk>. */ + @SuppressWarnings("java:S1452") // Value type is heterogeneous; wildcard is fundamental to the SPI contract. public abstract BeanInfo<?> getValueType(); /** @@ -121,6 +124,7 @@ public abstract class BeanInfo<T> extends ClassInfoTyped<T> { * @return A new instance of the class. * @throws ExecutableException If the class could not be instantiated. */ + @Override /* Overridden from ClassInfo to narrow return type to T. */ public abstract T newInstance() throws ExecutableException; /** diff --git a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/bean/package-info.java b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/bean/package-info.java index 8127dd9577..48a64890b1 100644 --- a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/bean/package-info.java +++ b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/bean/package-info.java @@ -25,62 +25,62 @@ * * <h5 class='topic'>Annotations</h5> * <ul> - * <li>{@link BeanType @BeanType} — marks a class as a bean and configures + * <li>{@link org.apache.juneau.commons.bean.BeanType @BeanType} — marks a class as a bean and configures * bean-level options (interface class, stop class, property order, etc.). - * <li>{@link BeanProp @BeanProp} — configures a bean property + * <li>{@link org.apache.juneau.commons.bean.BeanProp @BeanProp} — configures a bean property * (name, getter, setter, etc.). - * <li>{@link BeanCtor @BeanCtor} — marks a constructor as the bean + * <li>{@link org.apache.juneau.commons.bean.BeanCtor @BeanCtor} — marks a constructor as the bean * constructor and names its arguments. - * <li>{@link BeanIgnore @BeanIgnore} — marks a class, method, field, or + * <li>{@link org.apache.juneau.commons.bean.BeanIgnore @BeanIgnore} — marks a class, method, field, or * constructor as not a bean / not a bean property. - * <li>{@link BeanConfig @BeanConfig} — applies bean-modeling settings + * <li>{@link org.apache.juneau.commons.bean.BeanConfig @BeanConfig} — applies bean-modeling settings * declaratively at the config-annotation level. - * <li>{@link Name @Name} — alternative property name on a parameter. + * <li>{@link org.apache.juneau.commons.bean.Name @Name} — alternative property name on a parameter. * </ul> * * <h5 class='topic'>Runtime types</h5> * <ul> - * <li>{@link BeanMeta} — metadata describing a bean class + * <li>{@link org.apache.juneau.commons.bean.BeanMeta} — metadata describing a bean class * (properties, constructor, type info). - * <li>{@link BeanPropertyMeta} — metadata describing a single + * <li>{@link org.apache.juneau.commons.bean.BeanPropertyMeta} — metadata describing a single * bean property. - * <li>{@link BeanMap} — {@link Map} view of a bean - * backed by its {@link BeanMeta}. - * <li>{@link BeanMapEntry} — {@link Map.Entry} view of a + * <li>{@link org.apache.juneau.commons.bean.BeanMap} — {@link java.util.Map} view of a bean + * backed by its {@link org.apache.juneau.commons.bean.BeanMeta}. + * <li>{@link org.apache.juneau.commons.bean.BeanMapEntry} — {@link java.util.Map.Entry} view of a * single bean property. - * <li>{@link BeanPropertyValue} — read-side property holder used by + * <li>{@link org.apache.juneau.commons.bean.BeanPropertyValue} — read-side property holder used by * consumers that iterate bean properties. - * <li>{@link BeanPropertyConsumer} — callback for iterating bean - * properties without materializing a {@link BeanMap}. - * <li>{@link BeanProxyInvocationHandler} — {@link InvocationHandler} + * <li>{@link org.apache.juneau.commons.bean.BeanPropertyConsumer} — callback for iterating bean + * properties without materializing a {@link org.apache.juneau.commons.bean.BeanMap}. + * <li>{@link org.apache.juneau.commons.bean.BeanProxyInvocationHandler} — {@link java.lang.reflect.InvocationHandler} * that backs interface-only bean proxies. - * <li>{@link BeanInterceptor} — pre/post hooks fired around bean + * <li>{@link org.apache.juneau.commons.bean.BeanInterceptor} — pre/post hooks fired around bean * property reads / writes. * </ul> * * <h5 class='topic'>SPI seams</h5> * <ul> - * <li>{@link BeanConfigContext} — immutable POJO carrying all + * <li>{@link org.apache.juneau.commons.bean.BeanConfigContext} — immutable POJO carrying all * bean-modeling configuration knobs plus SPI hooks. {@code MarshallingContext} (in * {@code juneau-marshall}) installs the marshalling-side resolver / initializer / post-processor. - * <li>{@link BeanInfo} — abstract type-classification surface; + * <li>{@link org.apache.juneau.commons.bean.BeanInfo} — abstract type-classification surface; * {@code ClassMeta} extends it on the marshalling side. - * <li>{@link BeanTypeResolver} — resolves {@link Type} - * references to {@link BeanInfo} instances. - * <li>{@link BeanSession} — per-operation session surface (type + * <li>{@link org.apache.juneau.commons.bean.BeanTypeResolver} — resolves {@link java.lang.reflect.Type} + * references to {@link org.apache.juneau.commons.bean.BeanInfo} instances. + * <li>{@link org.apache.juneau.commons.bean.BeanSession} — per-operation session surface (type * conversion, sub-bean construction, CharSequence parsing). - * <li>{@link BeanFilter} — per-class filter surface; + * <li>{@link org.apache.juneau.commons.bean.BeanFilter} — per-class filter surface; * {@code MarshalledFilter} implements it. - * <li>{@link BeanRegistryLookup} — bean-dictionary lookup surface; + * <li>{@link org.apache.juneau.commons.bean.BeanRegistryLookup} — bean-dictionary lookup surface; * {@code BeanRegistry} implements it. - * <li>{@link BeanMetaInitializer} — hook that lets marshalling-side - * code augment {@link BeanMeta} construction (filter discovery, + * <li>{@link org.apache.juneau.commons.bean.BeanMetaInitializer} — hook that lets marshalling-side + * code augment {@link org.apache.juneau.commons.bean.BeanMeta} construction (filter discovery, * type-name resolution, bean-registry assembly). - * <li>{@link BeanPropertyPostProcessor} — hook that lets marshalling-side - * code augment {@link BeanPropertyMeta} construction + * <li>{@link org.apache.juneau.commons.bean.BeanPropertyPostProcessor} — hook that lets marshalling-side + * code augment {@link org.apache.juneau.commons.bean.BeanPropertyMeta} construction * (swap / surrogate / format annotation processing). - * <li>{@link Delegate} — pluggable delegate-bean marker. - * <li>{@link PropertyNamer} — pluggable Java-name to bean-property-name + * <li>{@link org.apache.juneau.commons.bean.Delegate} — pluggable delegate-bean marker. + * <li>{@link org.apache.juneau.commons.bean.PropertyNamer} — pluggable Java-name to bean-property-name * transformer. * </ul> * @@ -90,18 +90,14 @@ * </p> * <ul> * <li><b>Not thread-safe (mutable, no internal synchronization):</b> - * {@link BeanMap}, {@link BeanProxyInvocationHandler}, - * {@link BeanConfigContext.Builder}. + * {@link org.apache.juneau.commons.bean.BeanMap}, {@link org.apache.juneau.commons.bean.BeanProxyInvocationHandler}, + * {@link org.apache.juneau.commons.bean.BeanConfigContext.Builder}. * <li><b>Thread-safe after construction (immutable metadata/value holders):</b> - * {@link BeanConfigContext}, {@link BeanMeta}, {@link BeanPropertyMeta}, - * {@link BeanPropertyValue}, {@link BeanMapEntry}. + * {@link org.apache.juneau.commons.bean.BeanConfigContext}, {@link org.apache.juneau.commons.bean.BeanMeta}, {@link org.apache.juneau.commons.bean.BeanPropertyMeta}, + * {@link org.apache.juneau.commons.bean.BeanPropertyValue}, {@link org.apache.juneau.commons.bean.BeanMapEntry}. * <li><b>Thread safety depends on implementation/state:</b> - * {@link BeanSession}, {@link BeanFilter}, {@link BeanRegistryLookup}, {@link BeanMetaInitializer}, - * {@link BeanPropertyPostProcessor}, {@link BeanPropertyConsumer}, {@link BeanInfo}. + * {@link org.apache.juneau.commons.bean.BeanSession}, {@link org.apache.juneau.commons.bean.BeanFilter}, {@link org.apache.juneau.commons.bean.BeanRegistryLookup}, {@link org.apache.juneau.commons.bean.BeanMetaInitializer}, + * {@link org.apache.juneau.commons.bean.BeanPropertyPostProcessor}, {@link org.apache.juneau.commons.bean.BeanPropertyConsumer}, {@link org.apache.juneau.commons.bean.BeanInfo}. * </ul> */ package org.apache.juneau.commons.bean; - -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.Type; -import java.util.Map; diff --git a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/function/package-info.java b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/function/package-info.java index 6d4b98c3a9..aac5f022a5 100644 --- a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/function/package-info.java +++ b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/function/package-info.java @@ -30,11 +30,11 @@ * </p> * * <ul class='javatree'> - * <li class='jic'>{@link BeanSupplier} - Serialize-side lifecycle interface; extends {@link Iterable} - * <li class='jic'>{@link BeanConsumer} - Parse-side lifecycle interface; extends {@link ThrowingConsumer} - * <li class='jic'>{@link BeanChannel} - Round-trip interface; extends both {@link BeanSupplier} and {@link BeanConsumer} - * <li class='jc'>{@link ListBeanChannel} - Built-in in-memory {@link BeanChannel} backed by an {@link ArrayList} - * <li class='jic'>{@link BeanFactory} - Universal factory interface for DI-framework-managed instantiation + * <li class='jic'>{@link org.apache.juneau.commons.function.BeanSupplier} - Serialize-side lifecycle interface; extends {@link java.lang.Iterable} + * <li class='jic'>{@link org.apache.juneau.commons.function.BeanConsumer} - Parse-side lifecycle interface; extends {@link org.apache.juneau.commons.function.ThrowingConsumer} + * <li class='jic'>{@link org.apache.juneau.commons.function.BeanChannel} - Round-trip interface; extends both {@link org.apache.juneau.commons.function.BeanSupplier} and {@link org.apache.juneau.commons.function.BeanConsumer} + * <li class='jc'>{@link org.apache.juneau.commons.function.ListBeanChannel} - Built-in in-memory {@link org.apache.juneau.commons.function.BeanChannel} backed by an {@link java.util.ArrayList} + * <li class='jic'>{@link org.apache.juneau.commons.function.BeanFactory} - Universal factory interface for DI-framework-managed instantiation * </ul> * * <!-- ============================================================================================================ --> @@ -48,10 +48,10 @@ * * <table class='styled'> * <tr><th>Phase</th><th>BeanSupplier (serialization)</th><th>BeanConsumer (parsing)</th></tr> - * <tr><td><b>Setup</b></td><td>{@link BeanSupplier#begin()} — open cursor, execute query</td><td>{@link BeanConsumer#begin()} — open connection, prepare statement</td></tr> - * <tr><td><b>Transfer</b></td><td>{@link BeanSupplier#iterator()} — yield one bean per call</td><td>{@link BeanConsumer#acceptThrows(Object)} — receive one bean per call</td></tr> - * <tr><td><b>Error</b></td><td>{@link BeanSupplier#onError(Exception)} — rollback / log; rethrow to stop</td><td>{@link BeanConsumer#onError(Exception)} — rollback / log; absorb to skip-and-continue</td></tr> - * <tr><td><b>Cleanup</b></td><td>{@link BeanSupplier#complete()} — close cursor, connection</td><td>{@link BeanConsumer#complete()} — final commit, close statement</td></tr> + * <tr><td><b>Setup</b></td><td>{@link org.apache.juneau.commons.function.BeanSupplier#begin()} — open cursor, execute query</td><td>{@link org.apache.juneau.commons.function.BeanConsumer#begin()} — open connection, prepare statement</td></tr> + * <tr><td><b>Transfer</b></td><td>{@link org.apache.juneau.commons.function.BeanSupplier#iterator()} — yield one bean per call</td><td>{@link org.apache.juneau.commons.function.BeanConsumer#acceptThrows(Object)} — receive one bean per call</td></tr> + * <tr><td><b>Error</b></td><td>{@link org.apache.juneau.commons.function.BeanSupplier#onError(Exception)} — rollback / log; rethrow to stop</td><td>{@link org.apache.juneau.commons.function.BeanConsumer#onError(Exception)} — rollback / log; absorb to skip-and-continue</td></tr> + * <tr><td><b>Cleanup</b></td><td>{@link org.apache.juneau.commons.function.BeanSupplier#complete()} — close cursor, connection</td><td>{@link org.apache.juneau.commons.function.BeanConsumer#complete()} — final commit, close statement</td></tr> * </table> * * <p> @@ -69,7 +69,7 @@ * <p> * The following example streams a large {@code Employee} table directly from the database to the * HTTP response as a JSON array, without loading any rows into memory. A Spring-injected - * {@code DataSource} is supplied via a factory registered with {@link BeanFactory}. + * {@code DataSource} is supplied via a factory registered with {@link org.apache.juneau.commons.function.BeanFactory}. * </p> * * <h5 class='figure'>Bean class with factory annotation</h5> @@ -274,9 +274,9 @@ * <div class='topic'> * * <p> - * {@link BeanChannel} extends both - * {@link BeanSupplier} and - * {@link BeanConsumer}, allowing the same property to drive + * {@link org.apache.juneau.commons.function.BeanChannel} extends both + * {@link org.apache.juneau.commons.function.BeanSupplier} and + * {@link org.apache.juneau.commons.function.BeanConsumer}, allowing the same property to drive * both serialization and parsing. The implementation itself determines direction at runtime. * </p> * @@ -427,7 +427,7 @@ * With this wiring in place, any class annotated with * {@code @BeanType(factory=EmployeeSupplier.Factory.class)} is automatically instantiated by * retrieving the factory from the Spring {@code ApplicationContext} and calling - * {@link BeanFactory#create()}. No manual construction or + * {@link org.apache.juneau.commons.function.BeanFactory#create()}. No manual construction or * injection is needed in individual REST methods. * </p> * @@ -445,7 +445,7 @@ * <tr> * <td>{@code @BeanType(factory=X.class)}</td> * <td>Class</td> - * <td>Specifies the {@link BeanFactory} class used to instantiate this type during parsing. The factory is resolved from the {@code BeanStore}.</td> + * <td>Specifies the {@link org.apache.juneau.commons.function.BeanFactory} class used to instantiate this type during parsing. The factory is resolved from the {@code BeanStore}.</td> * </tr> * <tr> * <td>{@code @BeanProp(factory=X.class)}</td> @@ -469,14 +469,14 @@ * <div class='topic'> * * <p> - * {@link Supplier Supplier<T>} (the standard JDK interface) is treated as a + * {@link java.util.function.Supplier Supplier<T>} (the standard JDK interface) is treated as a * single-value lazy wrapper. Serializers call {@code get()} and serialize the result * transparently. Nested {@code Supplier} chains are unwrapped recursively up to a depth of 10. * </p> * * <p> - * Note: {@link BeanSupplier} is <em>not</em> unwrapped — it - * is treated as an {@link Iterable} sequence, not a single-value wrapper. + * Note: {@link org.apache.juneau.commons.function.BeanSupplier} is <em>not</em> unwrapped — it + * is treated as an {@link java.lang.Iterable} sequence, not a single-value wrapper. * </p> * * <p class='bjava'> @@ -494,5 +494,4 @@ * </div> */ package org.apache.juneau.commons.function; -import java.util.ArrayList; -import java.util.function.Supplier; \ No newline at end of file + diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java index 758424afae..9a11f08a3d 100644 --- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java +++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java @@ -201,7 +201,7 @@ public class RdfSerializer extends WriterSerializer implements RdfMetaProvider { * through reflection. * * <p> - * When present, this value overrides the {@link Serializer.Builder#addBeanTypes()} setting and is + * When present, this value overrides the {@link org.apache.juneau.serializer.Serializer.Builder#addBeanTypes()} setting and is * provided to customize the behavior of specific serializers in a {@link SerializerSet}. * * @return This object. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledFilter.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledFilter.java index b07f4bb5ff..ea1312ce8f 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledFilter.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledFilter.java @@ -146,6 +146,7 @@ public class MarshalledFilter implements BeanFilter { * @param annotations The annotations to apply. * @return This object. */ + @SuppressWarnings("java:S3776") public Builder applyBeanTypeAnnotations(List<BeanType> annotations) { annotations.forEach(x -> { diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledPropertyPostProcessor.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledPropertyPostProcessor.java index 84e5e42b3c..2db34bf1e1 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledPropertyPostProcessor.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledPropertyPostProcessor.java @@ -35,7 +35,7 @@ import org.apache.juneau.swaps.*; /** * Marshalling-side post-processor that applies {@link MarshalledProp @MarshalledProp} and {@link Swap @Swap} - * annotation effects to a {@link BeanPropertyMeta.Builder} after {@link BeanPropertyMeta.Builder#validate validate()} + * annotation effects to a {@link org.apache.juneau.commons.bean.BeanPropertyMeta.Builder} after {@link org.apache.juneau.commons.bean.BeanPropertyMeta.Builder#validate validate()} * runs successfully. * * <p> @@ -147,7 +147,7 @@ final class MarshalledPropertyPostProcessor implements BeanPropertyPostProcessor } /** - * Installs swap-aware read/write transforms on a {@link BeanPropertyMeta.Builder} after validation. + * Installs swap-aware read/write transforms on a {@link org.apache.juneau.commons.bean.BeanPropertyMeta.Builder} after validation. * * <p> * After {@link BeanPropertyMeta.Builder#validate validate()} succeeds, the builder's {@code swap} and diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshallingContextable.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshallingContextable.java index e7ac446f90..67b2c926c3 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshallingContextable.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshallingContextable.java @@ -17,7 +17,6 @@ package org.apache.juneau; import org.apache.juneau.commons.http.MediaType; -import org.apache.juneau.jsonschema.JsonSchemaGenerator; import static org.apache.juneau.commons.utils.AssertionUtils.*; import static org.apache.juneau.commons.utils.Utils.*; @@ -267,7 +266,7 @@ public abstract class MarshallingContextable extends Context { * * <p> * Used when sharing bean context builders across multiple context objects. - * For example, {@link JsonSchemaGenerator.Builder} uses this to apply common bean settings with the JSON + * For example, {@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder} uses this to apply common bean settings with the JSON * serializer and parser. * * @param value The new value for this setting. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java index d8a966280f..3f2b9c1d81 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java @@ -28,7 +28,7 @@ import org.apache.juneau.svl.*; * * <p> * Houses the {@link Applier} that pushes {@link BeanConfig @BeanConfig} attributes into a - * {@link MarshallingContext.Builder}. The annotation itself lives in + * {@link org.apache.juneau.MarshallingContext.Builder}. The annotation itself lives in * {@code juneau-commons} (in {@link BeanConfig}), but * the application logic lives here in {@code juneau-marshall} because it depends on * marshall-layer types ({@link AnnotationApplier}, {@link MarshallingContext} builder APIs, @@ -48,7 +48,7 @@ public class BeanConfigAnnotation { private BeanConfigAnnotation() {} /** - * Applies {@link BeanConfig} annotations to a {@link MarshallingContext.Builder}. + * Applies {@link BeanConfig} annotations to a {@link org.apache.juneau.MarshallingContext.Builder}. */ public static class Applier extends AnnotationApplier<BeanConfig,MarshallingContext.Builder> { diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java index b8a916e5d8..80a4b919d1 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java @@ -85,7 +85,7 @@ public @interface Marshalled { * <li class='ja'>{@link MarshalledProp#dictionary()} * <li class='ja'>{@link MarshalledConfig#dictionary()} * <li class='ja'>{@link MarshalledConfig#dictionary_replace()} - * <li class='jm'>{@link MarshallingContext.Builder#beanDictionary(Class...)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#beanDictionary(Class...)} * </ul> * * @return The annotation value. @@ -183,7 +183,7 @@ public @interface Marshalled { * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingContext.Builder#beanDictionary(Class...)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#beanDictionary(Class...)} * </ul> * * @return The annotation value. @@ -208,7 +208,7 @@ public @interface Marshalled { * * <h5 class='section'>See Also:</h5><ul> * <li class='ja'>{@link MarshalledConfig#typePropertyName()} - * <li class='jm'>{@link MarshallingContext.Builder#typePropertyName(String)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#typePropertyName(String)} * </ul> * * @return The annotation value. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java index 1a7d64d167..f939b525d8 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java @@ -20,7 +20,6 @@ import static org.apache.juneau.commons.utils.CollectionUtils.*; import java.lang.annotation.*; -import org.apache.juneau.MarshallingContext; import org.apache.juneau.commons.annotation.*; import org.apache.juneau.commons.bean.*; @@ -39,7 +38,7 @@ public class MarshalledAnnotation { * Builder class. * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingContext.Builder#annotations(Annotation...)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#annotations(Annotation...)} * </ul> */ public static class Builder extends AnnotationObject.Builder { diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledConfig.java index cfa67894b2..ec490f3386 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledConfig.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledConfig.java @@ -59,7 +59,7 @@ public @interface MarshalledConfig { * When bean getters throws exceptions, the exception includes the object stack information * in order to determine how that method was invoked. * <li> - * Enables {@link MarshallingTraverseContext.Builder#detectRecursions()}. + * Enables {@link org.apache.juneau.MarshallingTraverseContext.Builder#detectRecursions()}. * </ul> * * <p> @@ -81,7 +81,7 @@ public @interface MarshalledConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Context.Builder#debug()} + * <li class='jm'>{@link org.apache.juneau.Context.Builder#debug()} * </ul> * * @return The annotation value. @@ -108,7 +108,7 @@ public @interface MarshalledConfig { * <li class='ja'>{@link Marshalled#dictionary()} * <li class='ja'>{@link MarshalledProp#dictionary()} * <li class='ja'>{@link MarshalledConfig#dictionary_replace()} - * <li class='jm'>{@link MarshallingContext.Builder#beanDictionary(Class...)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#beanDictionary(Class...)} * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/BeanDictionaryBasics">Bean Dictionary Basics</a> * </ul> * @@ -126,7 +126,7 @@ public @interface MarshalledConfig { * <li class='ja'>{@link Marshalled#dictionary()} * <li class='ja'>{@link MarshalledProp#dictionary()} * <li class='ja'>{@link MarshalledConfig#dictionary()} - * <li class='jm'>{@link MarshallingContext.Builder#beanDictionary(Class...)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#beanDictionary(Class...)} * </ul> * * @return The annotation value. @@ -145,8 +145,8 @@ public @interface MarshalledConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingSession.Builder#locale(Locale)} - * <li class='jm'>{@link MarshallingContext.Builder#locale(Locale)} + * <li class='jm'>{@link org.apache.juneau.MarshallingSession.Builder#locale(Locale)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#locale(Locale)} * </ul> * * @return The annotation value. @@ -165,8 +165,8 @@ public @interface MarshalledConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingSession.Builder#mediaType(MediaType)} - * <li class='jm'>{@link MarshallingContext.Builder#mediaType(MediaType)} + * <li class='jm'>{@link org.apache.juneau.MarshallingSession.Builder#mediaType(MediaType)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#mediaType(MediaType)} * </ul> * * @return The annotation value. @@ -199,7 +199,7 @@ public @interface MarshalledConfig { * {@link ObjectSwap#forMediaTypes()} or {@link Swap#mediaTypes() @Swap(mediaTypes)} are used to come up with the best match. * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingContext.Builder#swaps(Class...)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#swaps(Class...)} * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/SwapBasics">Swap Basics</a> * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/PerMediaTypeSwaps">Per-media-type Swaps</a> * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/OneWaySwaps">One-way Swaps</a> @@ -219,7 +219,7 @@ public @interface MarshalledConfig { * Same as {@link #swaps()} but replaces any existing value. * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingContext.Builder#swaps(Class...)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#swaps(Class...)} * </ul> * * @return The annotation value. @@ -238,8 +238,8 @@ public @interface MarshalledConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingSession.Builder#timeZone(TimeZone)} - * <li class='jm'>{@link MarshallingContext.Builder#timeZone(TimeZone)} + * <li class='jm'>{@link org.apache.juneau.MarshallingSession.Builder#timeZone(TimeZone)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#timeZone(TimeZone)} * </ul> * * @return The annotation value. @@ -262,7 +262,7 @@ public @interface MarshalledConfig { * * <h5 class='section'>See Also:</h5><ul> * <li class='ja'>{@link Marshalled#typePropertyName()} - * <li class='jm'>{@link MarshallingContext.Builder#typePropertyName(String)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#typePropertyName(String)} * </ul> * * @return The annotation value. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledProp.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledProp.java index 5ba4bcb266..81021a8900 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledProp.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledProp.java @@ -20,7 +20,6 @@ import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.*; import java.lang.annotation.*; -import org.apache.juneau.MarshallingContext; import org.apache.juneau.MarshallingSession; import org.apache.juneau.commons.bean.BeanProp; @@ -71,7 +70,7 @@ public @interface MarshalledProp { * <li class='ja'>{@link Marshalled#dictionary()} * <li class='ja'>{@link MarshalledConfig#dictionary()} * <li class='ja'>{@link MarshalledConfig#dictionary_replace()} - * <li class='jm'>{@link MarshallingContext.Builder#beanDictionary(Class...)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#beanDictionary(Class...)} * </ul> * * <p> diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledPropAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledPropAnnotation.java index 54396439de..c181a68af3 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledPropAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledPropAnnotation.java @@ -20,7 +20,6 @@ import static org.apache.juneau.commons.utils.CollectionUtils.*; import java.lang.annotation.*; -import org.apache.juneau.MarshallingContext; import org.apache.juneau.commons.annotation.*; /** @@ -38,7 +37,7 @@ public class MarshalledPropAnnotation { * Builder class. * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingContext.Builder#annotations(Annotation...)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#annotations(Annotation...)} * </ul> */ public static class Builder extends AnnotationObject.Builder { diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/HjsonSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/HjsonSerializer.java index 5d46d24f8d..764c79c2c8 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/HjsonSerializer.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/HjsonSerializer.java @@ -68,7 +68,7 @@ import org.apache.juneau.swap.ObjectSwap; * The types above are considered "Hjson-primitive" object types. * Any non-Hjson-primitive object types are transformed into Hjson-primitive object types through * {@link ObjectSwap ObjectSwaps} associated through the - * {@link MarshallingContext.Builder#swaps(Class...) MarshallingContext.Builder.swaps(Class...)} method. + * {@link org.apache.juneau.MarshallingContext.Builder#swaps(Class...) MarshallingContext.Builder.swaps(Class...)} method. * Several default transforms are provided for transforming Dates, Enums, Iterators, etc. * * <h5 class='section'>Example:</h5> diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java index 94a8e96d24..a30c065fb0 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java @@ -251,7 +251,7 @@ public class HtmlSerializer extends XmlSerializer implements HtmlMetaProvider { * through reflection. * * <p> - * When present, this value overrides the {@link Serializer.Builder#addBeanTypes()} setting and is + * When present, this value overrides the {@link org.apache.juneau.serializer.Serializer.Builder#addBeanTypes()} setting and is * provided to customize the behavior of specific serializers in a {@link SerializerSet}. * * @return This object. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java index 5312ddfa74..7e2f064c60 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java @@ -926,7 +926,7 @@ public class HtmlSerializerSession extends XmlSerializerSession { * @param eType The expected type of the object if this is a bean property. * @param name * The attribute name of this object if this object was a field in a JSON object (i.e. key of a - * {@link Map.Entry} or property name of a bean). + * {@link java.util.Map.Entry} or property name of a bean). * @param pMeta The bean property being serialized, or <jk>null</jk> if we're not serializing a bean property. * @param xIndent The current indentation value. * @param isRoot <jk>true</jk> if this is the root element of the document. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java index bcfc140f36..35a9783377 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java @@ -64,7 +64,7 @@ import org.apache.juneau.commons.bean.BeanPropertyMeta; * JSON objects (<js>"{...}"</js>) are converted to {@link JsonMap JsonMaps}. * <b>Note:</b> If a <code><xa>_type</xa>=<xs>'xxx'</xs></code> attribute is specified on the object, then an * attempt is made to convert the object to an instance of the specified Java bean class. - * See the {@link MarshallingContext.Builder#typePropertyName(String)} setting for more information about parsing + * See the {@link org.apache.juneau.MarshallingContext.Builder#typePropertyName(String)} setting for more information about parsing * beans from JSON. * <li> * JSON arrays (<js>"[...]"</js>) are converted to {@link JsonList JsonLists}. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java index 2579249dd2..c629161994 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java @@ -138,7 +138,7 @@ public class JsonSchemaSerializer extends JsonSerializer implements JsonSchemaMe * The description is the result of calling {@link ClassMeta#getName()}. * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link JsonSchemaGenerator.Builder#addDescriptionsTo(TypeCategory...)} + * <li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#addDescriptionsTo(TypeCategory...)} * </ul> * * @param values @@ -165,7 +165,7 @@ public class JsonSchemaSerializer extends JsonSerializer implements JsonSchemaMe * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link JsonSchemaGenerator.Builder#addExamplesTo(TypeCategory...)} + * <li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#addExamplesTo(TypeCategory...)} * </ul> * * @param values @@ -197,7 +197,7 @@ public class JsonSchemaSerializer extends JsonSerializer implements JsonSchemaMe * Identifies whether nested descriptions are allowed in schema definitions. * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link JsonSchemaGenerator.Builder#allowNestedDescriptions()} + * <li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#allowNestedDescriptions()} * </ul> * * @return This object. @@ -214,7 +214,7 @@ public class JsonSchemaSerializer extends JsonSerializer implements JsonSchemaMe * Identifies whether nested examples are allowed in schema definitions. * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link JsonSchemaGenerator.Builder#allowNestedExamples()} + * <li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#allowNestedExamples()} * </ul> * * @return This object. @@ -280,10 +280,10 @@ public class JsonSchemaSerializer extends JsonSerializer implements JsonSchemaMe * <p> * Used primarily for defining common definition sections for beans in Swagger JSON. * <p> - * This setting is ignored if {@link JsonSchemaGenerator.Builder#useBeanDefs()} is not enabled. + * This setting is ignored if {@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#useBeanDefs()} is not enabled. * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link JsonSchemaGenerator.Builder#beanDefMapper(Class)} + * <li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#beanDefMapper(Class)} * </ul> * * @param value diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java index 40dccb949a..f262816c6f 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java @@ -75,7 +75,7 @@ import org.apache.juneau.commons.bean.BeanPropertyMeta; * The types above are considered "JSON-primitive" object types. * Any non-JSON-primitive object types are transformed into JSON-primitive object types through * {@link ObjectSwap ObjectSwaps} associated through the - * {@link MarshallingContext.Builder#swaps(Class...)} method. + * {@link org.apache.juneau.MarshallingContext.Builder#swaps(Class...)} method. * Several default transforms are provided for transforming Dates, Enums, Iterators, etc... * * <p> @@ -90,7 +90,7 @@ import org.apache.juneau.commons.bean.BeanPropertyMeta; * <li> * {@link Json5Serializer} - Default serializer, single quotes, simple mode. * <li> - * {@link Json5Serializer.Readable} - Default serializer, single quotes, simple mode, with whitespace. + * {@link org.apache.juneau.json5.Json5Serializer.Readable} - Default serializer, single quotes, simple mode, with whitespace. * </ul> * * <h5 class='section'>Example:</h5> @@ -210,7 +210,7 @@ public class JsonSerializer extends WriterSerializer implements JsonMetaProvider * through reflection. * * <p> - * When present, this value overrides the {@link Serializer.Builder#addBeanTypes()} setting and is + * When present, this value overrides the {@link org.apache.juneau.serializer.Serializer.Builder#addBeanTypes()} setting and is * provided to customize the behavior of specific serializers in a {@link SerializerSet}. * * @return This object. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java index dfb5f65b9c..715d8d95ab 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java @@ -157,7 +157,7 @@ public class MsgPackSerializer extends OutputStreamSerializer implements MsgPack * through reflection. * * <p> - * When present, this value overrides the {@link Serializer.Builder#addBeanTypes()} setting and is + * When present, this value overrides the {@link org.apache.juneau.serializer.Serializer.Builder#addBeanTypes()} setting and is * provided to customize the behavior of specific serializers in a {@link SerializerSet}. * * @return This object. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java index 69ec5e8209..39e8abdb79 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java @@ -19,7 +19,6 @@ package org.apache.juneau.parser; import static org.apache.juneau.commons.utils.ThrowableUtils.*; import static org.apache.juneau.commons.utils.Utils.*; -import org.apache.juneau.MarshallingContext; import org.apache.juneau.commons.bean.BeanPropertyMeta; /** @@ -63,7 +62,7 @@ public class ParserListener { * Gets called when an unknown bean property is detected in a document. * * <p> - * This method only gets called if {@link MarshallingContext.Builder#ignoreUnknownBeanProperties()} setting is <jk>true</jk>. + * This method only gets called if {@link org.apache.juneau.MarshallingContext.Builder#ignoreUnknownBeanProperties()} setting is <jk>true</jk>. * Otherwise, the parser will throw a {@link ParseException}. * * @param <T> The class type of the bean. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java index fa6ffa7ac3..b3e9e62836 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java @@ -334,7 +334,7 @@ public class ParserSession extends MarshallingSession { * * <p> * This always returns a value for input of type {@link CharSequence}. - * <br>For other input types, use {@link Context.Builder#debug()} setting to enable caching to a string + * <br>For other input types, use {@link org.apache.juneau.Context.Builder#debug()} setting to enable caching to a string * before parsing so that this method returns the input. * * @return The input as a string, or <jk>null</jk> if no pipe has been created or we're reading from an uncached reader or input stream source. @@ -1212,7 +1212,7 @@ public class ParserSession extends MarshallingSession { * @param beanMap The bean that doesn't have the expected property. * @param value The parsed value. * @throws ParseException - * Automatically thrown if {@link MarshallingContext.Builder#ignoreUnknownBeanProperties()} setting on this parser is + * Automatically thrown if {@link org.apache.juneau.MarshallingContext.Builder#ignoreUnknownBeanProperties()} setting on this parser is * <jk>false</jk> * @param <T> The class type of the bean map that doesn't have the expected property. */ diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java index 2db744170a..287cea6073 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java @@ -60,8 +60,8 @@ public @interface SerializerConfig { * <p> * Note the differences between the following settings: * <ul> - * <li class='jm'>{@link Serializer.Builder#addRootType()} - Affects whether <js>'_type'</js> is added to root node. - * <li class='jm'>{@link Serializer.Builder#addBeanTypes()} - Affects whether <js>'_type'</js> is added to any nodes. + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#addRootType()} - Affects whether <js>'_type'</js> is added to root node. + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#addBeanTypes()} - Affects whether <js>'_type'</js> is added to any nodes. * </ul> * * <ul class='values'> @@ -75,7 +75,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#addBeanTypes()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#addBeanTypes()} * </ul> * * @return The annotation value. @@ -96,8 +96,8 @@ public @interface SerializerConfig { * <p> * Note the differences between the following settings: * <ul> - * <li class='jm'>{@link Serializer.Builder#addRootType()} - Affects whether <js>'_type'</js> is added to root node. - * <li class='jm'>{@link Serializer.Builder#addBeanTypes()} - Affects whether <js>'_type'</js> is added to any nodes. + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#addRootType()} - Affects whether <js>'_type'</js> is added to root node. + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#addBeanTypes()} - Affects whether <js>'_type'</js> is added to any nodes. * </ul> * * <ul class='values'> @@ -111,7 +111,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#addRootType()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#addRootType()} * </ul> * * @return The annotation value. @@ -137,7 +137,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link OutputStreamSerializer.Builder#binaryFormat(BinaryFormat)} + * <li class='jm'>{@link org.apache.juneau.serializer.OutputStreamSerializer.Builder#binaryFormat(BinaryFormat)} * </ul> * * @return The annotation value. @@ -156,7 +156,7 @@ public @interface SerializerConfig { * <br>These show up as {@link ParseException ParseExceptions} with the message <js>"Depth too deep. Stack overflow occurred."</js>. * * <p> - * The behavior when recursions are detected depends on the value for {@link MarshallingTraverseContext.Builder#ignoreRecursions()}. + * The behavior when recursions are detected depends on the value for {@link org.apache.juneau.MarshallingTraverseContext.Builder#ignoreRecursions()}. * * <p> * For example, if a model contains the links A->B->C->A, then the JSON generated will look like @@ -179,7 +179,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingTraverseContext.Builder#detectRecursions()} + * <li class='jm'>{@link org.apache.juneau.MarshallingTraverseContext.Builder#detectRecursions()} * </ul> * * @return The annotation value. @@ -209,7 +209,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link WriterSerializer.Builder#fileCharset(java.nio.charset.Charset)} + * <li class='jm'>{@link org.apache.juneau.serializer.WriterSerializer.Builder#fileCharset(java.nio.charset.Charset)} * </ul> * * @return The annotation value. @@ -220,7 +220,7 @@ public @interface SerializerConfig { * Ignore recursion errors. * * <p> - * Used in conjunction with {@link MarshallingTraverseContext.Builder#detectRecursions()}. + * Used in conjunction with {@link org.apache.juneau.MarshallingTraverseContext.Builder#detectRecursions()}. * <br>Setting is ignored if <jsf>BEANTRAVERSE_detectRecursions</jsf> is <js>"false"</js>. * * <p> @@ -238,7 +238,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingTraverseContext.Builder#ignoreRecursions()} + * <li class='jm'>{@link org.apache.juneau.MarshallingTraverseContext.Builder#ignoreRecursions()} * </ul> * * @return The annotation value. @@ -262,7 +262,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingTraverseContext.Builder#initialDepth(int)} + * <li class='jm'>{@link org.apache.juneau.MarshallingTraverseContext.Builder#initialDepth(int)} * </ul> * * @return The annotation value. @@ -293,7 +293,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#keepNullProperties()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#keepNullProperties()} * </ul> * * @return The annotation value. @@ -307,7 +307,7 @@ public @interface SerializerConfig { * Class used to listen for errors and warnings that occur during serialization. * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#listener(Class)} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#listener(Class)} * </ul> * * @return The annotation value. @@ -331,7 +331,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingTraverseContext.Builder#maxDepth(int)} + * <li class='jm'>{@link org.apache.juneau.MarshallingTraverseContext.Builder#maxDepth(int)} * </ul> * * @return The annotation value. @@ -356,7 +356,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link WriterSerializer.Builder#maxIndent(int)} + * <li class='jm'>{@link org.apache.juneau.serializer.WriterSerializer.Builder#maxIndent(int)} * </ul> * * @return The annotation value. @@ -379,7 +379,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link WriterSerializer.Builder#quoteChar(char)} + * <li class='jm'>{@link org.apache.juneau.serializer.WriterSerializer.Builder#quoteChar(char)} * </ul> * * @return The annotation value. @@ -416,7 +416,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#sortCollections()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#sortCollections()} * </ul> * * @return The annotation value. @@ -443,7 +443,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#sortMaps()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#sortMaps()} * </ul> * * @return The annotation value. @@ -471,7 +471,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link WriterSerializer.Builder#streamCharset(Charset)} + * <li class='jm'>{@link org.apache.juneau.serializer.WriterSerializer.Builder#streamCharset(Charset)} * </ul> * * @return The annotation value. @@ -504,7 +504,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#trimEmptyCollections()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#trimEmptyCollections()} * </ul> * * @return The annotation value. @@ -535,7 +535,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#trimEmptyMaps()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#trimEmptyMaps()} * </ul> * * @return The annotation value. @@ -559,7 +559,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#trimStrings()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#trimStrings()} * </ul> * * @return The annotation value. @@ -581,7 +581,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#uriContext(UriContext)} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#uriContext(UriContext)} * </ul> * * @return The annotation value. @@ -610,7 +610,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#uriRelativity(UriRelativity)} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#uriRelativity(UriRelativity)} * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/MarshallingUris">URIs</a> * </ul> * @@ -641,7 +641,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#uriResolution(UriResolution)} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#uriResolution(UriResolution)} * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/MarshallingUris">URIs</a> * </ul> * @@ -666,7 +666,7 @@ public @interface SerializerConfig { * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link WriterSerializer.Builder#useWhitespace()} + * <li class='jm'>{@link org.apache.juneau.serializer.WriterSerializer.Builder#useWhitespace()} * </ul> * * @return The annotation value. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/ObjectSwap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/ObjectSwap.java index ef93a5c6bb..3b91be30a5 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/ObjectSwap.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/ObjectSwap.java @@ -50,7 +50,7 @@ import org.apache.juneau.serializer.*; * <c>ObjectSwaps</c> are associated with serializers and parsers through the following: * <ul class='javatree'> * <li class='ja'>{@link Swap @Swap} - * <li class='jm'>{@link MarshallingContext.Builder#swaps(Class...)} + * <li class='jm'>{@link org.apache.juneau.MarshallingContext.Builder#swaps(Class...)} * </ul> * * <p> diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java index 65e6aa226d..793a0e4e3d 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java @@ -242,7 +242,7 @@ public class UonSerializer extends WriterSerializer implements HttpPartSerialize * through reflection. * * <p> - * When present, this value overrides the {@link Serializer.Builder#addBeanTypes()} setting and is + * When present, this value overrides the {@link org.apache.juneau.serializer.Serializer.Builder#addBeanTypes()} setting and is * provided to customize the behavior of specific serializers in a {@link SerializerSet}. * * @return This object. diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java index 6726d687b4..8cfcd58c64 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java @@ -250,7 +250,7 @@ public class XmlSerializer extends WriterSerializer implements XmlMetaProvider { * through reflection. * * <p> - * When present, this value overrides the {@link Serializer.Builder#addBeanTypes()} setting and is + * When present, this value overrides the {@link org.apache.juneau.serializer.Serializer.Builder#addBeanTypes()} setting and is * provided to customize the behavior of specific serializers in a {@link SerializerSet}. * * @return This object. diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java index 623605ac48..ee0c09b920 100644 --- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java +++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java @@ -909,7 +909,7 @@ import org.apache.juneau.xml.*; * <p> * Enabling debug mode has the following effects: * <ul> - * <li>{@link Context.Builder#debug()} is enabled. + * <li>{@link org.apache.juneau.Context.Builder#debug()} is enabled. * <li>{@link Builder#detectLeaks()} is enabled. * <li>{@link Builder#logToConsole()} is called. * </ul> @@ -1208,7 +1208,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#addBeanTypes()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#addBeanTypes()} * </ul> * * @return This object. @@ -1329,7 +1329,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#addRootType()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#addRootType()} * </ul> * * @return This object. @@ -1582,9 +1582,9 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * <li class='note'> * The {@link RestClient#run(HttpHost, HttpRequest, HttpContext)} method can also be overridden to produce the same results. * <li class='note'> - * Use {@link BeanInstantiator.Builder} <c>impl(Object)</c> to specify an already instantiated instance. + * Use {@link org.apache.juneau.commons.inject.BeanInstantiator.Builder} <c>impl(Object)</c> to specify an already instantiated instance. * <li class='note'> - * Use {@link BeanInstantiator.Builder} <c>type(Class)</c> to specify a subtype to instantiate. + * Use {@link org.apache.juneau.commons.inject.BeanInstantiator.Builder} <c>type(Class)</c> to specify a subtype to instantiate. * <br>Subclass must have a public constructor that takes in any args available * in the bean store of this builder (including {@link RestClient} itself). * </ul> @@ -1807,7 +1807,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Parser.Builder#debugOutputLines(int)} + * <li class='jm'>{@link org.apache.juneau.parser.Parser.Builder#debugOutputLines(int)} * </ul> * * @param value @@ -1930,7 +1930,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * when the <c>finalize</c> methods are invoked. * * <p> - * Automatically enabled with {@link Context.Builder#debug()}. + * Automatically enabled with {@link org.apache.juneau.Context.Builder#debug()}. * * <h5 class='section'>Example:</h5> * <p class='bjava'> @@ -1994,7 +1994,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingTraverseContext.Builder#detectRecursions()} + * <li class='jm'>{@link org.apache.juneau.MarshallingTraverseContext.Builder#detectRecursions()} * </ul> * * @return This object. @@ -2912,7 +2912,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingTraverseContext.Builder#ignoreRecursions()} + * <li class='jm'>{@link org.apache.juneau.MarshallingTraverseContext.Builder#ignoreRecursions()} * </ul> * * @return This object. @@ -2983,7 +2983,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingTraverseContext.Builder#initialDepth(int)} + * <li class='jm'>{@link org.apache.juneau.MarshallingTraverseContext.Builder#initialDepth(int)} * </ul> * * @param value @@ -3329,7 +3329,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#keepNullProperties()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#keepNullProperties()} * </ul> * * @return This object. @@ -3572,7 +3572,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link MarshallingTraverseContext.Builder#maxDepth(int)} + * <li class='jm'>{@link org.apache.juneau.MarshallingTraverseContext.Builder#maxDepth(int)} * </ul> * * @param value @@ -3607,7 +3607,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link WriterSerializer.Builder#maxIndent(int)} + * <li class='jm'>{@link org.apache.juneau.serializer.WriterSerializer.Builder#maxIndent(int)} * </ul> * * @param value @@ -3793,8 +3793,8 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link OpenApiSerializer.Builder#collectionFormat(HttpPartCollectionFormat)} - * <li class='jm'>{@link OpenApiParser.Builder#collectionFormat(HttpPartCollectionFormat)} + * <li class='jm'>{@link org.apache.juneau.oapi.OpenApiSerializer.Builder#collectionFormat(HttpPartCollectionFormat)} + * <li class='jm'>{@link org.apache.juneau.oapi.OpenApiParser.Builder#collectionFormat(HttpPartCollectionFormat)} * </ul> * * @param value @@ -3852,8 +3852,8 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link OpenApiSerializer.Builder#format(HttpPartFormat)} - * <li class='jm'>{@link OpenApiParser.Builder#format(HttpPartFormat)} + * <li class='jm'>{@link org.apache.juneau.oapi.OpenApiSerializer.Builder#format(HttpPartFormat)} + * <li class='jm'>{@link org.apache.juneau.oapi.OpenApiParser.Builder#format(HttpPartFormat)} * </ul> * * @param value @@ -3954,7 +3954,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link UonSerializer.Builder#paramFormat(ParamFormat)} + * <li class='jm'>{@link org.apache.juneau.uon.UonSerializer.Builder#paramFormat(ParamFormat)} * </ul> * * @param value The new value for this property. @@ -3996,7 +3996,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link UonSerializer.Builder#paramFormatPlain()} + * <li class='jm'>{@link org.apache.juneau.uon.UonSerializer.Builder#paramFormatPlain()} * </ul> * * @return This object. @@ -4808,7 +4808,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link WriterSerializer.Builder#quoteChar(char)} + * <li class='jm'>{@link org.apache.juneau.serializer.WriterSerializer.Builder#quoteChar(char)} * </ul> * * @param value @@ -5297,7 +5297,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#sortCollections()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#sortCollections()} * </ul> * * @return This object. @@ -5335,7 +5335,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#sortMaps()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#sortMaps()} * </ul> * * @return This object. @@ -5388,7 +5388,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link WriterSerializer.Builder#quoteChar(char)} + * <li class='jm'>{@link org.apache.juneau.serializer.WriterSerializer.Builder#quoteChar(char)} * </ul> * * @return This object. @@ -5535,7 +5535,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#trimEmptyCollections()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#trimEmptyCollections()} * </ul> * * @return This object. @@ -5579,7 +5579,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#trimEmptyMaps()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#trimEmptyMaps()} * </ul> * * @return This object. @@ -5616,7 +5616,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Parser.Builder#trimStrings()} + * <li class='jm'>{@link org.apache.juneau.parser.Parser.Builder#trimStrings()} * </ul> * * @return This object. @@ -5651,7 +5651,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#trimStrings()} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#trimStrings()} * </ul> * * @return This object. @@ -5851,7 +5851,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#uriContext(UriContext)} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#uriContext(UriContext)} * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/MarshallingUris">URIs</a> * </ul> * @@ -5886,7 +5886,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#uriRelativity(UriRelativity)} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#uriRelativity(UriRelativity)} * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/MarshallingUris">URIs</a> * </ul> * @@ -5925,7 +5925,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </ul> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link Serializer.Builder#uriResolution(UriResolution)} + * <li class='jm'>{@link org.apache.juneau.serializer.Serializer.Builder#uriResolution(UriResolution)} * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/MarshallingUris">URIs</a> * </ul> * @@ -6062,7 +6062,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link WriterSerializer.Builder#useWhitespace()} + * <li class='jm'>{@link org.apache.juneau.serializer.WriterSerializer.Builder#useWhitespace()} * </ul> * @return This object. */ @@ -6098,7 +6098,7 @@ public class RestClient extends MarshallingContextable implements HttpClient, Cl * </p> * * <h5 class='section'>See Also:</h5><ul> - * <li class='jm'>{@link WriterSerializer.Builder#useWhitespace()} + * <li class='jm'>{@link org.apache.juneau.serializer.WriterSerializer.Builder#useWhitespace()} * </ul> * * @return This object. diff --git a/todo/TODO-5-bean-runtime-types-to-commons.md b/todo/FINISHED-5-bean-runtime-types-to-commons.md similarity index 98% rename from todo/TODO-5-bean-runtime-types-to-commons.md rename to todo/FINISHED-5-bean-runtime-types-to-commons.md index 3903fb61d0..9ff9f1da88 100644 --- a/todo/TODO-5-bean-runtime-types-to-commons.md +++ b/todo/FINISHED-5-bean-runtime-types-to-commons.md @@ -1,6 +1,10 @@ -# TODO-5 — Move bean-modeling runtime types (`BeanMap`, `BeanMeta`, `BeanPropertyMeta`, …) into `commons.bean` (remainder of Phase 5) +# FINISHED-5 — Move bean-modeling runtime types into `commons.bean` (Phase 5 of bean-layer split) -This is the remaining work from **Phase 5 of the bean-layer split**. Phase 5a (the `MarshallingInterceptor` → `commons.bean.BeanInterceptor` move+rename) shipped in the same commit that created this plan. The big runtime types still live in `juneau-marshall` because they are deeply entangled with `ClassMeta` / `MarshallingContext` / `ObjectSwap` / `BeanRegistry`, and untangling them is the bulk of the work. +> **Archived from `TODO-5-bean-runtime-types-to-commons.md`.** The move is complete: all 7 bean-runtime types (`BeanMap`, `BeanMapEntry`, `BeanMeta`, `BeanPropertyMeta`, `BeanPropertyValue`, `BeanPropertyConsumer`, `BeanProxyInvocationHandler`) now live in `org.apache.juneau.commons.bean`; `juneau-commons` compiles standalone with no `juneau-marshall` dependency; full test suite green; release-notes and migration-guide entries landed in `juneau-docs`. Kept as a record of the SPI extracti [...] + +--- + +Original plan content (Phase 5 of the bean-layer split). Phase 5a (the `MarshallingInterceptor` → `commons.bean.BeanInterceptor` move+rename) shipped in the same commit that created this plan. The big runtime types lived in `juneau-marshall` because they were deeply entangled with `ClassMeta` / `MarshallingContext` / `ObjectSwap` / `BeanRegistry`, and untangling them was the bulk of the work. --- diff --git a/todo/TODO-30-classmeta-to-commons.md b/todo/TODO-30-classmeta-to-commons.md new file mode 100644 index 0000000000..8d8e33f9f5 --- /dev/null +++ b/todo/TODO-30-classmeta-to-commons.md @@ -0,0 +1,155 @@ +# TODO-30 — Investigate moving `ClassMeta` (and related non-marshalling types) from `juneau-marshall` into `juneau-commons` + +Source: promoted from `TODO.md` on 2026-05-13. Companion follow-on to **TODO-5** (which already moved the bean-runtime types — `BeanMap`, `BeanMeta`, `BeanPropertyMeta`, `BeanPropertyValue`, `BeanPropertyConsumer`, `BeanProxyInvocationHandler`, `BeanMapEntry`, `BeanInterceptor` — into `org.apache.juneau.commons.bean`). + +--- + +## Goal + +Determine whether the **type-classification / type-metadata layer** of Juneau (currently rooted at `ClassMeta`) can be moved out of `juneau-marshall` and into `juneau-commons`, so that `juneau-marshall` ends up containing **only**: + +- Serializers and parsers (`Json*`, `Xml*`, `Html*`, `Csv*`, `Msgpack*`, `Cbor*`, `Bson*`, `Toml*`, `Yaml*`, `Markdown*`, `Hocon*`, `Hjson*`, `Jcs`, `Jsonl`, `Json5`, `Proto*`, `Parquet*`, `OpenApi*`, `Uon*`, `UrlEncoding*`, etc.) and their per-format support code. +- Marshalling sessions / contexts / converters / listeners / exception types. +- Marshalling-specific annotations (`@Marshalled`, `@MarshalledProp`, `@MarshalledCtor`, `@MarshalledConfig`, `@MarshalledIgnore`, `@Swap`, etc.). +- HTTP-part serializer / parser SPI (`HttpPartSerializer`, `HttpPartParser`, `@HttpPartMarshalling`). +- JSON Schema generator. +- Marshaller façades (`Json`, `Xml`, `MarshallUtils`, …). + +Everything else (type metadata, bean modeling extensions, swap registry plumbing, generic object tools, generic annotation application machinery) becomes a candidate for `juneau-commons` (existing packages or new sub-packages). + +This is an **investigation / feasibility** task. The deliverable is a written analysis with concrete recommendations for what can move, what should stay, and what intermediate SPI work (if any) is needed first. **No code changes** are part of the initial pass — once the analysis is in, individual moves get spun off into their own `TODO-30a/b/c…` plan files (or fresh TODO ids) following the same pattern as TODO-5's phases. + +--- + +## Scope + +### In scope (candidates to move) + +| Candidate | Current location | Notes | +|---|---|---| +| `ClassMeta<T>` | `org.apache.juneau` | Core type-metadata registry; extends `BeanInfo<T>` (already in commons.bean). | +| `ExtendedClassMeta` | `org.apache.juneau` | Per-format extension hook attached to `ClassMeta`. | +| `BeanDictionaryMap` / `BeanDictionaryList` | `org.apache.juneau` | Pre-registered bean dictionaries. Currently consume `ClassMeta`. | +| `BeanRegistry` | `org.apache.juneau` | Implements commons-side `BeanRegistryLookup`. Concrete impl lives marshalling-side. | +| `ObjectSwap<T,S>` | `org.apache.juneau.swap` | Type-level swap descriptor. Tied to swap registry + media-type matching. | +| Built-in swaps in `org.apache.juneau.swap.*` | `org.apache.juneau.swap` | `TemporalSwap`, `CalendarSwap`, `DateSwap`, `ObjectMapSwap`, `EnumerationSwap` (deleted), `IteratorSwap` (deleted), etc. Each is candidate-by-candidate. | +| Annotation-application framework (`AnnotationApplier`, `@ContextApply`, `AnnotationWorkList`, `ContextProperties`) | `org.apache.juneau.annotation` / `org.apache.juneau` | Generic — drives both bean-config and marshalling-config application. | +| `Context` / `Session` (the base types) | `org.apache.juneau` | Currently parents of `MarshallingContext` / `MarshallingSession`. If they're not marshalling-specific, they can move. | +| Object tools (`ObjectRest`, `ObjectComparator`, `ObjectIntrospector`, `ObjectSearcher`, `ObjectSorter`, `ObjectViewer`) | `org.apache.juneau.objecttools` | Walk POJOs for query / sort / project; depend on `BeanMap` (already in commons) and `ClassMeta`. | +| Per-format `*ClassMeta` extensions (`XmlClassMeta`, `RdfClassMeta`, `HtmlClassMeta`, etc.) | per-format packages in `juneau-marshall` | Stay marshalling-side (format-specific); but their abstract parent `ExtendedClassMeta` is in scope. | +| `Marshaller`-side type-conversion machinery hidden behind `ClassMeta` (default-value table, `canCreateNewInstance`, surrogate detection, builder-class detection) | `org.apache.juneau` | Already part of `ClassMeta` — move with it. | + +### Explicitly out of scope (stays in `juneau-marshall`) + +- `@Marshalled` / `@MarshalledProp` / `@MarshalledCtor` / `@MarshalledConfig` / `@MarshalledIgnore` and their `*Annotation.Applier` builders. +- `MarshallingContext` / `MarshallingSession` / `MarshallingTraverseContext` / `MarshallingTraverseSession` and their builders. +- `MarshalledFilter` / `MarshalledBeanMetaInitializer` / `MarshalledPropertyPostProcessor` (already implementations of commons-side SPIs). +- All serializers, parsers, and per-format support classes. +- `Swap` annotation, `@SerializerConfig`, `@ParserConfig`. +- `HttpPart*` serializer/parser SPI. +- `JsonSchemaGenerator`. + +### Already in commons (no action needed) + +- `BeanMap`, `BeanMeta`, `BeanPropertyMeta`, `BeanPropertyValue`, `BeanPropertyConsumer`, `BeanProxyInvocationHandler`, `BeanMapEntry`, `BeanInterceptor` (TODO-5). +- `BeanInfo`, `BeanSession`, `BeanFilter`, `BeanRegistryLookup`, `BeanMetaInitializer`, `BeanPropertyPostProcessor`, `BeanTypeResolver`, `BeanConfigContext` (TODO-5). +- `@BeanType`, `@BeanProp`, `@BeanCtor`, `@BeanIgnore`, `@BeanConfig`, `@Name` (TODO-5). +- `ClassInfo`, `ClassInfoTyped`, `MethodInfo`, `FieldInfo`, `ParameterInfo`, `AnnotationInfo`, `AnnotationProvider`, `Visibility`, `ExecutableException`, `ReflectionUtils`, `TypeVariables` (commons.reflect — pre-existing). +- `BeanStore`, `BeanInstantiator`, `BasicBeanStore` (commons.inject). +- `Utils`, `Settings`, value classes, `ThrowableUtils`, etc. + +--- + +## Phase 0 — Inventory and coupling map (deliverable: a written analysis) + +The first concrete output is a **dependency map**: for each candidate type, list which marshalling-only types it currently imports and which marshalling-only types currently import it. This shapes the eventual move order. + +### Steps + +1. **`ClassMeta` itself.** Enumerate every field, every method, and every type referenced from each. Categorize as: + - (a) `BeanInfo` / `ClassInfo` / commons-side type — no problem. + - (b) Bean-modeling-only type that is already in commons (`BeanMeta`, `BeanFilter`, …) — no problem. + - (c) Marshalling-specific type (`ObjectSwap`, `MarshalledFilter`, `BeanRegistry` concrete, per-format `*ClassMeta` extensions) — these are the move-blockers. + - (d) Side-channel hooks into `MarshallingContext` (cache lookups, type-name registry, default-value table) — these decide whether `ClassMeta` can be standalone or needs a `MarshallingContext` companion. +2. **`ObjectSwap`.** Same audit. Determine whether `ObjectSwap` is fundamentally tied to `MediaType` matching (a marshalling concept) or just to a `Class<?>` pair plus optional metadata. +3. **`BeanRegistry`.** Already a thin wrapper over `BeanRegistryLookup`. Audit what makes the concrete implementation marshalling-side (annotation reads? type-resolution? exception classes?). +4. **`Context` / `Session` base types.** Determine whether the base APIs (build / apply / copy / set / property bag) are inherently marshalling-specific or generic infrastructure that could host both bean-config and marshalling-config. +5. **Annotation-application framework (`AnnotationApplier`, `AnnotationWorkList`, `ContextProperties`).** Audit whether the framework itself references marshalling types or whether it's a generic dispatcher driven by builder method references. +6. **`BeanDictionaryMap` / `BeanDictionaryList`.** Audit whether they actually need `ClassMeta` or can operate on `BeanInfo` (commons-side seam). +7. **Object tools.** Audit whether `ObjectRest` / `ObjectSearcher` / etc. need `MarshallingContext` or only the commons-side `BeanSession` / `BeanMap` surface. + +### Output + +Write the analysis as an appendix at the bottom of this plan (or as a separate `TODO-30-analysis.md` if it gets large). Each candidate gets: + +- Recommended outcome: **MOVE-AS-IS** / **MOVE-WITH-SPI** / **STAYS** / **SPLIT** (move parent, keep concrete). +- Move-blockers (concrete types that currently couple it to marshalling). +- Proposed SPI seam(s), mirroring the `BeanInfo` / `BeanSession` / `BeanRegistryLookup` pattern from TODO-5. +- Estimated effort (small / medium / large) — order of magnitude. + +--- + +## Phase 1 — Standalone-compile probes + +Once the analysis is in, validate the dependency map with empirical probes: + +- Create temporary `juneau-commons-probe` source folders that copy the candidate file with minimal edits (replace marshalling-side type refs with `Object` casts, remove imports). Compile `juneau-commons` standalone. The set of compile errors maps the **real** remaining coupling. +- Use these probe builds to refine effort estimates per candidate. + +(Same technique TODO-5 used during Phase 5 prep — see `todo/TODO-5-bean-runtime-types-to-commons.md` for the pattern.) + +--- + +## Phase 2+ — Sequencing (to be planned post-analysis) + +A likely ordering, **subject to revision** once Phase 0 / 1 are done: + +1. Promote `Context` / `Session` base types to commons (if Phase 0 confirms they're generic). +2. Move annotation-application framework to commons. +3. Move `ObjectSwap` (with whatever SPI seam decouples it from `MediaType` / format awareness — possibly `ObjectSwap` itself stays generic and the format-aware filter lives on the marshalling side). +4. Move `ClassMeta` (the big one). Likely requires: + - A commons-side `ClassMeta` that no longer carries the per-format `ExtendedClassMeta` cache. + - `MarshallingContext` keeps a side-map keyed by `ClassMeta` for the per-format extensions. + - Default-value table / `canCreateNewInstance` / surrogate detection stay on `ClassMeta` since they're generic Java-class facts, not marshalling facts. +5. Move `BeanRegistry`, `BeanDictionaryMap`, `BeanDictionaryList` (smaller, likely follow-on). +6. Move object-tools package. +7. Move per-format `*ClassMeta` parent `ExtendedClassMeta` (if Phase 0 finds it's a thin generic hook). + +Each step gets its own checkpoint with the same shape as TODO-5's Phase C tasks: identify blockers, lift SPIs, then physical `git mv` + reference sweep + standalone compile verification. + +--- + +## Non-goals (this TODO) + +- **No code changes during the investigation phase.** Phase 0 is purely a read-only audit. +- **No coupling to specific release vehicles.** This work straddles releases; lock in version boundaries only when a phase is actually executed. +- **Not a `juneau-marshall` rewrite.** Serializers / parsers stay structurally the same; only their dependency floor changes. + +--- + +## Open questions + +1. **Does `ClassMeta` need to know about media types?** If yes (e.g. via `forMediaTypes` matching on swaps cached inside `ClassMeta`), then either the media-type-aware portion stays marshalling-side as `ExtendedClassMeta` or `ClassMeta` needs to expose an `Object`-typed swap-list seam that the marshalling-side narrows. +2. **Does `Context` carry serializer/parser settings?** If `Context.Builder` defines things like `quoteChar`, `useWhitespace`, etc., those are marshalling-specific and `Context` cannot move as-is — only a smaller `BeanContext`-style ancestor would. +3. **Does the annotation-application framework reference `MarshallingContext.Builder` explicitly anywhere, or only through generic `B extends Builder` parameters?** The latter is portable. +4. **Are object tools depended on by `juneau-rest-server`?** If yes, moving them to commons would let rest-server drop its `juneau-marshall` runtime dependency for those features (relates to TODO-7's larger goal). +5. **Where does `BeanFilter.Builder` live?** Currently it sits between commons (`BeanFilter` SPI) and marshall (`MarshalledFilter` impl). The builder may want to live in commons (mirroring TODO-5's tightening of `BeanPropertyPostProcessor.process`). +6. **Coordination with TODO-14 (move SVL to commons).** If `VarResolver` lands in commons first, `Context`/`Session` base-type move becomes much easier — they currently reference `VarResolverSession` in the apply pipeline. + +--- + +## Risks + +- **`ClassMeta` is one of the most-imported types in the entire codebase** (hundreds of references across `juneau-marshall`, `juneau-rest-*`, `juneau-bean-*`, `juneau-utest`). A package-path move means a repo-wide import sweep on the same order of magnitude as TODO-5's 138-file BeanInfo rename. +- **Per-format `*ClassMeta` extensions** are cached inside `ClassMeta` itself today. Decoupling that cache requires either keeping a side-map on `MarshallingContext` or accepting that `ClassMeta` carries an `Object`-typed `extendedMeta` lookup. Either way, the per-format `XmlClassMeta` / `HtmlClassMeta` / `RdfClassMeta` classes stay marshalling-side. +- **Annotation-application framework move** can ripple: every `@MarshalledConfig.Applier`, every `@SerializerConfig.Applier`, etc. currently extends commons-or-marshall classes. If the base `AnnotationApplier` moves to commons, the marshalling-side concrete appliers stay in marshall but their parent class import flips. Mechanical but repo-wide. +- **Source-incompatible** even for downstream users who reference `org.apache.juneau.ClassMeta` directly. Coordinate with the v9.5 migration guide. + +--- + +## Definition of done (for the investigation phase) + +- [ ] Phase 0 inventory written. Each candidate type has a recommended outcome, blockers, and effort estimate. +- [ ] Phase 1 standalone-compile probes attempted for at least `ClassMeta`, `ObjectSwap`, and one object-tool to validate the analysis. +- [ ] Phase 2+ sequencing locked in based on Phase 0 / 1 findings. +- [ ] Followup `TODO-30a-…` / `TODO-30b-…` plan files (or new top-level TODO ids) created for the individual moves identified in Phase 2+. This plan file then becomes a hub linking to those followups. diff --git a/todo/TODO.md b/todo/TODO.md index 70b7c51c39..c19c17a061 100644 --- a/todo/TODO.md +++ b/todo/TODO.md @@ -7,8 +7,6 @@ - [TODO-4] Duration.ofDays(7) serialized in hours? -- [TODO-5] Finish Phase 5 of the bean-layer split: physically move `BeanMap`, `BeanMeta`, `BeanPropertyMeta`, `BeanMapEntry`, `BeanPropertyValue`, `BeanPropertyConsumer`, `BeanProxyInvocationHandler`, and `BeanMetaFiltered` from `juneau-marshall` into `org.apache.juneau.commons.bean` in `juneau-commons`. Requires untangling `ClassMeta` / `MarshallingContext` / `ObjectSwap` / `BeanRegistry` dependencies (introduce a `BeanConfigContext` runtime POJO, swap `ClassMeta` for `ClassInfo`, hoist [...] - - [TODO-6] Add an `ai` / `shortDescription` field to `@Schema` (and related annotations) for concise LLM/AI-consumption descriptions that stay under token budgets. See `todo/TODO-6-ai-short-description.md`. - [TODO-7] Decouple `juneau-rest-common` from `juneau-marshall` by breaking the compile dependency so REST annotations and beans can be used without pulling in the full serialization stack. See `todo/TODO-7-decouple-rest-common-from-marshall.md`.
