Package uk.ac.starlink.vo

## Enum AdqlVersion

- java.lang.Object
- - java.lang.Enum<AdqlVersion>
  - - uk.ac.starlink.vo.AdqlVersion

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Comparable<AdqlVersion>`

      public enum AdqlVersion
      extends java.lang.Enum<AdqlVersion>

  Version of the ADQL language.
  Since:
    18 Sep 2019
  Author:
    Mark Taylor

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `V20` | ADQL version 2.0.
    `V21` | ADQL version 2.1.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static AdqlVersion` | `byIvoid​(java.lang.String ivoid)` | Returns the AdqlVersion instance corresponding to an IVOID.
    `static AdqlVersion` | `byNumber​(java.lang.String number)` | Returns the AdqlVersion instance corresponding to a version number.
    `java.lang.String[]` | `getFeatureUris()` | Returns an array of all the language feature URIs defined by this version.
    `java.lang.String` | `getIvoid()` | Returns the version identifier string.
    `java.lang.String` | `getName()` | Returns the informal name of this version.
    `java.lang.String` | `getNumber()` | Returns the version number as a string.
    `java.lang.String` | `toString()` |
    `static AdqlVersion` | `valueOf​(java.lang.String name)` | Returns the enum constant of this type with the specified name.
    `static AdqlVersion[]` | `values()` | Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### V20

          public static final AdqlVersion V20

      ADQL version 2.0.

    - #### V21

          public static final AdqlVersion V21

      ADQL version 2.1. This corresponds to PR-ADQL-2.1-20180112, except that the feature "`ivo://ivoa.net/std/TAPRegExt#features-adql-geo`" defined there is not included; I believe that's a typo for "`ivo://ivoa.net/std/TAPRegExt#features-adqlgeo`" that applies to ADQL 2.0.

  - ### Method Detail

    - #### values

          public static AdqlVersion[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (AdqlVersion c : AdqlVersion.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static AdqlVersion valueOf​(java.lang.String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
        `java.lang.NullPointerException` - if the argument is null

    - #### getName

          public java.lang.String getName()

      Returns the informal name of this version.
      Returns:
        version name, suitable for presentation to user

    - #### getNumber

          public java.lang.String getNumber()

      Returns the version number as a string.
      Returns:
        X.Y format version number

    - #### getIvoid

          public java.lang.String getIvoid()

      Returns the version identifier string.
      Returns:
        URI, currently of the form ivo://ivoa.net/std/ADQL#vX.Y

    - #### getFeatureUris

          public java.lang.String[] getFeatureUris()

      Returns an array of all the language feature URIs defined by this version. These currently all have the form "`ivo://ivoa.net/std/TAPRegExt#features-*`". These are defined in the TAPRegExt and ADQL standards.
      Returns:
        language feature URIs

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Enum<AdqlVersion>`

    - #### byNumber

          public static AdqlVersion byNumber​(java.lang.String number)

      Returns the AdqlVersion instance corresponding to a version number.
      Parameters:
        `number` - version number of the form X.Y
      Returns:
        corresponding version instance, or null

    - #### byIvoid

          public static AdqlVersion byIvoid​(java.lang.String ivoid)

      Returns the AdqlVersion instance corresponding to an IVOID.
      Parameters:
        `ivoid` - URI, currently of the form ivo://ivoa.net/std/ADQL#vX.Y