1 28 29 package com.idaremedia.antx.feedback; 30 31 import java.io.ByteArrayOutputStream ; 32 import java.io.IOException ; 33 34 import com.idaremedia.apis.DiagnosticsEmitter; 35 import com.idaremedia.antx.ErrorSnapshot; 36 import com.idaremedia.antx.NoiseLevel; 37 import com.idaremedia.antx.helpers.Tk; 38 import com.idaremedia.antx.print.DisplayRequest; 39 import com.idaremedia.antx.print.ErrorPrinter; 40 41 51 52 public final class Emit 53 { 54 63 public static final void broadcast(DiagnosticsEmitter broadcaster, 64 Object msg, Throwable t, NoiseLevel nl) 65 { 66 switch (nl.getIndex()) { 67 case NoiseLevel.FATAL_INDEX: 68 broadcaster.failure(t,msg); break; 69 case NoiseLevel.ERROR_INDEX: 70 broadcaster.error(t,msg); break; 71 case NoiseLevel.WARNING_INDEX: 72 broadcaster.warning(t,msg); break; 73 case NoiseLevel.INFO_INDEX: 74 broadcaster.note(msg); break; 75 case NoiseLevel.VERBOSE_INDEX: 76 broadcaster.note(msg); break; 77 default: broadcaster.finetrace(t,msg); 79 } 80 } 81 82 83 90 public static final String stringify(Object object) 91 { 92 if (object instanceof ErrorSnapshot) { 93 ErrorSnapshot es = (ErrorSnapshot)object; 94 try { 95 ByteArrayOutputStream bos = new ByteArrayOutputStream (256); 96 DisplayRequest dr = new DisplayRequest(es); 97 new ErrorPrinter().print(dr,bos); 98 String s = bos.toString(); 99 bos.close(); 100 bos = null; 101 return s; 102 } catch(IOException ioX) { 103 return es.toString(); 104 } 105 } 106 return Tk.stringFrom(object,null); 107 } 108 109 110 113 private Emit() 114 { } 115 } 116 117 118 | Popular Tags |