Package org.eclipse.sisu.bean
Customizable injection of bean properties, based on http://code.google.com/p/google-guice/wiki/CustomInjections.
For example:
new AbstractModule() { @Override protected void configure() { bindListener( Matchers.any(), new BeanListener( new MyBeanBinder() ) ); } }
MyBeanBinder
will be asked to supply a PropertyBinder
for each bean type, say Foo.
That PropertyBinder
will be asked to supply a PropertyBinding
for each property (field or setter) in Foo.
Those PropertyBinding
s are then used to automatically configure any injected instances of Foo.
-
Interface Summary Interface Description BeanBinder Provides customPropertyBinder
s for beans that contain one or more properties.BeanManager Service that manages the lifecycle of beans.BeanProperty<T> Represents a bean property such as a field or setter method.PropertyBinder Provides customPropertyBinding
s for bean properties such as fields or setter methods.PropertyBinding Represents a bean property that has been bound by aPropertyBinder
. -
Class Summary Class Description BeanInjector<B> MembersInjector
that takesPropertyBinding
s and applies them to bean instances.BeanLifecycle Represents the JSR250 lifecycle for a particular bean type.BeanListener TypeListener
that listens for bean types and arranges for their properties to be injected.BeanProperties Iterable
that iterates over potential bean properties in a class hierarchy.BeanPropertyField<T> BeanProperty
backed by aField
.BeanPropertyIterator<T> Read-onlyIterator
that picks out potential bean properties from declared members.BeanPropertySetter<T> BeanProperty
backed by a single-parameter setterMethod
.BeanScheduler Schedules safe activation of beans even when cyclic dependencies are involved.
Takes advantage of the new Guice ProvisionListener SPI, if available at runtime.BeanScheduler.CycleActivator Listens to provisioning events in order to determine safe activation points.DeclaredMembers Iterable
that iterates over declared members of a class hierarchy.DeclaredMembers.MemberIterator Read-onlyIterator
that uses rollingDeclaredMembers.View
s to traverse the different members.LifecycleBuilder BuildsBeanLifecycle
s by searching class hierarchies for JSR250 annotations.LifecycleManager BeanManager
that manages JSR250 beans and schedules lifecycle events.LifecycleModule GuiceModule
that provides JSR250 lifecycle management by followingPostConstruct
andPreDestroy
annotations. -
Enum Summary Enum Description DeclaredMembers.View Enum
implementation that provides different views of a class's members. -
Annotation Types Summary Annotation Type Description IgnoreSetters Annotates class hierarchies that don't want setter injection.