1 package org.wamblee.system;
3 import javax.sql.DataSource;
5 import org.wamblee.test.EventTracker;
7 public class Application extends AbstractComponent {
8 private static RequiredInterface[] required() {
10 new RequiredInterface[] {
11 new DefaultRequiredInterface("datasource", DataSource.class),
12 new DefaultRequiredInterface("integer", Integer.class)
16 private EventTracker<String> _tracker;
18 public Application() {
19 super("application", new ProvidedInterface[0], required());
22 public Application(EventTracker<String> aTracker) {
28 protected void doStart(String aContext) {
29 track("start." + getName());
33 protected void doStop() {
34 track("stop." + getName());
37 private void track(String aString) {
38 if ( _tracker == null ) {
41 _tracker.eventOccurred(aString);