public abstract class AbstractComponent extends Object
component that
needs initialization. We strongly recommend that component implementations should be
stateless and therefore thread-safe. It provides an initialization state that helps to prevent accidental coding mistakes. E.g. you can do this:
public class MyComponentImpl extendsIn advance to this class, we recommend that you extendAbstractComponent{ private OtherComponent otherComponent; public void setOtherComponent(OtherComponent otherComponent) {getInitializationState().requireNotInitilized(); this.otherComponent = otherComponent; } public voiddoInitialize(){ if (this.otherCompoent == null) { setOtherComponent(new OtherComponentDefault()); } } public void doSomething() {getInitializationState().requireInitilized(); // ... do something ... } }
AbstractLoggableComponent.AbstractLoggableComponent| Modifier and Type | Field and Description |
|---|---|
private InitializationState |
initializationState |
| Constructor and Description |
|---|
AbstractComponent()
The constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
doInitialize()
This method performs the actual
initialization. |
protected void |
doInitialized()
This method is invoked at the end of the actual
initialization. |
protected InitializationState |
getInitializationState()
This method gets the
InitializationState of this component. |
void |
initialize()
This method initializes this class.
|
private final InitializationState initializationState
@PostConstruct public final void initialize()
protected void doInitialize()
initialization. It is called when initialize() is
invoked for the first time. super.doInitialize().protected void doInitialized()
initialization. It is called when
initialize() is invoked for the first time after doInitialize() is completed and
initialization-state has changed to initialized. super.doInitialized().protected final InitializationState getInitializationState()
InitializationState of this component.initialize(),
InitializationState.requireInitilized(),
InitializationState.requireNotInitilized()Copyright © 2001–2016 mmm-Team. All rights reserved.