001 /*
002 * Licensed under the Apache License, Version 2.0 (the "License");
003 * you may not use this file except in compliance with the License.
004 * You may obtain a copy of the License at
005 *
006 * http://www.apache.org/licenses/LICENSE-2.0
007 *
008 * Unless required by applicable law or agreed to in writing, software
009 * distributed under the License is distributed on an "AS IS" BASIS,
010 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
011 * See the License for the specific language governing permissions and
012 * limitations under the License.
013 */
014 /*
015 * This file has been modified by Chris Pheby in accordance with Section 4.2
016 * of the Apache Software License
017 */
018 package org.jadira.dependencynavigator.gui;
019
020 import org.jadira.dependencynavigator.controller.model.DuplicatesListManager;
021 import org.jadira.dependencynavigator.model.Duplicate;
022
023 import javax.swing.event.TableModelListener;
024 import javax.swing.table.TableModel;
025
026 public class DuplicatesTableModel implements TableModel, SelectableTableModel {
027
028 private DuplicatesListManager duplicatesListManager;
029
030 public DuplicatesTableModel(DuplicatesListManager duplicatesListManager) {
031 this.duplicatesListManager = duplicatesListManager;
032 }
033
034 public int getColumnCount() {
035 return 2;
036 }
037
038 public int getRowCount() {
039 return duplicatesListManager.size();
040 }
041
042 public boolean isCellEditable(int rowIndex, int columnIndex) {
043 return false;
044 }
045
046 public Class<String> getColumnClass(int columnIndex) {
047 return String.class;
048 }
049
050 public Object getValueAt(int rowIndex, int columnIndex) {
051 Duplicate duplicate = duplicatesListManager.get(rowIndex);
052 switch (columnIndex) {
053 case 0:
054 return duplicate.getIdentifier();
055 case 1:
056 return duplicate.getVersions();
057 default:
058 throw new IllegalArgumentException("Column index out of bounds " + columnIndex);
059 }
060 }
061
062 public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
063 throw new UnsupportedOperationException();
064 }
065
066 public String getColumnName(int columnIndex) {
067 switch (columnIndex) {
068 case 0:
069 return "Artifact";
070 case 1:
071 return "Versions";
072 default:
073 throw new IllegalArgumentException("Column index out of bounds " + columnIndex);
074 }
075 }
076
077 public void addTableModelListener(TableModelListener l) {
078 }
079
080 public void removeTableModelListener(TableModelListener l) {
081 }
082
083 public boolean isSelected(int row) {
084 return duplicatesListManager.get(row).isSelected();
085 }
086 }