Package uk.ac.starlink.vo
Class AdqlFeature
java.lang.Object
uk.ac.starlink.vo.AdqlFeature
- Direct Known Subclasses:
AdqlFeature.Function
Describes a documented language feature that can be used
in some variant of the ADQL language.
A number of static methods are provided that return lists of features provided by a particular ADQL version either absolutely or in the context of a list of language feature declarations. This class contains knowledge about what standard mandatory and optional features are declared by known versions of the ADQL standard.
Note that ADQL 2.0 does not define a proper type system, so in the case of ADQL 2.0 the types declared here are not strictly based in the standard, but a casual reading will give the intent of what was written in the ADQL 2.0 standard.
- Since:
- 23 Feb 2024
- Author:
- Mark Taylor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Represents a declared argument of a function.static class
AdqlFeature subclass which represents a function.static enum
Datatype of a function argument or return value. -
Field Summary
FieldsModifier and TypeFieldDescriptionIncludes feature types for Ivoids representing optional features.Includes feature types for Ivoids representing Geometry functions.Includes feature types for Ivoids representing non-standard features.Includes feature types for Ivoids representing UDFs. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AdqlFeature
(String name, String description) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionReturns a plain text description of this feature.static AdqlFeature.Function[]
getGeomFunctions
(AdqlVersion version, TapCapability tcap) Returns an array of the standard ADQL 2.0 or 2.1 geometry functions declared by a given TapCapability object.static AdqlFeature.Function[]
Returns an array of the maths functions defined by ADQL.getName()
Returns the name of this feature.static AdqlFeature[]
Returns an array of the ADQL 2.1 optional features (excluding functions) declared by a given TapCapability object.static AdqlFeature.Function[]
Returns an array of the ADQL 2.1 optional functions (but not other optional features) declared by a given TapCapability object.static AdqlFeature.Function[]
Returns an array of the trigonometric functions defined by ADQL.
-
Field Details
-
UDF_FILTER
Includes feature types for Ivoids representing UDFs. -
ADQLGEO_FILTER
Includes feature types for Ivoids representing Geometry functions. -
ADQL21MISC_FILTER
Includes feature types for Ivoids representing optional features. -
NONSTD_FILTER
Includes feature types for Ivoids representing non-standard features.
-
-
Constructor Details
-
AdqlFeature
Constructor.- Parameters:
name
- feature namedescription
- plain text description directed at users
-
-
Method Details
-
getName
Returns the name of this feature.- Returns:
- function name
-
getDescription
Returns a plain text description of this feature.- Returns:
- description
-
getMathsFunctions
Returns an array of the maths functions defined by ADQL. This is the same for ADQL 2.0 and 2.1, and consists of the contents of Table 1 in Section 2.3 of ADQL 2.1.- Returns:
- maths functions
-
getTrigFunctions
Returns an array of the trigonometric functions defined by ADQL. This is the same for ADQL 2.0 and 2.1 and consists of the contents of Table 2 in Section 2.3 of ADQL 2.1.- Returns:
- trig functions
-
getGeomFunctions
Returns an array of the standard ADQL 2.0 or 2.1 geometry functions declared by a given TapCapability object. These are defined in Section 4.2 of ADQL 2.1 and Section 2.4 of ADQL 2.0.- Parameters:
version
- ADQL versiontcap
- capabilities- Returns:
- geometry functions
-
getOptionalFunctions
Returns an array of the ADQL 2.1 optional functions (but not other optional features) declared by a given TapCapability object. These are defined in Section 4 of ADQL 2.1.- Parameters:
tcap
- capabilities- Returns:
- optional functions
-
getOptionalFeatures
Returns an array of the ADQL 2.1 optional features (excluding functions) declared by a given TapCapability object. These are defined in Section 4 of ADQL 2.1.- Parameters:
tcap
- capabilities- Returns:
- optional features
-