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

public enum  PresentationServletStatus {


  OFFEN {
    @Override
    public boolean isDeaktiviert() {
      return false;
    }

    @Override
    public boolean isOffen() {
      return true;
    }

    @Override
    public boolean isAnmeldungNotwendig() {
      return false;
    }

    @Override
    public boolean isRechtNotwendig() {
      return false;
    }
  },
  ANGEMELDET {
    @Override
    public boolean isDeaktiviert() {
      return false;
    }

    @Override
    public boolean isOffen() {
      return false;
    }

    @Override
    public boolean isAnmeldungNotwendig() {
      return true;
    }

    @Override
    public boolean isRechtNotwendig() {
      return false;
    }
  },
  RECHT_NOTWENDIG {
    @Override
    public boolean isDeaktiviert() {
      return false;
    }

    @Override
    public boolean isOffen() {
      return false;
    }

    @Override
    public boolean isAnmeldungNotwendig() {
      return true;
    }

    @Override
    public boolean isRechtNotwendig() {
      return true;
    }
  },
  DEAKTIVIERT {
    @Override
    public boolean isDeaktiviert() {
      return true;
    }

    @Override
    public boolean isOffen() {
      return false;
    }

    @Override
    public boolean isAnmeldungNotwendig() {
      return false;
    }

    @Override
    public boolean isRechtNotwendig() {
      return false;
    }
  };

  public abstract boolean isDeaktiviert() ;

  public abstract boolean isOffen();

  public abstract boolean isAnmeldungNotwendig();

  public abstract boolean isRechtNotwendig();

}
