uk.ac.starlink.table
Class StarTableOutput

java.lang.Object
  |
  +--uk.ac.starlink.table.StarTableOutput

public class StarTableOutput
extends Object

Outputs StarTable objects. This object delegates the actual writing to one of a list of format-specific writer objects whose content can be configured externally. By default, if the corresponding classes are present, the following handlers are installed:

Additionally, any classes named in the startable.writers system property (as a colon-separated list) which implement the StarTableWriter interface and have a no-arg constructor will be instantiated and added to this list of handlers.

It can additionally write to JDBC tables.


Field Summary
static String EXTRA_WRITERS_PROPERTY
          System property which can contain a list of StarTableWriter classes for addition to the list of known output handlers.
 
Constructor Summary
StarTableOutput()
          Constructs a StarTableOutput with a default list of handlers.
 
Method Summary
 List getHandlers()
          Gets the list of handlers which can actually do table output.
 JDBCHandler getJDBCHandler()
          Returns the JDBCHandler object used for writing tables to JDBC connections.
 List getKnownFormats()
          Returns a list of the format strings which are defined by the handlers registered with this object.
 void setHandlers(StarTableWriter[] handlers)
          Sets the list of handlers which can actually do table output.
 void setJDBCHandler(JDBCHandler handler)
          Sets the JDBCHandler object used for writing tables to JDBC connections.
 Transferable transferStarTable(StarTable startab)
          Returns a Transferable object associated with a given StarTable, for use at the drag end of a drag and drop operation.
 void writeStarTable(StarTable startab, String location, String format)
          Writes a StarTable object out to some external storage.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXTRA_WRITERS_PROPERTY

public static final String EXTRA_WRITERS_PROPERTY
System property which can contain a list of StarTableWriter classes for addition to the list of known output handlers.

See Also:
Constant Field Values
Constructor Detail

StarTableOutput

public StarTableOutput()
Constructs a StarTableOutput with a default list of handlers.

Method Detail

getHandlers

public List getHandlers()
Gets the list of handlers which can actually do table output. Handlers earlier in the list are given a chance to write the table before ones later in the list.

Returns:
handlers an array of StarTableWriter objects

setHandlers

public void setHandlers(StarTableWriter[] handlers)
Sets the list of handlers which can actually do table output. Handlers earlier in the list are given a chance to write the table before ones later in the list.


writeStarTable

public void writeStarTable(StarTable startab,
                           String location,
                           String format)
                    throws TableFormatException,
                           IOException
Writes a StarTable object out to some external storage. The format in which it is written is determined by some combination of the given output location and a format indicator.

Parameters:
startab - the table to output
location - the location at which to write the new table. This may be a filename or URL, including a jdbc: protocol if suitable JDBC drivers are installed
format - a string which indicates in some way what format should be used for output. This may be the class name of a StarTableWriter object (which may or may not be registered with this StarTableOutput), or else a string which matches the format name of one of the registered StarTableWriters (first match is used, case-insensitive, starting substrings OK) or null to indicate that a handler should be selected based on the value of location. Ignored for jdbc:-protocol locations
Throws:
TableFormatException - if no suitable handler is known
IOException

transferStarTable

public Transferable transferStarTable(StarTable startab)
Returns a Transferable object associated with a given StarTable, for use at the drag end of a drag and drop operation.

Parameters:
startab - the table which is to be dragged
See Also:
StarTableFactory.makeStarTable(java.awt.datatransfer.Transferable)

getKnownFormats

public List getKnownFormats()
Returns a list of the format strings which are defined by the handlers registered with this object. The elements of the returned list can be passed as the format argument to the writeStarTable(uk.ac.starlink.table.StarTable, java.lang.String, java.lang.String) method.


getJDBCHandler

public JDBCHandler getJDBCHandler()
Returns the JDBCHandler object used for writing tables to JDBC connections.

Returns:
the JDBC handler

setJDBCHandler

public void setJDBCHandler(JDBCHandler handler)
Sets the JDBCHandler object used for writing tables to JDBC connections.

Parameters:
handler - the handler to use

Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved.