# Interface Coner

All Known Implementing Classes:
  `ConeSearchConer, JdbcConer`

public interface Coner
Defines a service which can perform cone search-like operations.

Since:
  10 Aug 2007
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`void`
`configureRadiusParam(uk.ac.starlink.task.Environment env, uk.ac.starlink.task.Parameter<?> srParam)`
Provides this object with a chance to perform custom configuration on certain general cone search parameters.
`ConeSearcher`
`createSearcher(uk.ac.starlink.task.Environment env, boolean bestOnly)`
Returns a searcher object which can perform the actual cone searches as configured by this object's parameters.
`Coverage`
`getCoverage(uk.ac.starlink.task.Environment env)`
Returns a coverage object suitable for use with the cone search service configured by this object's parameters.
`uk.ac.starlink.task.Parameter<?>[]`
`getParameters()`
Returns any configuration parameters associated with this object.
`String`
`getSkySystem()`
Returns the name of the coordinate system used by this Coner.
`boolean`
`useDistanceFilter(uk.ac.starlink.task.Environment env)`
Indicates whether the result table generated by the created ConeSearcher object should be subjected to additional filtering to ensure that only rows in the specified search radius are included in the final output.

## Method Details

### getParameters

uk.ac.starlink.task.Parameter<?>[] getParameters()
Returns any configuration parameters associated with this object.

Returns:
  parameter array

### getSkySystem

String getSkySystem()
Returns the name of the coordinate system used by this Coner. Spatial matching is done using Right Ascension and Declination in degrees but the exact coordinate system is up to this object. This method should return a string such as "ICRS" which specifies the ecliptic system in use. It may return the empty string if no assumption is made.

This string is used only for documentation purposes, for instance in prompt strings issued to the user.

Returns:
  ecliptic coordinate system name

### configureRadiusParam

void configureRadiusParam(uk.ac.starlink.task.Environment env, uk.ac.starlink.task.Parameter<?> srParam) throws uk.ac.starlink.task.TaskException
Provides this object with a chance to perform custom configuration on certain general cone search parameters. If no customisation is required, no action need be taken. This will be called during the parameter acquisition phase, before the relevant parameters have been interrogated. Since the execution environment is given however, it will not be called during automatic document generation.

Parameters:
  `env` - execution environment
  `srParam` - search radius parameter
Throws:
  `uk.ac.starlink.task.TaskException`

### useDistanceFilter

boolean useDistanceFilter(uk.ac.starlink.task.Environment env) throws uk.ac.starlink.task.TaskException
Indicates whether the result table generated by the created ConeSearcher object should be subjected to additional filtering to ensure that only rows in the specified search radius are included in the final output.

Parameters:
  `env` - execution environment
Returns:
  true iff post-query filtering on distance is to be performed
Throws:
  `uk.ac.starlink.task.TaskException`

### createSearcher

ConeSearcher createSearcher(uk.ac.starlink.task.Environment env, boolean bestOnly) throws uk.ac.starlink.task.TaskException
Returns a searcher object which can perform the actual cone searches as configured by this object's parameters. If the `bestOnly` flag is set, then only the best match is required. The implementation may use this as a hint if it helps efficiency, but is not obliged to return single-row tables, since extraneous rows will be filtered out later. Similarly any rows which do not actually match the given criteria will be filtered out later, so it is not an error to return too many rows.

Parameters:
  `env` - execution environment
  `bestOnly` - true iff only the best match will be used
Throws:
  `uk.ac.starlink.task.TaskException`

### getCoverage

Coverage getCoverage(uk.ac.starlink.task.Environment env) throws uk.ac.starlink.task.TaskException
Returns a coverage object suitable for use with the cone search service configured by this object's parameters.

Parameters:
  `env` - execution environment
Returns:
  coverage footprint, or null
Throws:
  `uk.ac.starlink.task.TaskException`