1
2
3
4
5
6
7
8
9
10
11
12
13
14 package net.sf.madmap;
15
16 import java.io.*;
17 import java.util.*;
18 import java.awt.*;
19 import java.awt.event.*;
20 import javax.swing.*;
21 import javax.swing.filechooser.*;
22
23
24 public class FinalizerTableModel extends javax.swing.table.AbstractTableModel {
25
26 java.util.List<HprofClassElement> heap;
27 long totalLiveSize;
28
29 private String[] columnNames = {
30 "Type",
31 "Size",
32 "Count"
33 };
34
35 private Class[] columnType = {
36 (java.lang.Class)((new String("")).getClass()),
37 (java.lang.Class)((new Long(0)).getClass()),
38 (java.lang.Class)((new Long(0)).getClass())
39 };
40
41 public FinalizerTableModel( java.util.List<HprofClassElement> fList ) {
42 heap = fList;
43 }
44
45 public Class getColumnClass(int c) {
46 return columnType[c];
47 }
48
49 public String getColumnName(int col) {
50 return columnNames[col];
51 }
52
53 public int getColumnCount() { return columnNames.length; }
54 public int getRowCount() { return heap.size(); }
55
56 public Object getValueAt(int row, int col) {
57 Iterator<HprofClassElement> ihoc3 = heap.iterator();
58 int i = 0;
59
60 while( ihoc3.hasNext() ) {
61 HprofClassElement hk = ihoc3.next();
62
63 if ( i == row ) {
64 if ( col == 0 ) {
65 return new String( hk.className() + "@" + Long.toHexString(hk.addr()) );
66 } else if ( col == 1 ) {
67 return hk.getFinalizableSize();
68 } else if ( col == 2 ) {
69 return hk.getFinalizableCount();
70 }
71 }
72
73 i += 1;
74 }
75
76 assert true == false : "Should not reach here!" ;
77 return null;
78 }
79 };