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 }