SeamFramework.orgCommunity Documentation

Chapter 9. Bean Utilities

Seam Solder provides a number of base classes which can be extended to create custom beans. Seam Solder also provides bean builders which can be used to dynamically create beans using a fluent API.

AbstractImmutableBean

An immutable (and hence thread-safe) bean, whose constructor will substitute specification defaults if null is passed for a particular attribute. Subclasses must implement the create() and destroy() methods.

AbstractImmutableProducer

An immutable (and hence thread-safe) abstract class for creating producers. Subclasses must implement produce() and dispose().

BeanBuilder

A builder for creating immutable beans which can read the type and annotations from an AnnotatedType.

Beans

A set of utilities for working with beans.

ForwardingBean

A base class for implementing Bean which forwards all calls to delegate().

ForwardingInjectionTarget

A base class for implementing InjectionTarget which forwards all calls to delegate().

ForwardingObserverMethod

A base class for implementing ObserverMethod which forwards all calls to delegate().

ImmutableBean

An immutable (and hence thread-safe) bean, whose constructor will substitute specification defaults if null is passed for a particular attribute. An implementation of ContextualLifecycle may be registered to receive lifecycle callbacks.

ImmutableInjectionPoint

An immutable (and hence thread-safe) injection point.

ImmutableNarrowingBean

An immutable (and hence thread-safe) narrowing bean. Narrowing beans allow you to build a general purpose bean (likely a producer method), and register it for a narrowed type (or qualifiers).

ImmutablePassivationCapableBean

An immutable (and hence thread-safe) bean, whose constructor will substitute specification defaults if null is passed for a particular attribute. An implementation of ContextualLifecycle may be registered to receive lifecycle callbacks. The bean implements PassivationCapable, and an id must be provided.

ImmutablePassivationCapableNarrowingBean

An immutable (and hence thread-safe) narrowing bean. Narrowing beans allow you to build a general purpose bean (likely a producer method), and register it for a narrowed type (or qualifiers). The bean implements PassivationCapable, and an id must be provided.

NarrowingBeanBuilder

A builder for creating immutable narrowing beans which can read the type and annotations from an AnnotatedType.

The use of these classes is in general trivially understood with an understanding of basic programming patterns and the CDI specification, so no in depth explanation is provided here. The JavaDoc for each class and method provides more detail.