# 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
Author:
  Mark Taylor
See Also:
  - DataLink 1.0 or 1.1, sec 4

## Method Summary

Modifier and Type
Method
Description
`String`
`getAccessUrl()`
Returns the access URL defined by this service.
`String`
`getContentType()`
Returns the MIME type expected for results from this service.
`String`
`getDescription()`
Returns descriptive text for this service.
`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.
`String`
`getName()`
Returns a name for this service.
`String`
`getResourceIdentifier()`
Returns an IVOA registry identifier for this service.
`String`
`getStandardId()`
Returns the capability URI corresponding to this service.

## Method Details

### getDescriptorId

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

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

String getStandardId()
Returns the capability URI corresponding to this service. This corresponds to the PARAM with @name="standardID".

Returns:
  standardID, may be null

### getResourceIdentifier

String getResourceIdentifier()
Returns an IVOA registry identifier for this service. This corresponds to the PARAM with @name="resourceIdentifier".

Returns:
  ivoid, may be null

### getContentType

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

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

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