# Class ConeServiceType

java.lang.Object
uk.ac.starlink.ttools.cone.ConeServiceType

public abstract class ConeServiceType extends Object
Characterises a simple DAL service based on sky position.

Since:
  10 Oct 2024
Author:
  Mark Taylor

## Field Summary

Fields
Modifier and Type
Field
Description
`static final ConeServiceType`
`CONE`
Simple cone search type.
`static final ConeServiceType`
`SIA`
Alias for SIA1.
`static final ConeServiceType`
`SIA1`
Simple Image Access v1 type.
`static final ConeServiceType`
`SIA2`
Simple Image Access v2 type.
`static final ConeServiceType`
`SSA`
Simple Spectral Access type.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`ConeServiceType(String name)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`abstract void`
`configureRadiusParam(uk.ac.starlink.task.Parameter<Double> srParam)`
Provides this object with a chance to perform custom configuration on general cone search parameters.
`abstract ConeSearcher`
`createMultiSearcher(uk.ac.starlink.task.Environment env, ConeSearchConer conerTask, String url, boolean believeEmpty, uk.ac.starlink.table.StarTableFactory tfact, uk.ac.starlink.util.ContentCoding coding)`
Constructs a ConeSearcher instance suitable for this service type.
`abstract ConeSearcher`
`createSingleSearcher(uk.ac.starlink.task.Environment env, TableCone coneTask, String url, uk.ac.starlink.table.StarTableFactory tfact, uk.ac.starlink.util.ContentCoding coding)`
Constructs a ConeSearcher instance suitable for single cone searches using this service type.
`static ConeServiceType[]`
`getAllTypes()`
Returns a list of instances of this class that may include aliases.
`abstract Coverage`
`getCoverage(URL url, int nside)`
Returns a coverage footprint for use with the service specified.
`abstract String`
`getDescription()`
Returns XML description of this service type.
`static ConeServiceType[]`
`getDistinctTypes()`
Returns a list of distinct instances of this class.
`abstract String`
`getFormatDescription()`
Returns XML documentation of the use of the format parameter for this service type.
`String`
`toString()`
`abstract boolean`
`useDistanceFilter()`
Indicates whether the result table should be subjected to additional filtering to ensure that only rows in the specified search radius are included in the final output.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### CONE

public static final ConeServiceType CONE
Simple cone search type.

### SSA

public static final ConeServiceType SSA
Simple Spectral Access type.

### SIA1

public static final ConeServiceType SIA1
Simple Image Access v1 type.

### SIA2

public static final ConeServiceType SIA2
Simple Image Access v2 type.

### SIA

public static final ConeServiceType SIA
Alias for SIA1.

## Constructor Details

### ConeServiceType

protected ConeServiceType(String name)
Constructor.

Parameters:
  `name` - informal, short name

## Method Details

### getDescription

public abstract String getDescription()
Returns XML description of this service type.

Returns:
  description

### getFormatDescription

public abstract String getFormatDescription()
Returns XML documentation of the use of the format parameter for this service type.

Returns:
  formats info

### configureRadiusParam

public abstract void configureRadiusParam(uk.ac.starlink.task.Parameter<Double> srParam)
Provides this object with a chance to perform custom configuration on general cone search parameters.

Parameters:
  `srParam` - search radius parameter

### createSingleSearcher

public abstract ConeSearcher createSingleSearcher(uk.ac.starlink.task.Environment env, TableCone coneTask, String url, uk.ac.starlink.table.StarTableFactory tfact, uk.ac.starlink.util.ContentCoding coding) throws uk.ac.starlink.task.TaskException
Constructs a ConeSearcher instance suitable for single cone searches using this service type.

Parameters:
  `env` - execution environment
  `coneTask` - task instance
  `url` - service URL
  `tfact` - table factory
  `coding` - controls HTTP-level byte stream compression; implementations may choose to ignore this hint
Returns:
  cone searcher object
Throws:
  `uk.ac.starlink.task.TaskException`

### createMultiSearcher

public abstract ConeSearcher createMultiSearcher(uk.ac.starlink.task.Environment env, ConeSearchConer conerTask, String url, boolean believeEmpty, uk.ac.starlink.table.StarTableFactory tfact, uk.ac.starlink.util.ContentCoding coding) throws uk.ac.starlink.task.TaskException
Constructs a ConeSearcher instance suitable for this service type.

Parameters:
  `env` - execution environment
  `conerTask` - task instance
  `url` - service URL
  `believeEmpty` - whether to take seriously metadata from zero-length tables
  `tfact` - table factory
  `coding` - controls HTTP-level byte stream compression; implementations may choose to ignore this hint
Returns:
  cone searcher object
Throws:
  `uk.ac.starlink.task.TaskException`

### useDistanceFilter

public abstract boolean useDistanceFilter()
Indicates whether the result table should be subjected to additional filtering to ensure that only rows in the specified search radius are included in the final output.

Returns:
  true iff post-query filtering on distance is to be performed

### getCoverage

public abstract Coverage getCoverage(URL url, int nside)
Returns a coverage footprint for use with the service specified.

Parameters:
  `url` - cone search service URL
  `nside` - MOC nside parameter
Returns:
  coverage footprint, or null

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### getDistinctTypes

public static ConeServiceType[] getDistinctTypes()
Returns a list of distinct instances of this class.

Returns:
  instance list

### getAllTypes

public static ConeServiceType[] getAllTypes()
Returns a list of instances of this class that may include aliases.

Returns:
  instance list