EQException.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * @author Ranides Atterwim <ranides@gmail.com>
  3. * @copyright Ranides Atterwim
  4. * @license WTFPL
  5. * @url http://ranides.net/projects/assira.drafts
  6. */
  7. package net.ranides.assira.trace;
  8. import java.lang.management.ManagementFactory;
  9. import java.text.MessageFormat;
  10. import java.time.Instant;
  11. import java.util.concurrent.atomic.AtomicInteger;
  12. /**
  13. *
  14. * @author Ranides Atterwim <ranides@gmail.com>
  15. */
  16. public class EQException extends NSTException {
  17. private static final AtomicInteger COUNTER = new AtomicInteger(0);
  18. private static final class Li { // NOPMD - lazy init idiom
  19. public static final String VMNAME = ManagementFactory.getRuntimeMXBean().getName();
  20. }
  21. private final String uid;
  22. private final String text;
  23. public EQException(String pattern, Object... params) {
  24. text = MessageFormat.format(pattern, params);
  25. uid = Li.VMNAME + "@" + COUNTER.incrementAndGet();
  26. }
  27. @Override
  28. public String toString() {
  29. return "EMException{ " + uid + " : " + text + " }";
  30. }
  31. public String getUid() {
  32. return uid;
  33. }
  34. }