Swiz provides several interfaces to enable manual control over certain features, or as an alternative to using certain metadata tags.
ISetUpValidator
Implementing this interface will instruct Swiz to invoke the allowSetUp()
method of the bean before the bean is set up. If this method returns true, set up will proceed. If it returns false, Swiz will not set up the bean.
ITearDownValidator
Implementing this interface will instruct Swiz to invoke the afterTearDown()
method of the bean before the bean is torn down. If this method returns true, tear down will proceed. If it returns false, Swiz will not tear down the bean.
ISetUpValidator
and ITearDownValidator
are primarily meant for use in view components, to allow specific views to opt out of set up or tear down. In these cases, the developer can manually control set up or tear down of the views.
IInitializing
Implementing this interface will instruct Swiz to invoke the afterPropertiesSet()
method of the bean after the bean is set up.
IDisposable
Implementing this interface will instruct Swiz to invoke the destroy()
method of the bean when the bean is destroyed
IDispatcherAware
Implementing this interface will instruct Swiz to inject an IEventDispatcher
into the bean's dispatcher
property when it is set up.
Best Practice
In order to minimize coupling to the Swiz framework, using the [PostConstruct]
, [PreDestroy]
and [Dispatcher]
metadata tags should be favored over use of IInitializing
, IDisposable
and IDispatcherAware
.
IBeanFactoryAware
Implementing this interface will instruct Swiz to inject the Swiz IBeanFactory
into the bean's beanFactory
property when it is set up.
ISwizAware
Implementing this interface will instruct Swiz to inject itself into the bean's swiz
property when it is set up.