1 19 27 28 package org.netbeans.modules.j2ee.sun.share.configbean.customizers; 29 30 import java.util.Collections ; 31 import java.util.List ; 32 33 import javax.swing.table.AbstractTableModel ; 34 35 36 40 public abstract class SecurityMappingTableModel extends AbstractTableModel { 41 42 44 private final int numColumns; 45 46 48 private final List itemList; 49 50 protected SecurityMappingTableModel(List p, int columns) { 51 assert p != null; 52 53 itemList = p; 54 numColumns = columns; 55 } 56 57 59 protected int addElement(Object entry) { 60 itemList.add(entry); 61 int index = itemList.size(); 62 fireTableRowsInserted(index, index); 63 return index; 64 } 65 66 protected int replaceElement(Object oldEntry, Object newEntry) { 67 int index = itemList.indexOf(oldEntry); 68 if(index != -1) { 69 itemList.set(index, newEntry); 70 fireTableRowsUpdated(index, index); 71 } 72 return index; 73 } 74 75 protected int removeElement(Object entry) { 76 int index = itemList.indexOf(entry); 77 if(index != -1) { 78 itemList.remove(index); 79 fireTableDataChanged(); 81 } 82 return index; 83 } 84 85 public void removeElementAt(int index) { 86 if(index >= 0 || index < itemList.size()) { 87 itemList.remove(index); 88 fireTableDataChanged(); 90 } 91 } 92 93 public void removeElements(int[] indices) { 94 if(indices.length > 0) { 97 for(int i = indices.length-1; i >= 0; i--) { 98 if(indices[i] >= 0 || indices[i] < itemList.size()) { 99 itemList.remove(indices[i]); 100 } 101 } 102 fireTableDataChanged(); 104 } 105 } 106 107 protected boolean contains(Object entry) { 108 return itemList.contains(entry); 109 } 110 111 protected Object getRowElement(int rowIndex) { 112 Object result = null; 113 if(rowIndex >= 0 && rowIndex < itemList.size()) { 114 result = itemList.get(rowIndex); 115 } 116 return result; 117 } 118 119 121 public Object getValueAt(int rowIndex, int columnIndex) { 122 Object result = null; 123 if(rowIndex >= 0 && rowIndex < itemList.size() && columnIndex >= 0 && columnIndex < numColumns) { 124 result = getColumnValueFromRow(itemList.get(rowIndex), columnIndex); 125 } 126 return result; 127 } 128 129 public int getRowCount() { 130 return itemList.size(); 131 } 132 133 public int getColumnCount() { 134 return numColumns; 135 } 136 137 public abstract String getColumnName(int column); 138 139 141 146 protected abstract Object getColumnValueFromRow(Object rowEntry, int columnIndex); 147 148 } 149 | Popular Tags |