/* * 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 mostrar las búsquedas. * */ public class SearchTableModel extends AbstractTableModel { /** * */ protected boolean indexing; private String serverHost; /** * */ ArrayList<DocumentMetaData> list = null; /** * */ protected String column[] = {"Item", "URI"}; Class[] types = new Class[]{ java.lang.String.class, java.lang.String.class, java.lang.Float.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.Double.class, java.lang.Integer.class }; /** * Constructor por defecto de la clase */ public SearchTableModel() { this.list = new ArrayList<>(); } /** * Constructor de la clase * * @param documents lista de documentos */ public SearchTableModel(ArrayList<DocumentMetaData> docs) { super(); this.list = docs; fireTableStructureChanged(); } /** * Adiciona un nuevo metadocumento * * @param doc metadocumento */ /* public void addElement(DocumentMetaData doc) { boolean flag = !data.contains(doc); if (flag) { data.add(doc); } }*/ /** * Elimina todos los elementos del modelo */ public void clearModel() { int index = this.list.size() - 1; this.list.clear(); if (index >= 0) { fireTableDataChanged(); } } /** * Modifica los valores del modelo * * @param data datos del modelo */ public void setDataModel(ArrayList<DocumentMetaData> docs) { this.list = docs; fireTableDataChanged(); } /** * {@inheritDoc} */ public int getRowCount() { return this.list.size(); } /** * {@inheritDoc} */ public int getColumnCount() { return column.length; } /** * {@inheritDoc} */ public Object getValueAt(int rowIndex, int columnIndex) { DocumentMetaData doc = list.get(rowIndex); ResultURI rURI; switch (columnIndex) { case 0: return doc.getName(); case 1: rURI = new ResultURI(doc.getPath(), serverHost); return rURI; case 2: return doc.getSize(); case 3: return doc.getSynthesis(); case 4: return doc.getType(); case 5: return doc.getIndex(); case 6: return doc.getScore(); case 7: return doc.getSearcher(); default: return doc; } } /** * {@inheritDoc} */ @Override public String getColumnName(int column) { return this.column[column]; } /** * {@inheritDoc} */ @Override public Class getColumnClass(int columnIndex) { return types[columnIndex]; } /** * * @return */ public int size() { return list.size(); } }