# Interface DalMultiService

public interface DalMultiService
Defines service-type-specific aspects of how to do a multiple query against a positional (cone-like) DAL service.

Since:
  30 Sep 2009
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`void`
`addActionListener(ActionListener l)`
Adds a listener that will be updated if the service characteristics specified by this object may have changed.
`boolean`
`allowNullSize()`
Indicates whether a blank value is permissible for the search radius (or diameter, or whatever).
`uk.ac.starlink.ttools.cone.ConeSearcher`
`createSearcher(URL url, uk.ac.starlink.table.StarTableFactory tfact, uk.ac.starlink.util.ContentCoding coding)`
Constructs a cone searcher object for this service type.
`uk.ac.starlink.vo.Capability`
`getCapability()`
Returns the capability defining this service type.
`JComponent`
`getControlPanel()`
Returns a panel with custom controls specific to this service type.
`uk.ac.starlink.ttools.cone.Coverage`
`getCoverage(URL url)`
Gets a coverage description for this service.
`String`
`getLabel()`
Returns a short label for this service type.
`String`
`getName()`
Returns the name of this service type.
`String`
`getResourceListType()`
Returns the voresource subtype for this service as used in voresource.loadlist.* MTypes.
`uk.ac.starlink.ttools.cone.ConeServiceType`
`getServiceType()`
Returns the type of cone search service used.
`uk.ac.starlink.table.ValueInfo`
`getSizeInfo()`
Returns metadata describing the search radius (or diameter, or whatever) parameter used by this query.
`uk.ac.starlink.vo.ConeVerbosity`
`getVerbosity()`
Returns the verbosity for this service.
`JComponent`
`getVersionComponent()`
Returns a panel used for protocol version selection, if available.
`boolean`
`hasCoverages()`
Indicates whether this service is capable of supplying coverage information.
`void`
`init(uk.ac.starlink.vo.RegistryPanel regPanel)`
Performs any required initialisation based on the registry panel that will be associated with this service.
`void`
`removeActionListener(ActionListener l)`
Removes a previously added listener.
`void`
`setSizeDefault(ColumnSelector sizeSelector)`
Configures the column selector representing search radius (or diameter, or whatever) to some sensible default value.

## Method Details

### getName

String getName()
Returns the name of this service type.

Returns:
  short name

### getLabel

String getLabel()
Returns a short label for this service type.

Returns:
  short label - no spaces, just a few lower case characters

### getCapability

uk.ac.starlink.vo.Capability getCapability()
Returns the capability defining this service type.

Returns:
  capability type

### getServiceType

uk.ac.starlink.ttools.cone.ConeServiceType getServiceType()
Returns the type of cone search service used.

Returns:
  service type

### getResourceListType

String getResourceListType()
Returns the voresource subtype for this service as used in voresource.loadlist.* MTypes.

Returns:
  voresource MType subtype

### getSizeInfo

uk.ac.starlink.table.ValueInfo getSizeInfo()
Returns metadata describing the search radius (or diameter, or whatever) parameter used by this query.

Returns:
  search size metadata

### setSizeDefault

void setSizeDefault(ColumnSelector sizeSelector)
Configures the column selector representing search radius (or diameter, or whatever) to some sensible default value.

Parameters:
  `sizeSelector` - search size value selector component

### allowNullSize

boolean allowNullSize()
Indicates whether a blank value is permissible for the search radius (or diameter, or whatever).

Returns:
  true iff null size values make sense for this service type

### getControlPanel

JComponent getControlPanel()
Returns a panel with custom controls specific to this service type.

Returns:
  custom component container, or null

### getVersionComponent

JComponent getVersionComponent()
Returns a panel used for protocol version selection, if available.

Returns:
  version selector component, or null

### init

void init(uk.ac.starlink.vo.RegistryPanel regPanel)
Performs any required initialisation based on the registry panel that will be associated with this service.

Parameters:
  `regPanel` - panel used for service selection

### createSearcher

uk.ac.starlink.ttools.cone.ConeSearcher createSearcher(URL url, uk.ac.starlink.table.StarTableFactory tfact, uk.ac.starlink.util.ContentCoding coding)
Constructs a cone searcher object for this service type.

Parameters:
  `url` - service URL
  `tfact` - table factory
  `coding` - controls HTTP-level byte stream compression; this hint may be ignored by implementations
Returns:
  cone searcher object

### hasCoverages

boolean hasCoverages()
Indicates whether this service is capable of supplying coverage information.

Returns:
  false if `getCoverage` will always return false

### getCoverage

uk.ac.starlink.ttools.cone.Coverage getCoverage(URL url)
Gets a coverage description for this service.

Parameters:
  `url` - service URL
Returns:
  coverage coverage object, or null

### getVerbosity

uk.ac.starlink.vo.ConeVerbosity getVerbosity()
Returns the verbosity for this service.

Returns:
  verbosity level

### addActionListener

void addActionListener(ActionListener l)
Adds a listener that will be updated if the service characteristics specified by this object may have changed.

Parameters:
  `l` - listener to add

### removeActionListener

void removeActionListener(ActionListener l)
Removes a previously added listener.

Parameters:
  `l` - listener to remove