Interface Component

All Superinterfaces:
Destroyable
All Known Subinterfaces:
ConfigurableComponent<CTX>, DigesterComponent<J>, InitializableComponent

public interface Component extends Destroyable
Per definition any Component at least must provide a Destroyable.destroy() method. In case a Component has been destroyed, then invoking any of that Component instance's methods (except the Destroyable.destroy() method) must throw an IllegalStateException as by definition a once destroyed Component is in the state of being destroyed which is irreversible.

ATTENTION: In case you intend to provide Destroyable.destroy() functionality to a plain java class which is not intended to be a mature Component, then please just implement the Disposable interface from the refcodes-mixin artifact. This semantically underlines your intentions more clearly (not being a Component and reduces dependencies to the refcodes-component artifact.