private static final Log LOG = LogFactory.getLog(AbstractComponent.class);
- private Status _status;
private String _context;
private String _name;
private List<ProvidedInterface> _provided;
*/
protected AbstractComponent(String aName, ProvidedInterface[] aProvided,
RequiredInterface[] aRequired) {
- _status = Status.NOT_STARTED;
_context = null;
_name = aName;
_provided = new ArrayList<ProvidedInterface>();
_required.addAll(Arrays.asList(aRequired));
_running = new HashSet<ProvidedInterface>();
}
-
- @Override
- public Status getStatus() {
- return _status;
- }
@Override
public final String getName() {
public final void start() {
LOG.info("Initializing '" + getQualifiedName() + "'");
doStart();
- _status = Status.RUNNING;
if ( _running.size() != _provided.size()) {
List<ProvidedInterface> remaining =
new ArrayList<ProvidedInterface>(_provided);
// programming error.
throw new RuntimeException(getQualifiedName() + ": still services running after the stop call.");
}
- _status = Status.STOPPED;
}
protected abstract void doStop();
@Override
public String toString() {
- return _name;
+ return getQualifiedName();
}
}