KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jmanage > core > management > data > jdk > MemoryUsageFormat


1 /**
2 * Copyright (c) 2004-2005 jManage.org
3 *
4 * This is a free software; you can redistribute it and/or
5 * modify it under the terms of the license at
6 * http://www.jmanage.org.
7 *
8 * Unless required by applicable law or agreed to in writing, software
9 * distributed under the License is distributed on an "AS IS" BASIS,
10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 * See the License for the specific language governing permissions and
12 * limitations under the License.
13 */

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 JavaDoc;
21
22 /**
23  * Formatter for "java.lang.management.MemoryUsage" CompositeType.
24  *
25  * Used: 1,515 KB
26  * Committed: 1,984 KB
27  * Max: 65,088 KB
28  * Initial: 0 KB
29  * <p>
30  * Date: Dec 22, 2005
31  * @author Rakesh Kalra
32  */

33 public class MemoryUsageFormat implements DataFormat {
34
35     private static final DataFormat stackTraceFormatter =
36             new StackTraceElementFormat();
37
38     public String JavaDoc format(Object JavaDoc data) {
39
40         CompositeData JavaDoc compositeData = (CompositeData JavaDoc)data;
41         if(!compositeData.getCompositeType().getTypeName().
42                 equals("java.lang.management.MemoryUsage")){
43             throw new RuntimeException JavaDoc("Invalid typeName:" +
44                     compositeData.getCompositeType().getTypeName());
45         }
46
47         Table table = getTable();
48         table.setHeader(new String JavaDoc[]{"Used", "Committed", "Max", "Initial"});
49         String JavaDoc[] values = new String JavaDoc[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 JavaDoc getKBytes(Object JavaDoc bytes){
63         return Long.toString(((Long JavaDoc)bytes).longValue()/1024L) + " KB";
64     }
65 }
Popular Tags