public class TableSearcher extends AbstractTableModel
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.
Modifier and Type | Field and Description |
---|---|
protected TableModel |
tableModel
The inner table model we are decorating
|
listenerList
Constructor and Description |
---|
TableSearcher(TableModel tableModel) |
Modifier and Type | Method and Description |
---|---|
org.apache.lucene.analysis.Analyzer |
getAnalyzer() |
Class |
getColumnClass(int column) |
int |
getColumnCount() |
String |
getColumnName(int column) |
int |
getRowCount() |
TableModel |
getTableModel() |
Object |
getValueAt(int row,
int column) |
boolean |
isCellEditable(int row,
int column) |
void |
search(String searchString)
Run a new search.
|
void |
setAnalyzer(org.apache.lucene.analysis.Analyzer analyzer) |
void |
setTableModel(TableModel tableModel)
Set the table model used by this table model
|
void |
setValueAt(Object aValue,
int row,
int column) |
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
protected TableModel tableModel
public TableSearcher(TableModel tableModel)
tableModel
- The table model to decoratepublic TableModel getTableModel()
public void setTableModel(TableModel tableModel)
tableModel
- The new table model to decoratepublic org.apache.lucene.analysis.Analyzer getAnalyzer()
public void setAnalyzer(org.apache.lucene.analysis.Analyzer analyzer)
analyzer
- The new analyzer to usepublic void search(String searchString)
searchString
- Any valid lucene search stringpublic int getRowCount()
public int getColumnCount()
public String getColumnName(int column)
getColumnName
in interface TableModel
getColumnName
in class AbstractTableModel
public Class getColumnClass(int column)
getColumnClass
in interface TableModel
getColumnClass
in class AbstractTableModel
public boolean isCellEditable(int row, int column)
isCellEditable
in interface TableModel
isCellEditable
in class AbstractTableModel
public Object getValueAt(int row, int column)
public void setValueAt(Object aValue, int row, int column)
setValueAt
in interface TableModel
setValueAt
in class AbstractTableModel
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.