Package org.eclipse.sisu.bean
Class LifecycleManager
- java.lang.Object
-
- org.eclipse.sisu.bean.BeanScheduler
-
- org.eclipse.sisu.bean.LifecycleManager
-
- All Implemented Interfaces:
BeanManager
public final class LifecycleManager extends BeanScheduler implements BeanManager
BeanManager
that manages JSR250 beans and schedules lifecycle events.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
LifecycleManager.ClassTester
Allows testing if a class should be flushed from the cache
-
Field Summary
-
Fields inherited from class org.eclipse.sisu.bean.BeanScheduler
MODULE
-
-
Constructor Summary
Constructors Constructor Description LifecycleManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
activate(java.lang.Object bean)
Customized activation of the given bean.void
flushCacheFor(LifecycleManager.ClassTester remove)
Flush the cache for each key that satisfies the given predicateboolean
manage(java.lang.Class<?> clazz)
Decides whether instances of the given bean type should be reported to this manager.boolean
manage(java.lang.Object bean)
Asks this manager to manage the given bean instance.PropertyBinding
manage(BeanProperty<?> property)
Asks this manager to manage the given bean property.boolean
unmanage()
Asks this manager to unmanage all the bean instances it knows about.boolean
unmanage(java.lang.Object bean)
Asks this manager to unmanage the given bean instance.-
Methods inherited from class org.eclipse.sisu.bean.BeanScheduler
detectCycle, schedule
-
-
-
-
Method Detail
-
manage
public boolean manage(java.lang.Class<?> clazz)
Description copied from interface:BeanManager
Decides whether instances of the given bean type should be reported to this manager.- Specified by:
manage
in interfaceBeanManager
- Parameters:
clazz
- The bean type- Returns:
true
if instances of the bean should be reported; otherwisefalse
-
manage
public PropertyBinding manage(BeanProperty<?> property)
Description copied from interface:BeanManager
Asks this manager to manage the given bean property.- Specified by:
manage
in interfaceBeanManager
- Parameters:
property
- The bean property- Returns:
- Non-null binding if the bean property was managed; otherwise
null
-
manage
public boolean manage(java.lang.Object bean)
Description copied from interface:BeanManager
Asks this manager to manage the given bean instance.- Specified by:
manage
in interfaceBeanManager
- Parameters:
bean
- The bean instance- Returns:
true
if the bean instance was managed; otherwisefalse
-
unmanage
public boolean unmanage(java.lang.Object bean)
Description copied from interface:BeanManager
Asks this manager to unmanage the given bean instance.- Specified by:
unmanage
in interfaceBeanManager
- Parameters:
bean
- The bean instance- Returns:
true
if the bean instance was unmanaged; otherwisefalse
-
unmanage
public boolean unmanage()
Description copied from interface:BeanManager
Asks this manager to unmanage all the bean instances it knows about.- Specified by:
unmanage
in interfaceBeanManager
- Returns:
true
if any bean instances were unmanaged; otherwisefalse
-
activate
protected void activate(java.lang.Object bean)
Description copied from class:BeanScheduler
Customized activation of the given bean.- Specified by:
activate
in classBeanScheduler
- Parameters:
bean
- The bean to activate
-
flushCacheFor
public void flushCacheFor(LifecycleManager.ClassTester remove)
Flush the cache for each key that satisfies the given predicate- Parameters:
remove
- a tester that can decide if this key needs to be flushed or not.- Since:
- 0.9.0.M3
-
-