DebugLevel.java 839 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package me.blackphreak.Debug;
  2. import java.util.Arrays;
  3. public enum DebugLevel {
  4. NONE (0, ""),
  5. INFO (1, "+"),
  6. WARN (2, "!"),
  7. ERR (4, "-"),
  8. DEBUG(8, "."),
  9. ALL (Integer.MAX_VALUE, "");
  10. private int _level;
  11. private String _symbol;
  12. DebugLevel(int level, String symbol) {
  13. this._level = level;
  14. this._symbol = symbol;
  15. }
  16. public int getLevel() {
  17. return this._level;
  18. }
  19. public String getSymbol() {
  20. return this._symbol;
  21. }
  22. public static DebugLevel getLowest(int lv) {
  23. var tmp = new Object() {
  24. DebugLevel lowest = DebugLevel.ALL;
  25. };
  26. // get the lowest DebugLevel in provided number (variable: lv)
  27. Arrays.stream(DebugLevel.values()).forEach(dbLv -> {
  28. if ((dbLv.getLevel() & lv) > 0)
  29. if (dbLv.getLevel() < tmp.lowest.getLevel())
  30. tmp.lowest = dbLv;
  31. });
  32. return tmp.lowest;
  33. }
  34. }