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.
-
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.LifecycleManager.ClassTester Allows testing if a class should be flushed from the cachePropertyBinder 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 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.BeanScheduler Schedules safe activation of beans even when cyclic dependencies are involved.
Takes advantage of the new Guice ProvisionListener SPI, if available at runtime.DeclaredMembers Iterable
that iterates over declared members of a class hierarchy.LifecycleManager BeanManager
that manages JSR250 beans and schedules lifecycle events.LifecycleModule GuiceModule
that provides lifecycle management by followingPostConstruct
andPreDestroy
annotations, or corresponding JSR250PostConstruct
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.