public class ArffTableModel extends javax.swing.table.DefaultTableModel implements Undoable
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Hashtable<java.lang.String,java.lang.String> |
m_Cache
for caching long relational and string values that get processed for
display.
|
protected Instances |
m_Data
the data
|
protected boolean |
m_IgnoreChanges
whether to ignore changes, i.e. not adding to undo history
|
protected java.util.HashSet<javax.swing.event.TableModelListener> |
m_Listeners
the listeners
|
protected boolean |
m_NotificationEnabled
whether notfication is enabled
|
protected boolean |
m_ReadOnly
whether the table is read-only
|
protected boolean |
m_ShowAttributeIndex
whether to display the attribute index in the table header.
|
protected boolean |
m_ShowAttributeWeights
whether to show attribute weights.
|
protected boolean |
m_ShowInstanceWeights
whether to show instance weights.
|
protected boolean |
m_UndoEnabled
whether undo is active
|
protected java.util.Vector<java.io.File> |
m_UndoList
the undo list (contains temp. filenames)
|
| Constructor and Description |
|---|
ArffTableModel(Instances data)
initializes the model with the given data
|
ArffTableModel(java.lang.String filename,
AbstractFileLoader... loaders)
initializes the object and loads the given file
|
| Modifier and Type | Method and Description |
|---|---|
void |
addTableModelListener(javax.swing.event.TableModelListener l)
adds a listener to the list that is notified each time a change to data
model occurs
|
void |
addUndoPoint()
adds an undo point to the undo history, if the undo support is enabled
|
void |
attributeAsClassAt(int columnIndex)
sets the attribute at the given col index as the new class attribute, i.e.
|
boolean |
canUndo()
returns whether an undo is possible, i.e. whether there are any undo points
saved so far
|
void |
clearUndo()
removes the undo history
|
void |
deleteAttributeAt(int columnIndex)
deletes the attribute at the given col index. notifies the listeners.
|
void |
deleteAttributeAt(int columnIndex,
boolean notify)
deletes the attribute at the given col index
|
void |
deleteAttributes(int[] columnIndices)
deletes the attributes at the given indices
|
void |
deleteInstanceAt(int rowIndex)
deletes the instance at the given index
|
void |
deleteInstanceAt(int rowIndex,
boolean notify)
deletes the instance at the given index
|
void |
deleteInstances(int[] rowIndices)
deletes the instances at the given positions
|
Attribute |
getAttributeAt(int columnIndex)
returns the attribute at the given index, can be NULL if not an attribute
column
|
int |
getAttributeColumn(java.lang.String name)
returns the column of the given attribute name, -1 if not found
|
int |
getAttributeIndex(int columnIndex)
Returns the attribute index for the given column index.
|
java.lang.Class<?> |
getColumnClass(int columnIndex)
returns the most specific superclass for all the cell values in the column
(always String)
|
int |
getColumnCount()
returns the number of columns in the model
|
java.lang.String |
getColumnName(int columnIndex)
returns the name of the column at columnIndex
|
Instances |
getInstances()
returns the data
|
double |
getInstancesValueAt(int rowIndex,
int columnIndex)
returns the double value of the underlying Instances object at the given
position, -1 if out of bounds
|
int |
getRowCount()
returns the number of rows in the model
|
boolean |
getShowAttributeIndex()
Returns whether to display the attribute index in the header.
|
int |
getType(int columnIndex)
returns the TYPE of the attribute at the given position
|
int |
getType(int rowIndex,
int columnIndex)
returns the TYPE of the attribute at the given position
|
java.lang.Object |
getValueAt(int rowIndex,
int columnIndex)
returns the value for the cell at columnindex and rowIndex
|
void |
insertInstance(int index) |
void |
insertInstance(int index,
boolean notify) |
boolean |
isAttribute(int columnIndex)
Check if given index is in range of column indices for attributes
|
boolean |
isCellEditable(int rowIndex,
int columnIndex)
returns true if the cell at rowindex and columnindexis editable
|
protected boolean |
isClassIndex(int columnIndex)
checks whether the column represents the class or not
|
boolean |
isMissingAt(int rowIndex,
int columnIndex)
checks whether the value at the given position is missing
|
boolean |
isNotificationEnabled()
returns whether the notification of changes is enabled
|
boolean |
isReadOnly()
returns whether the model is read-only
|
boolean |
isUndoEnabled()
returns whether undo support is enabled
|
protected void |
loadFile(java.lang.String filename,
AbstractFileLoader... loaders)
loads the specified ARFF file
|
void |
notifyListener(javax.swing.event.TableModelEvent e)
notfies all listener of the change of the model
|
void |
removeTableModelListener(javax.swing.event.TableModelListener l)
removes a listener from the list that is notified each time a change to the
data model occurs
|
void |
renameAttributeAt(int columnIndex,
java.lang.String newName)
renames the attribute at the given col index
|
void |
setAttributeWeightAt(int columnIndex,
double weight)
set the attribute weight at the given col index
|
void |
setInstances(Instances data)
sets the data
|
void |
setInstanceWeight(int index,
double weight) |
void |
setInstanceWeight(int index,
double weight,
boolean notify) |
void |
setNotificationEnabled(boolean enabled)
sets whether the notification of changes is enabled
|
void |
setReadOnly(boolean value)
sets whether the model is read-only
|
void |
setShowAttributeIndex(boolean value)
Sets whether to display the attribute index in the header.
|
void |
setUndoEnabled(boolean enabled)
sets whether undo support is enabled
|
void |
setValueAt(java.lang.Object aValue,
int rowIndex,
int columnIndex)
sets the value in the cell at columnIndex and rowIndex to aValue. but only
the value and the value can be changed
|
void |
setValueAt(java.lang.Object aValue,
int rowIndex,
int columnIndex,
boolean notify)
sets the value in the cell at columnIndex and rowIndex to aValue. but only
the value and the value can be changed
|
void |
sortInstances(int columnIndex)
sorts the instances via the given attribute
|
void |
sortInstances(int columnIndex,
boolean ascending)
sorts the instances via the given attribute
|
void |
undo()
undoes the last action
|
addColumn, addColumn, addColumn, addRow, addRow, convertToVector, convertToVector, getDataVector, insertRow, insertRow, moveRow, newDataAvailable, newRowsAdded, removeRow, rowsRemoved, setColumnCount, setColumnIdentifiers, setColumnIdentifiers, setDataVector, setDataVector, setNumRows, setRowCountprotected java.util.HashSet<javax.swing.event.TableModelListener> m_Listeners
protected Instances m_Data
protected boolean m_NotificationEnabled
protected boolean m_UndoEnabled
protected boolean m_IgnoreChanges
protected java.util.Vector<java.io.File> m_UndoList
protected boolean m_ReadOnly
protected boolean m_ShowAttributeIndex
protected boolean m_ShowAttributeWeights
protected boolean m_ShowInstanceWeights
protected java.util.Hashtable<java.lang.String,java.lang.String> m_Cache
public ArffTableModel(java.lang.String filename,
AbstractFileLoader... loaders)
filename - the file to loadloaders - optional varargs for a loader to usepublic ArffTableModel(Instances data)
data - the data to usepublic boolean isNotificationEnabled()
public void setNotificationEnabled(boolean enabled)
enabled - enables/disables the notificationpublic boolean isUndoEnabled()
isUndoEnabled in interface Undoablepublic void setUndoEnabled(boolean enabled)
setUndoEnabled in interface Undoableenabled - whether to enable/disable undo supportpublic boolean isReadOnly()
public void setReadOnly(boolean value)
value - if true the model is set to read-onlyprotected void loadFile(java.lang.String filename,
AbstractFileLoader... loaders)
filename - the file to loadloaders - optional varargs for a loader to usepublic void setInstances(Instances data)
data - the data to usepublic Instances getInstances()
public int getAttributeIndex(int columnIndex)
columnIndex - the column indexpublic boolean isAttribute(int columnIndex)
columnIndex - the column indexpublic Attribute getAttributeAt(int columnIndex)
columnIndex - the index of the columnpublic int getType(int columnIndex)
columnIndex - the index of the columnpublic int getType(int rowIndex,
int columnIndex)
rowIndex - the index of the rowcolumnIndex - the index of the columnpublic void deleteAttributeAt(int columnIndex)
columnIndex - the index of the attribute to deletepublic void deleteAttributeAt(int columnIndex,
boolean notify)
columnIndex - the index of the attribute to deletenotify - whether to notify the listenerspublic void deleteAttributes(int[] columnIndices)
columnIndices - the column indicespublic void renameAttributeAt(int columnIndex,
java.lang.String newName)
columnIndex - the index of the columnnewName - the new name of the attributepublic void setAttributeWeightAt(int columnIndex,
double weight)
columnIndex - the index of the columnweight - the new weight of the attributepublic void attributeAsClassAt(int columnIndex)
columnIndex - the index of the columnpublic void deleteInstanceAt(int rowIndex)
rowIndex - the index of the rowpublic void deleteInstanceAt(int rowIndex,
boolean notify)
rowIndex - the index of the rownotify - whether to notify the listenerspublic void setInstanceWeight(int index,
double weight)
public void setInstanceWeight(int index,
double weight,
boolean notify)
public void insertInstance(int index)
public void insertInstance(int index,
boolean notify)
public void deleteInstances(int[] rowIndices)
rowIndices - the indices to deletepublic void sortInstances(int columnIndex)
columnIndex - the index of the columnpublic void sortInstances(int columnIndex,
boolean ascending)
columnIndex - the index of the columnascending - ascending if true, otherwise descendingpublic int getAttributeColumn(java.lang.String name)
name - the name of the attributepublic java.lang.Class<?> getColumnClass(int columnIndex)
getColumnClass in interface javax.swing.table.TableModelgetColumnClass in class javax.swing.table.AbstractTableModelcolumnIndex - the column indexpublic int getColumnCount()
getColumnCount in interface javax.swing.table.TableModelgetColumnCount in class javax.swing.table.DefaultTableModelprotected boolean isClassIndex(int columnIndex)
columnIndex - the index of the columnpublic java.lang.String getColumnName(int columnIndex)
getColumnName in interface javax.swing.table.TableModelgetColumnName in class javax.swing.table.DefaultTableModelcolumnIndex - the index of the columnpublic int getRowCount()
getRowCount in interface javax.swing.table.TableModelgetRowCount in class javax.swing.table.DefaultTableModelpublic boolean isMissingAt(int rowIndex,
int columnIndex)
rowIndex - the row indexcolumnIndex - the column indexpublic double getInstancesValueAt(int rowIndex,
int columnIndex)
rowIndex - the row indexcolumnIndex - the column indexpublic java.lang.Object getValueAt(int rowIndex,
int columnIndex)
getValueAt in interface javax.swing.table.TableModelgetValueAt in class javax.swing.table.DefaultTableModelrowIndex - the row indexcolumnIndex - the column indexpublic boolean isCellEditable(int rowIndex,
int columnIndex)
isCellEditable in interface javax.swing.table.TableModelisCellEditable in class javax.swing.table.DefaultTableModelrowIndex - the index of the rowcolumnIndex - the index of the columnpublic void setValueAt(java.lang.Object aValue,
int rowIndex,
int columnIndex)
setValueAt in interface javax.swing.table.TableModelsetValueAt in class javax.swing.table.DefaultTableModelaValue - the new valuerowIndex - the row indexcolumnIndex - the column indexpublic void setValueAt(java.lang.Object aValue,
int rowIndex,
int columnIndex,
boolean notify)
aValue - the new valuerowIndex - the row indexcolumnIndex - the column indexnotify - whether to notify the listenerspublic void addTableModelListener(javax.swing.event.TableModelListener l)
addTableModelListener in interface javax.swing.table.TableModeladdTableModelListener in class javax.swing.table.AbstractTableModell - the listener to addpublic void removeTableModelListener(javax.swing.event.TableModelListener l)
removeTableModelListener in interface javax.swing.table.TableModelremoveTableModelListener in class javax.swing.table.AbstractTableModell - the listener to removepublic void notifyListener(javax.swing.event.TableModelEvent e)
e - the event to send to the listenerspublic void clearUndo()
public boolean canUndo()
public void addUndoPoint()
addUndoPoint in interface UndoableisUndoEnabled(),
setUndoEnabled(boolean)public void setShowAttributeIndex(boolean value)
value - if true then the attribute indices are displayed in the table
headerpublic boolean getShowAttributeIndex()