org.apache.lucene.swing.models
Class TableSearcher
java.lang.Object
javax.swing.table.AbstractTableModel
org.apache.lucene.swing.models.TableSearcher
- All Implemented Interfaces:
- Serializable, TableModel
public class TableSearcher
- extends AbstractTableModel
This is a TableModel that encapsulates Lucene
search logic within a TableModel implementation.
It is implemented as a TableModel decorator,
similar to the TableSorter demo from Sun that decorates
a TableModel and provides sorting functionality. The benefit
of this architecture is that you can decorate any TableModel
implementation with this searching table model -- making it
easy to add searching functionality to existing JTables -- or
making new search capable table lucene.
This decorator works by holding a reference to a decorated ot inner
TableModel. All data is stored within that table model, not this
table model. Rather, this table model simply manages links to
data in the inner table model according to the search. All methods on
TableSearcher forward to the inner table model with subtle filtering
or alteration according to the search criteria.
Using the table model:
Pass the TableModel you want to decorate in at the constructor. When
the TableModel initializes, it displays all search results. Call
the search method with any valid Lucene search String and the data
will be filtered by the search string. Users can always clear the search
at any time by searching with an empty string. Additionally, you can
add a button calling the clearSearch() method.
- See Also:
- Serialized Form
Methods inherited from class javax.swing.table.AbstractTableModel |
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
tableModel
protected TableModel tableModel
- The inner table model we are decorating
TableSearcher
public TableSearcher(TableModel tableModel)
- Parameters:
tableModel
- The table model to decorate
getTableModel
public TableModel getTableModel()
- Returns:
- The inner table model this table model is decorating
setTableModel
public void setTableModel(TableModel tableModel)
- Set the table model used by this table model
- Parameters:
tableModel
- The new table model to decorate
getAnalyzer
public Analyzer getAnalyzer()
- Returns:
- The current lucene analyzer
setAnalyzer
public void setAnalyzer(Analyzer analyzer)
- Parameters:
analyzer
- The new analyzer to use
search
public void search(String searchString)
- Run a new search.
- Parameters:
searchString
- Any valid lucene search string
getRowCount
public int getRowCount()
getColumnCount
public int getColumnCount()
getColumnName
public String getColumnName(int column)
- Specified by:
getColumnName
in interface TableModel
- Overrides:
getColumnName
in class AbstractTableModel
getColumnClass
public Class<?> getColumnClass(int column)
- Specified by:
getColumnClass
in interface TableModel
- Overrides:
getColumnClass
in class AbstractTableModel
isCellEditable
public boolean isCellEditable(int row,
int column)
- Specified by:
isCellEditable
in interface TableModel
- Overrides:
isCellEditable
in class AbstractTableModel
getValueAt
public Object getValueAt(int row,
int column)
setValueAt
public void setValueAt(Object aValue,
int row,
int column)
- Specified by:
setValueAt
in interface TableModel
- Overrides:
setValueAt
in class AbstractTableModel
Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.