package de.ivu.elect.business.system.entity;

import de.ivu.elect.business.mandant.entity.Mandant;
import de.ivu.elect.business.system.boundary.SystemLogWriter;

public enum SystemLogStoreEntryType {

  INFO{
    @Override
    public void write(SystemLogWriter systemLogWriter, String message, SystemLogQuelle systemLogQuelle) {
      systemLogWriter.writeInfoLogMessageFuerSystemMandant(message, systemLogQuelle);
    }
  },
  WARN {
    @Override
    public void write(SystemLogWriter systemLogWriter, String message, SystemLogQuelle systemLogQuelle) {
      systemLogWriter.writeWarnLogMessageFuerSystemMandant(message, systemLogQuelle);
    }
  },
  ERROR {
    @Override
    public void write(SystemLogWriter systemLogWriter, String message, SystemLogQuelle systemLogQuelle) {
      systemLogWriter.writeErrorLogMessageFuerSystemMandant(message, systemLogQuelle);
    }
  };

  public abstract void write(SystemLogWriter systemLogWriter, String message, SystemLogQuelle systemLogQuelle);
}
