Class ADQLTable
- All Implemented Interfaces:
ADQLObject,FromContent
A table reference may have an alias (MUST if it is a sub-query).
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionBuilds a reference to a sub-query.Builds an ADQL table by copying the given one.Builds a reference to a table with its name (simple or full ({catalog}.{schema}.{table})).Builds a reference to a table with its name and the name of its schema.Builds a reference to a table with its name, the name of its schema and the name of its catalog. -
Method Summary
Modifier and TypeMethodDescriptionGets an iterator on the intern ADQL objects.final StringgetAlias()Gets the label of this table.final byteGets the whole case sensitivity of this ADQL table.final StringGets the name of the catalog which contains this table.getCopy()Gets a (deep) copy of this ADQL object.Gets the list of all columns (~ database metadata) available in this FROM part.final DBTableGets the correspondingDBTable.final LanguageFeatureGet the description of this ADQL's Language Feature.final StringGets the full name of this table (catalogName .getName()Gets the name of this object in ADQL.final TextPositionGets the position in the original ADQL query string.final StringGets the name of the schema which contains this table.final ADQLSetGets the sub-query used as table.final StringGets the name of the table.getTablesByAlias(String alias, boolean caseSensitive) Gets all the table whose the alias is equals to the given one.final booleanhasAlias()Tells whether this table has an alias or not.final booleanIndicates whether all fields (catalog, schema and table) are case sensitive.final booleanisCaseSensitive(IdentifierField field) Indicates whether the specified field (catalog, schema or table) is case sensitive or not.final booleanTells whether this table reference is a sub-query or a table name/alias.protected StringnormalizeName(String name, IdentifierField field) Lets normalizing any catalog/schema/table name or alias.final void(Re-)Builds a default description of this ADQL table ONLY IF it is a sub-query AND there is an alias.voidSets the label of this table.final voidsetCaseSensitive(boolean sensitive) Sets the case sensitivity of all fields (catalog, schema and table).final voidsetCaseSensitive(byte sensitivity) Sets the whole case sensitivity of this ADQL table.final voidsetCaseSensitive(IdentifierField field, boolean sensitive) Sets the case sensitivity of the specified field (catalog, schema or table).final voidsetCatalogName(String catalog) Sets the name of the catalog which contains this table.final voidfinal voidsetPosition(TextPosition pos) Sets the position at which thisADQLTablehas been found in the original ADQL query string.final voidsetSchemaName(String schema) Sets the name of the schema which contains this table.final voidsetSubQuery(ADQLSet query) Sets the sub-query to use as table.final voidUpdates the whole Table according to the given table reference ({catalog}.{schema}.{table}).voidsetTableName(String newTableName) Sets the name of the table.toADQL()Gets the ADQL expression of this object.
-
Field Details
-
FEATURE
Description of this ADQL Feature.- Since:
- 2.0
-
-
Constructor Details
-
ADQLTable
Builds a reference to a table with its name (simple or full ({catalog}.{schema}.{table})).- Parameters:
table- Name of the table (simple or full ({catalog}.{schema}.{table})).
-
ADQLTable
Builds a reference to a table with its name and the name of its schema.- Parameters:
schema- Name of its schema.table- Name of the table.
-
ADQLTable
Builds a reference to a table with its name, the name of its schema and the name of its catalog.- Parameters:
catalog- Name of its catalog.schema- Name of its schema.table- Name of the table.
-
ADQLTable
Builds a reference to a sub-query.- Parameters:
query- Sub-query.- See Also:
-
ADQLTable
Builds an ADQL table by copying the given one.- Parameters:
toCopy- The ADQLTable to copy.- Throws:
Exception- If there is an error during the copy.
-
-
Method Details
-
getFeatureDescription
Description copied from interface:ADQLObjectGet the description of this ADQL's Language Feature.Note: Getting this description is generally only useful when discovery optional features so that determining if they are allowed to be used in ADQL queries.
- Specified by:
getFeatureDescriptionin interfaceADQLObject- Returns:
- Description of this ADQL object as an ADQL's feature.
-
normalizeName
Lets normalizing any catalog/schema/table name or alias.If the name is surrounded by double-quotes, they are removed and the corresponding field will be declared as case sensitive.
- Parameters:
name- Name to normalize.field- The name part to normalize and to get (if normalized, the case sensitivity of the given field will be set).- Returns:
- The normalized name.
-
getPosition
Gets the position in the original ADQL query string.- Specified by:
getPositionin interfaceADQLObject- Returns:
- The position of this
ADQLTable.
-
setPosition
Sets the position at which thisADQLTablehas been found in the original ADQL query string.- Specified by:
setPositionin interfaceFromContent- Parameters:
pos- Position of thisADQLTable.
-
getCatalogName
Gets the name of the catalog which contains this table.- Returns:
- Catalog name.
-
setCatalogName
Sets the name of the catalog which contains this table.- Parameters:
catalog- The new name of its catalog.
-
getSchemaName
Gets the name of the schema which contains this table.- Returns:
- Schema name.
-
setSchemaName
Sets the name of the schema which contains this table.- Parameters:
schema- The new name of its schema.
-
getTableName
Gets the name of the table.- Returns:
- Table name.
-
getFullTableName
Gets the full name of this table (catalogName . schemaName . tableName) by respecting the case sensitivity of each field (if case sensitive double-quotes will surround the concerned fields name).- Returns:
- Its full name.
-
setTableName
Sets the name of the table.- Parameters:
newTableName- The new name of the table.
-
setTable
Updates the whole Table according to the given table reference ({catalog}.{schema}.{table}).- Parameters:
tableRef- The complete table reference ({catalog}.{schema}.{table}).
-
getSubQuery
Gets the sub-query used as table.- Returns:
- Sub-query.
-
setSubQuery
Sets the sub-query to use as table.- Parameters:
query- Sub-query (MUST NOT BE NULL).- See Also:
-
refreshDBLink
public final void refreshDBLink()(Re-)Builds a default description of this ADQL table ONLY IF it is a sub-query AND there is an alias. This method has no effect if this table is not a sub-query or has no alias.- See Also:
-
isSubQuery
public final boolean isSubQuery()Tells whether this table reference is a sub-query or a table name/alias.- Returns:
trueif this table is a sub-query,falseelse.
-
getAlias
Gets the label of this table.- Returns:
- Table label.
-
hasAlias
public final boolean hasAlias()Tells whether this table has an alias or not.- Returns:
trueif this table has an alias,falseotherwise.
-
setAlias
Sets the label of this table.- Parameters:
alias- Label to put on this table.
-
isCaseSensitive
Indicates whether the specified field (catalog, schema or table) is case sensitive or not.- Parameters:
field- A field (catalog, schema or table).- Returns:
trueif the specified field is case sensitive,falseotherwise.- See Also:
-
setCaseSensitive
Sets the case sensitivity of the specified field (catalog, schema or table).- Parameters:
field- The field for which the case sensitivity must be updated.sensitive-trueif the specified field must be case sensitive,falseotherwise.- See Also:
-
isCaseSensitive
public final boolean isCaseSensitive()Indicates whether all fields (catalog, schema and table) are case sensitive.- Returns:
trueif all fields are case sensitive,falseotherwise.- See Also:
-
setCaseSensitive
public final void setCaseSensitive(boolean sensitive) Sets the case sensitivity of all fields (catalog, schema and table).- Parameters:
sensitive-trueif all fields must be case sensitive,falseotherwise.- See Also:
-
getCaseSensitive
public final byte getCaseSensitive()Gets the whole case sensitivity of this ADQL table.- Returns:
- Its new case sensitivity (one bit per fields).
- See Also:
-
setCaseSensitive
public final void setCaseSensitive(byte sensitivity) Sets the whole case sensitivity of this ADQL table.- Parameters:
sensitivity- Its new case sensitivity (one bit per fields).- See Also:
-
getDBLink
Gets the correspondingDBTable.Note: This information is added automatically by
DBCheckerwhenDBChecker.check(adql.query.ADQLSet)is called.- Returns:
- The corresponding
DBTable.
-
setDBLink
- Parameters:
dbLink- Its correspondingDBTable.
-
getDBColumns
Description copied from interface:FromContentGets the list of all columns (~ database metadata) available in this FROM part.Note: In the most cases, this list is generated on the fly !
- Specified by:
getDBColumnsin interfaceFromContent- Returns:
- All the available
DBColumns.
-
getTables
Description copied from interface:FromContent- Specified by:
getTablesin interfaceFromContent- Returns:
- The list of all
ADQLTables found.
-
getTablesByAlias
Description copied from interface:FromContentGets all the table whose the alias is equals to the given one.Note: Theoretically, only one table may be returned. But, since this object may be generated without the parser, it is possible that several
ADQLTableobjects exits with the same alias (particularly if there are JOIN).- Specified by:
getTablesByAliasin interfaceFromContent- Parameters:
alias- Alias of the table(s) to get.caseSensitive-trueif the research must be made with case-sensitivity,falseotherwise.- Returns:
- The list of all tables found.
-
getCopy
Description copied from interface:ADQLObjectGets a (deep) copy of this ADQL object.- Specified by:
getCopyin interfaceADQLObject- Returns:
- The copy of this ADQL object.
- Throws:
Exception- If there is any error during the copy.
-
getName
Description copied from interface:ADQLObjectGets the name of this object in ADQL.- Specified by:
getNamein interfaceADQLObject- Returns:
- The name of this ADQL object.
-
adqlIterator
Description copied from interface:ADQLObjectGets an iterator on the intern ADQL objects.Note: The returned iterator is particularly used by a
ISearchHandlerextension to browse a whole ADQL tree.- Specified by:
adqlIteratorin interfaceADQLObject- Returns:
- An ADQL objects iterator.
- See Also:
-
toADQL
Description copied from interface:ADQLObjectGets the ADQL expression of this object.- Specified by:
toADQLin interfaceADQLObject- Returns:
- The corresponding ADQL expression.
-