# Class SchemaMeta

java.lang.Object
uk.ac.starlink.vo.SchemaMeta

public class SchemaMeta extends Object
Represents schema metadata from a TableSet document. The scalar members are intended to be set by classes in this package near construction time. The tables member may or may not be populated, depending on the source of the instance; check the documentation for the relevant factory class.

Since:
  6 Feb 2015
Author:
  Mark Taylor
See Also:
  - IVOA VODataService Recommendation

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SchemaMeta()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`static SchemaMeta`
`createDummySchema(String name)`
Returns a new schema with no tables and the given name.
`String`
`getDescription()`
Returns this schema's description.
`Map<String,Object>`
`getExtras()`
Returns a map of additional non-standard metadata items for this schema.
`Integer`
`getIndex()`
Returns this schema's schema index.
`String`
`getName()`
Returns this schema's name.
`TableMeta[]`
`getTables()`
Returns a list of the tables contained in this schema.
`String`
`getTitle()`
Returns this schema's human-readable title.
`String`
`getUtype()`
Returns this schema's utype.
`void`
`setTableOrder(Comparator<TableMeta> tableComparator)`
Configures a comparator that will define the ordering of tables returned by this schema's `getTables()` method.
`void`
`setTables(TableMeta[] tables)`
Sets the tables contained in this schema.
`String`
`toString()`
Returns this schema's name.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### SchemaMeta

protected SchemaMeta()
Constructor.

## Method Details

### getName

public String getName()
Returns this schema's name.

Returns:
  name

### getTitle

public String getTitle()
Returns this schema's human-readable title. Note, this is supplied by VODataService, but not by TAP_SCHEMA.

Returns:
  human-readable title

### getDescription

public String getDescription()
Returns this schema's description.

Returns:
  text description

### getIndex

public Integer getIndex()
Returns this schema's schema index.

Returns:
  schema index, or null if not available

### getUtype

public String getUtype()
Returns this schema's utype.

Returns:
  utype string

### getExtras

public Map<String,Object> getExtras()
Returns a map of additional non-standard metadata items for this schema.

Returns:
  extras map

### getTables

public TableMeta[] getTables()
Returns a list of the tables contained in this schema. If the result is null, nothing is known about the tables, and the list may need to be explicitly set.

If `setTableOrder(Comparator)` has been called with a non-null comparator, the returned array will obey that ordering.

Returns:
  tables contained in this schema, or null

### setTables

public void setTables(TableMeta[] tables)
Sets the tables contained in this schema.

Parameters:
  `tables` - table list

### setTableOrder

public void setTableOrder(Comparator<TableMeta> tableComparator)
Configures a comparator that will define the ordering of tables returned by this schema's `getTables()` method.

Parameters:
  `tableComparator` - defines table list ordering

### toString

public String toString()
Returns this schema's name.

Overrides:
  `toString` in class `Object`
Returns:
  name

### createDummySchema

public static SchemaMeta createDummySchema(String name)
Returns a new schema with no tables and the given name.

Parameters:
  `name` - name of new schema
Returns:
  new empty schema