Package org.apache.juneau.commons.bean


package org.apache.juneau.commons.bean
Bean-modeling layer for Juneau.

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 juneau-marshall) layers serializer / parser / swap behavior on top of these primitives.

Annotations
  • @BeanType — marks a class as a bean and configures bean-level options (interface class, stop class, property order, etc.).
  • @BeanProp — configures a bean property (name, getter, setter, etc.).
  • @BeanCtor — marks a constructor as the bean constructor and names its arguments.
  • @BeanIgnore — marks a class, method, field, or constructor as not a bean / not a bean property.
  • @BeanConfig — applies bean-modeling settings declaratively at the config-annotation level.
  • @Name — alternative property name on a parameter.
Runtime types
SPI seams
  • BeanConfigContext — immutable POJO carrying all bean-modeling configuration knobs plus SPI hooks. MarshallingContext (in juneau-marshall) installs the marshalling-side resolver / initializer / post-processor.
  • BeanInfo — abstract type-classification surface; ClassMeta extends it on the marshalling side.
  • BeanTypeResolver — resolves Type references to BeanInfo instances.
  • BeanSession — per-operation session surface (type conversion, sub-bean construction, CharSequence parsing).
  • BeanFilter — per-class filter surface; MarshalledFilter implements it.
  • BeanRegistryLookup — bean-dictionary lookup surface; BeanRegistry implements it.
  • BeanMetaInitializer — hook that lets marshalling-side code augment BeanMeta construction (filter discovery, type-name resolution, bean-registry assembly).
  • BeanPropertyPostProcessor — hook that lets marshalling-side code augment BeanPropertyMeta construction (swap / surrogate / format annotation processing).
  • Delegate — pluggable delegate-bean marker.
  • PropertyNamer — pluggable Java-name to bean-property-name transformer.
Thread safety

Practical thread-safety semantics for primary runtime types and SPI seams in this package: