jsky.catalog.astrocat
Class AstroCatTable

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by javax.swing.table.DefaultTableModel
          extended by jsky.catalog.MemoryCatalog
              extended by jsky.catalog.astrocat.AstroCatTable
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, javax.swing.table.TableModel, Catalog, QueryResult, TableQueryResult, Saveable, SaveableAsHTML

public class AstroCatTable
extends MemoryCatalog

Used to read and write Skycat style tab separated catalog data and manage the rows and columns in memory. This class extends the MemoryCatalog class, which supports searching and working with a JTable widget.

Version:
$Revision: 1.1 $ $Date: 2004/02/03 16:21:31 $
Author:
Allan Brighton
See Also:
Serialized Form

Field Summary
 
Fields inherited from class jsky.catalog.MemoryCatalog
DEC_COL, EQUINOX, ID_COL, RA_COL, SYMBOL, X_COL, Y_COL
 
Fields inherited from class javax.swing.table.DefaultTableModel
columnIdentifiers, dataVector
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Fields inherited from interface jsky.catalog.Catalog
ARCHIVE, CATALOG, DIRECTORY, IMAGE_SERVER, LOCAL, NAME_SERVER
 
Constructor Summary
protected AstroCatTable()
          Construct a new AstroCatTable with no header or data (For use only by derived classes).
  AstroCatTable(AstroCatalog catalog, java.io.InputStream in)
          Initialize the table from the given stream.
  AstroCatTable(AstroCatalog catalog, java.io.InputStream in, int maxRows)
          Initialize the table from the given stream by reading up to maxRows of the data.
  AstroCatTable(AstroCatalog catalog, java.io.InputStream in, QueryArgs queryArgs)
          Initialize the table from the given stream by reading up to maxRows of the data.
  AstroCatTable(AstroCatalog catalog, java.lang.String filename)
          Initialize the table from the given file.
  AstroCatTable(java.lang.String filename)
          Initialize the table from the given file
 
Method Summary
 Catalog getCatalog()
          Return the catalog used to create this table, or a dummy, generated catalog object, if not known.
static void main(java.lang.String[] args)
          Test cases
protected  MemoryCatalog makeQueryResult(FieldDesc[] fields, java.util.Vector dataRows)
          Return a new MemoryCatalog with the given column fields and data rows.
 
Methods inherited from class jsky.catalog.MemoryCatalog
_checkColumnClass, _init, _initColumnClasses, _initFields, _parseHeading, _parseItem, _parseProperty, _parseRow, _saveHeader, _saveProperties, clone, compareRow, getColumnClass, getColumnDesc, getColumnIdentifiers, getColumnIndex, getColumnName, getCoordinates, getDescription, getDocURL, getFields, getFilename, getId, getName, getNumColumns, getNumParams, getParamDesc, getParamDesc, getParent, getPath, getProperties, getProperty, getQueryArgs, getRowCoordinates, getTitle, getType, getValueAt, getWCSCenter, hasCol, hasCoordinates, isCellEditable, isImageServer, isLocal, isMore, isReadOnly, makeColumnIdentifiers, print, query, saveAs, saveAs, saveAsHTML, setCatalog, setColumnClasses, setColumnClasses, setColumnIdentifiers, setDescription, setDocURL, setFields, setFilename, setId, setMore, setName, setParent, setProperties, setProperty, setQueryArgs, setReadOnly, setRegionArgs, setRowCoordinates, setTitle, sort, toString
 
Methods inherited from class javax.swing.table.DefaultTableModel
addColumn, addColumn, addColumn, addRow, addRow, convertToVector, convertToVector, getColumnCount, getDataVector, getRowCount, getValueAt, insertRow, insertRow, moveRow, newDataAvailable, newRowsAdded, removeRow, rowsRemoved, setColumnCount, setColumnIdentifiers, setDataVector, setDataVector, setNumRows, setRowCount, setValueAt
 
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
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jsky.catalog.TableQueryResult
getDataVector
 
Methods inherited from interface javax.swing.table.TableModel
addTableModelListener, getColumnCount, getRowCount, getValueAt, removeTableModelListener, setValueAt
 

Constructor Detail

AstroCatTable

public AstroCatTable(AstroCatalog catalog,
                     java.io.InputStream in,
                     int maxRows)
              throws java.io.IOException
Initialize the table from the given stream by reading up to maxRows of the data.

Parameters:
catalog - the catalog where the data originated, if known
in - the stream to read the catalog data from
maxRows - the maximum number of data rows to read
Throws:
java.io.IOException

AstroCatTable

public AstroCatTable(AstroCatalog catalog,
                     java.io.InputStream in,
                     QueryArgs queryArgs)
              throws java.io.IOException
Initialize the table from the given stream by reading up to maxRows of the data.

Parameters:
catalog - the catalog where the data originated, if known
in - the stream to read the catalog data from
queryArgs - represents the arguments to the query that resulted in this table
Throws:
java.io.IOException

AstroCatTable

public AstroCatTable(AstroCatalog catalog,
                     java.io.InputStream in)
              throws java.io.IOException
Initialize the table from the given stream.

Parameters:
catalog - the catalog where the data originated, if known
in - the stream to read the catalog data from
Throws:
java.io.IOException

AstroCatTable

public AstroCatTable(AstroCatalog catalog,
                     java.lang.String filename)
              throws java.io.IOException
Initialize the table from the given file.

Parameters:
catalog - the catalog where the data originated, if known
filename - the name of the catalog file
Throws:
java.io.IOException

AstroCatTable

public AstroCatTable(java.lang.String filename)
              throws java.io.IOException
Initialize the table from the given file

Parameters:
filename - the name of the catalog file
Throws:
java.io.IOException

AstroCatTable

protected AstroCatTable()
Construct a new AstroCatTable with no header or data (For use only by derived classes).

Method Detail

getCatalog

public Catalog getCatalog()
Return the catalog used to create this table, or a dummy, generated catalog object, if not known.

Specified by:
getCatalog in interface TableQueryResult
Overrides:
getCatalog in class MemoryCatalog

makeQueryResult

protected MemoryCatalog makeQueryResult(FieldDesc[] fields,
                                        java.util.Vector dataRows)
Return a new MemoryCatalog with the given column fields and data rows.

Overrides:
makeQueryResult in class MemoryCatalog
Parameters:
fields - an array of objects describing the table columns
dataRows - a vector of data rows, each of which is a vector of column values.

main

public static void main(java.lang.String[] args)
Test cases