Registry-aware components

The RegistryAware interface can be implemented in order to let the
component know of the registry it is being bound to.
This commit is contained in:
Emmanuel BENOîT 2015-09-16 10:45:40 +02:00
parent f2cff8995b
commit 36887ae759
4 changed files with 50 additions and 1 deletions
src/main/java/info/ebenoit/ebul/cmp

View file

@ -74,6 +74,9 @@ public final class ComponentState
throw new ComponentCreationException( e.getCause( ) );
}
}
if ( component instanceof RegistryAware ) {
( (RegistryAware) component ).setComponentRegistry( registry );
}
this.component = component;
String name;

View file

@ -0,0 +1,22 @@
package info.ebenoit.ebul.cmp;
/**
* Interface for registry-aware components
* <p>
* This interface can be implemented by a component that is aware of the component registry it is bound to.
*
* @author <a href="mailto:ebenoit@ebenoit.info">E. Benoît</a>
*/
public interface RegistryAware
{
/**
* Sets the component registry
*
* @param registry
* the registry if the component is being bound, or <code>null</code> if the component is being detached.
*/
public void setComponentRegistry( ComponentRegistry registry );
}