uk.ac.starlink.votable.datalink

## Interface ServiceDescriptor

-     public interface ServiceDescriptor

  Describes an invocable service as defined by a DataLink Service Descriptor. This is usually read from a VOTable RESOURCE element with @type="meta" and @utype="adhoc:service".
  Since:
    22 Nov 2017
  See Also:
    DataLink 1.0 or 1.1, sec 4

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getAccessUrl()` Returns the access URL defined by this service.
    `java.lang.String` | `getContentType()` Returns the MIME type expected for results from this service.
    `java.lang.String` | `getDescription()` Returns descriptive text for this service.
    `java.lang.String` | `getDescriptorId()` Returns the identifier for this service descriptor.
    `ExampleUrl[]` | `getExampleUrls()` Returns a list of example invocations associated with this service.
    `ServiceParam[]` | `getInputParams()` Returns a list of input parameters associated with this service.
    `java.lang.String` | `getName()` Returns a name for this service.
    `java.lang.String` | `getResourceIdentifier()` Returns an IVOA registry identifier for this service.
    `java.lang.String` | `getStandardId()` Returns the capability URI corresponding to this service.

- - ### Method Detail

    - #### getDescriptorId

          java.lang.String getDescriptorId()

      Returns the identifier for this service descriptor. This corresponds to the ID attribute on the RESOURCE.
      Returns:
        descriptor ID, may be null

    - #### getAccessUrl

          java.lang.String getAccessUrl()

      Returns the access URL defined by this service. It may be a partial/base URL. This corresponds to the PARAM with @name="accessURL".
      Returns:
        access URL; according to DataLink this is required, but this interface does not guarantee a non-null value

    - #### getStandardId

          java.lang.String getStandardId()

      Returns the capability URI corresponding to this service. This corresponds to the PARAM with @name="standardID".
      Returns:
        standardID, may be null

    - #### getResourceIdentifier

          java.lang.String getResourceIdentifier()

      Returns an IVOA registry identifier for this service. This corresponds to the PARAM with @name="resourceIdentifier".
      Returns:
        ivoid, may be null

    - #### getContentType

          java.lang.String getContentType()

      Returns the MIME type expected for results from this service. This corresponds to the PARAM with @name="contentType" (introduced at DataLink 1.1).
      Returns:
        service output content type, may be null

    - #### getName

          java.lang.String getName()

      Returns a name for this service. This could for instance be obtained from the `name` attribute on the RESOURCE. Provision of this metadata is not discussed by the DataLink standard, but it may be useful to have, especially for service descriptors in "normal" rather than links-response VOTables.
      Returns:
        service name, may be null

    - #### getDescription

          java.lang.String getDescription()

      Returns descriptive text for this service. This could for instance be extracted from a suitable `DESCRIPTION` element. Provision of this metadata is not discussed by the DataLink standard, but it may be useful to have, especially for service descriptors in "normal" rather than links-response VOTables.
      Returns:
        textual description of service, may be null

    - #### getInputParams

          ServiceParam[] getInputParams()

      Returns a list of input parameters associated with this service. This corresponds to the PARAM descendants of a child GROUP with @name="inputParams".
      Returns:
        service input parameter list

    - #### getExampleUrls

          ExampleUrl[] getExampleUrls()

      Returns a list of example invocations associated with this service. This corresponds to PARAM elements with @name="exampleURL" (introduced at DataLink 1.1).
      Returns:
        list of example invocations; may be empty but not null