1 5 package net.sf.panoptes.view.swing.configurator; 6 7 import javax.management.MBeanOperationInfo ; 8 import javax.management.MBeanParameterInfo ; 9 import javax.swing.table.AbstractTableModel ; 10 11 import net.sf.panoptes.component.jmx.model.MBeanWrapper; 12 13 17 public class OperationTableModel extends AbstractTableModel { 18 19 private MBeanWrapper mbean; 20 21 public OperationTableModel(MBeanWrapper wrapper) { 22 this.mbean = wrapper; 23 } 24 25 public void setMBean(MBeanWrapper mbean) { 26 this.mbean = mbean; 27 } 28 29 public int getColumnCount() { 30 return 4; 31 } 32 33 public boolean isCellEditable(int rowIndex, int columnIndex) { 34 return columnIndex == 3; 35 } 36 37 public int getRowCount() { 38 if (mbean == null) 39 return 0; 40 else 41 return mbean.getOperations().length; 42 } 43 44 public String getColumnName(int columnIndex) { 45 switch (columnIndex) { 46 case 0 : 47 return "Name"; 48 case 1 : 49 return "Parameters"; 50 case 2 : 51 return "Return type"; 52 case 3 : 53 return ""; 54 default : 55 return "Uknown column"; 56 } 57 58 } 59 60 public Object getValueAt(int rowIndex, int columnIndex) { 61 MBeanOperationInfo op = mbean.getOperations()[rowIndex]; 62 switch (columnIndex) { 63 case 0 : 64 return op.getName(); 65 case 1 : 66 MBeanParameterInfo [] params = op.getSignature(); 67 StringBuffer s = new StringBuffer (); 68 if (params.length == 0) 69 s = new StringBuffer ("void"); 70 else 71 for (int j = 0; j < params.length; j++) { 72 s.append(params[j].getType() + ", "); 73 } 74 return s.toString(); 75 76 case 2 : 77 return op.getReturnType(); 78 case 3 : 79 return op; 80 default : 81 return "Unknown column"; 82 } 83 } 84 85 } 86 87 | Popular Tags |