1 14 package org.jmanage.core.management.data.jdk; 15 16 import org.jmanage.core.management.data.DataFormat; 17 import org.jmanage.util.display.TextTable; 18 import org.jmanage.util.display.Table; 19 20 import javax.management.openmbean.CompositeData ; 21 22 33 public class MemoryUsageFormat implements DataFormat { 34 35 private static final DataFormat stackTraceFormatter = 36 new StackTraceElementFormat(); 37 38 public String format(Object data) { 39 40 CompositeData compositeData = (CompositeData )data; 41 if(!compositeData.getCompositeType().getTypeName(). 42 equals("java.lang.management.MemoryUsage")){ 43 throw new RuntimeException ("Invalid typeName:" + 44 compositeData.getCompositeType().getTypeName()); 45 } 46 47 Table table = getTable(); 48 table.setHeader(new String []{"Used", "Committed", "Max", "Initial"}); 49 String [] values = new String [4]; 50 values[0] = getKBytes(compositeData.get("used")); 51 values[1] = getKBytes(compositeData.get("committed")); 52 values[2] = getKBytes(compositeData.get("max")); 53 values[3] = getKBytes(compositeData.get("init")); 54 table.addRow(values); 55 return table.draw(); 56 } 57 58 protected Table getTable(){ 59 return new TextTable(); 60 } 61 62 private String getKBytes(Object bytes){ 63 return Long.toString(((Long )bytes).longValue()/1024L) + " KB"; 64 } 65 } | Popular Tags |