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 c8281ed8e1e7a7ed58a42490233cae57e93327e1 Author: James Bognar <[email protected]> AuthorDate: Wed May 13 11:15:01 2026 -0400 docs: expand commons.bean package-info to cover annotations, runtime types, and SPIs Co-authored-by: Cursor <[email protected]> --- .../apache/juneau/commons/bean/package-info.java | 67 +++++++++++++++++++++- 1 file changed, 64 insertions(+), 3 deletions(-) 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 6f2972a22c..93a7992648 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 @@ -19,8 +19,69 @@ * Bean-modeling layer for Juneau. * * <p> - * Contains bean-modeling annotations (such as {@link org.apache.juneau.commons.bean.BeanType @BeanType}) - * and supporting types (such as {@link org.apache.juneau.commons.bean.PropertyNamer}) that describe how - * Java types map to bean property sets, independent of any marshalling concerns. + * Contains the bean-modeling annotations, runtime types, and SPI seams that describe how Java types + * map to bean property sets, independent of any marshalling concerns. The marshalling layer (in + * {@code juneau-marshall}) layers serializer / parser / swap behavior on top of these primitives. + * + * <h5 class='topic'>Annotations</h5> + * <ul> + * <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 org.apache.juneau.commons.bean.BeanProp @BeanProp} — configures a bean property + * (name, getter, setter, etc.). + * <li>{@link org.apache.juneau.commons.bean.BeanCtor @BeanCtor} — marks a constructor as the bean + * constructor and names its arguments. + * <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 org.apache.juneau.commons.bean.BeanConfig @BeanConfig} — applies bean-modeling settings + * declaratively at the config-annotation level. + * <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 org.apache.juneau.commons.bean.BeanMeta} — metadata describing a bean class + * (properties, constructor, type info). + * <li>{@link org.apache.juneau.commons.bean.BeanPropertyMeta} — metadata describing a single + * bean property. + * <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 org.apache.juneau.commons.bean.BeanPropertyValue} — read-side property holder used by + * consumers that iterate bean properties. + * <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 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 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 org.apache.juneau.commons.bean.BeanTypeInfo} — abstract type-classification surface; + * {@code ClassMeta} extends it on the marshalling side. + * <li>{@link org.apache.juneau.commons.bean.BeanTypeResolver} — resolves {@link java.lang.reflect.Type} + * references to {@link org.apache.juneau.commons.bean.BeanTypeInfo} instances. + * <li>{@link org.apache.juneau.commons.bean.BeanSession} — per-operation session surface (type + * conversion, sub-bean construction, CharSequence parsing). + * <li>{@link org.apache.juneau.commons.bean.BeanFilter} — per-class filter surface; + * {@code MarshalledFilter} implements it. + * <li>{@link org.apache.juneau.commons.bean.BeanRegistryLookup} — bean-dictionary lookup surface; + * {@code BeanRegistry} implements it. + * <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 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 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> */ package org.apache.juneau.commons.bean;
