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;

Reply via email to