package com.mcb.base; import org.aeonbits.owner.event.ReloadEvent; import org.aeonbits.owner.event.ReloadListener; import javax.inject.Inject; import java.util.List; /** * Created by matthewb on 10/14/15. */ public abstract class SparkApp extends SparkFilter implements ISparkApp { @Inject List<ISparkFilter> filters; protected List<ISparkFilter> getFilters(){ return this.filters; } @Override public void bootstrap() { final SparkApp _this = this; this.getCfg().addReloadListener(new ReloadListener() { @Override public void reloadPerformed(ReloadEvent reloadEvent) { log().config("reloading " + reloadEvent.getSource().toString()); _this.restart(); } }); this.setup(); } @Override public void stop() { spark.Spark.stop(); } @Override public void restart() { this.stop(); this.setup(); } }