# Interface ZoneFactory

public interface ZoneFactory
Defines how ZoneIDs are produced for use in a multi-plotting context.

Since:
  11 Feb 2016
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`uk.ac.starlink.ttools.plot2.config.Specifier<ZoneId>`
`createZoneSpecifier()`
Returns a Specifier that can be used to select zoneIds.
`Comparator<ZoneId>`
`getComparator()`
Returns a comparator that is suitable for use with the ZoneIds dispensed by this factory.
`ZoneId`
`getDefaultZone()`
Returns a default ZoneId that can be used in absence of any other.
`boolean`
`isSingleZone()`
Indicates whether this factory corresponds to a single-zone plot.
`ZoneId`
`nameToId(String name)`
Returns the ZoneId corresponding to a zone name.

## Method Details

### isSingleZone

boolean isSingleZone()
Indicates whether this factory corresponds to a single-zone plot. If so, all the zone ids dispensed by this factory will be identical.

Returns:
  true if this factory is for use in single-zone contexts

### getDefaultZone

ZoneId getDefaultZone()
Returns a default ZoneId that can be used in absence of any other. The same value is returned over the lifetime of this factory.

Returns:
  default zone

### createZoneSpecifier

uk.ac.starlink.ttools.plot2.config.Specifier<ZoneId> createZoneSpecifier()
Returns a Specifier that can be used to select zoneIds.

Returns:
  zone id specifier

### getComparator

Comparator<ZoneId> getComparator()
Returns a comparator that is suitable for use with the ZoneIds dispensed by this factory.

Returns:
  comparator

### nameToId

ZoneId nameToId(String name)
Returns the ZoneId corresponding to a zone name.

Parameters:
  `name` - zone name
Returns:
  zone identifier in this factory, or null if not known