
package be.fror.ecs;

/**
 *
 * @author Olivier Grégoire
 */
public abstract class Processor {

  private Engine engine;

  protected final Engine getEngine() {
    return engine;
  }

  final void doProcess() {
    beforeProcess();
    process();
    afterProcess();
  }

  protected void beforeProcess() {
  }

  protected abstract void process();

  protected void afterProcess() {
  }
}
