/* * DrakkarKeel - An Enterprise Collaborative Search Platform * * The contents of this file are subject under the terms described in the * DRAKKARKEEL_LICENSE file included in this distribution; you may not use this * file except in compliance with the License. * * 2013-2014 DrakkarKeel Platform. */ package drakkar.cover.swing; import drakkar.oar.DocumentMetaData; import java.util.ArrayList; import javax.swing.table.AbstractTableModel; /** * Esta clase constituye una especificación de la clase AbstractTableModel para el * Framework DrakkarKeel */ public class MetaDocTableModel extends AbstractTableModel { /** * */ protected ArrayList<DocumentMetaData> values; /** * */ protected boolean indexing; /** * */ protected String column[] = {"Item", "URI", "Size(B)", "Score"}; Class[] types = new Class[]{ java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class }; /** * Constructor por defecto de la clase */ public MetaDocTableModel() { this.values = new ArrayList<>(); } /** * Constructor de la clase * * @param documents lista de documentos */ public MetaDocTableModel(ArrayList<DocumentMetaData> documents) { this.values = documents; } /** * Adiciona un nuevo metadocumento * * @param doc metadocumento */ public void addElement(DocumentMetaData doc) { boolean flag = !values.contains(doc); if (flag) { values.add(doc); } } /** * Elimina todos los elementos del modelo */ public void clearModel() { int index = this.values.size()-1; this.values.clear(); if (index >= 0) { fireTableDataChanged(); } } /** * Modifica los valores del modelo * * @param data datos del modelo */ public void setValues(ArrayList<DocumentMetaData> data) { this.values = data; fireTableDataChanged(); } /** * Modifica los valores del modelo * */ public ArrayList<DocumentMetaData> getValues() { return this.values; } /** * {@inheritDoc} */ public int getRowCount() { return this.values.size(); } /** * {@inheritDoc} */ public int getColumnCount() { return column.length; } /** * {@inheritDoc} */ public Object getValueAt(int rowIndex, int columnIndex) { //throw new UnsupportedOperationException("Not supported yet."); DocumentMetaData doc = values.get(rowIndex); if (columnIndex == 0) { return doc.getName(); }/* else if (columnIndex == 1) { return (indexing)?doc.getPath():doc.getScore(); }*/ else if (columnIndex == 1) { return (indexing) ? doc.getSize() : doc.getPath(); } return doc.getSize(); } /** * {@inheritDoc} */ @Override public String getColumnName(int column) { return this.column[column]; } /** * {@inheritDoc} */ @Override public Class getColumnClass(int columnIndex) { return types[columnIndex]; } }