Package org.eclipse.sisu.bean
package org.eclipse.sisu.bean
Customizable injection of bean properties, based on https://github.com/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.
-
ClassDescriptionProvides custom
PropertyBinder
s for beans that contain one or more properties.TypeListener
that listens for bean types and arranges for their properties to be injected.Service that manages the lifecycle of beans.Iterable
that iterates over potential bean properties in a class hierarchy.BeanProperty<T>Represents a bean property such as a field or setter method.Schedules safe activation of beans even when cyclic dependencies are involved.
Takes advantage of the new Guice ProvisionListener SPI, if available at runtime.Iterable
that iterates over declared members of a class hierarchy.Enum
implementation that provides different views of a class's members.Annotates class hierarchies that don't want setter injection.BeanManager
that manages JSR250 beans and schedules lifecycle events.Allows testing if a class should be flushed from the cacheGuiceModule
that provides lifecycle management by followingPostConstruct
andPreDestroy
annotations, or corresponding JSR250PostConstruct
andPreDestroy
annotations.Provides customPropertyBinding
s for bean properties such as fields or setter methods.Represents a bean property that has been bound by aPropertyBinder
.