001 /* 002 @license.text@ 003 */ 004 package biz.hammurapi.metrics; 005 006 import org.w3c.dom.Element; 007 008 import biz.hammurapi.render.RenderingException; 009 import biz.hammurapi.xml.dom.DOMUtils; 010 import biz.hammurapi.xml.dom.DomSerializable; 011 012 013 /** 014 * @author Pavel Vlasov 015 * @revision $Revision$ 016 */ 017 public class MetricDomSerializer { 018 019 public DomSerializable toDomSerializable(final Metric metric) { 020 return new DomSerializable() { 021 022 public void toDom(Element holder) { 023 MetricDomSerializer.this.toDom(holder, metric); 024 } 025 026 }; 027 } 028 029 /** 030 * @param document 031 * @param holder 032 * @param m 033 * @throws RenderingException 034 */ 035 private void toDom(Element holder, Metric m) { 036 holder.setAttribute("name", m.getName()); 037 holder.setAttribute("avg", String.valueOf(m.getAvg())); 038 holder.setAttribute("min", String.valueOf(m.getMin())); 039 holder.setAttribute("max", String.valueOf(m.getMax())); 040 041 holder.setAttribute("total", String.valueOf(m.getTotal())); 042 holder.setAttribute("number", String.valueOf(m.getNumber())); 043 holder.setAttribute("deviation", String.valueOf(m.getDeviation())); 044 045 DOMUtils.toDom(m.getMeasurements(), "measurements", holder); 046 } 047 }