package foundation.server; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public abstract class Initializer { protected static Logger logger; protected String name; protected boolean active; protected String path; static { logger = LogManager.getLogger(Initializer.class); } public Initializer() { } public abstract void startUp() throws Exception; public abstract void shutDown() throws Exception; public void onServerStart() throws Exception { logger.info("initializer start up --> " + name); startUp(); } public void onServerStop() { logger.info("initializer shut down --> " + name); try { shutDown(); } catch (Exception e) { e.printStackTrace(); } } public String getName() { return name; } public boolean isActive() { return active; } public void setActive(boolean active) { this.active = active; } public void setName(String name) { this.name = name; } public String getPath() { return path; } @Override public String toString() { return "[" + name + "]: " + path; } }