uk.ac.starlink.table.gui

## Interface TableLoader

-     public interface TableLoader

  Interface defining an object which can load tables.
  Since:
    13 Sept 2010

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static ValueInfo` | `SOURCE_INFO` Table parameter key which may be used to provide information about the source of a loaded table.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getLabel()` Returns a short textual label describing what is being loaded.
    `TableSequence` | `loadTables(StarTableFactory tfact)` Loads one or more tables.

- - ### Field Detail

    - #### SOURCE_INFO

          static final ValueInfo SOURCE_INFO

      Table parameter key which may be used to provide information about the source of a loaded table. This is a string-type info with the name "LOAD_SOURCE". If present it should be used in preference to the result of `getLabel()` to label the table for users.

  - ### Method Detail

    - #### getLabel

          java.lang.String getLabel()

      Returns a short textual label describing what is being loaded. This may be presented to a waiting user.
      Returns:
        load label

    - #### loadTables

          TableSequence loadTables(StarTableFactory tfact)
                            throws java.io.IOException

      Loads one or more tables. If this loader wishes to label the tables in the returned sequence to describe their source, it may set a table parameter with the `SOURCE_INFO` key, for instance:

              table.setParameter(new DescribedValue(TableLoader.SOURCE_INFO,
                                                    "Foo protocol query #1"))

      This is optional; for instance if a table name is set that may provide sufficient description.

      This method may be time-consuming, and should not be called on the event dispatch thread.

      Parameters:
        `tfact` - table factory
      Returns:
        loaded tables
      Throws:
        `java.io.IOException`