# Class AbstractPlotLayer

java.lang.Object
uk.ac.starlink.ttools.plot2.layer.AbstractPlotLayer

All Implemented Interfaces:
  `PlotLayer`

public abstract class AbstractPlotLayer extends Object implements PlotLayer
Partial PlotLayer implementation. This implementation just supplies straightforward implementations of the interface accessor methods.

Since:
  15 Feb 2013
Author:
  Mark Taylor

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`AbstractPlotLayer(Plotter<?> plotter, DataGeom geom, DataSpec dataSpec, Style style, LayerOpt opt)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`extendCoordinateRanges(Range[] ranges, boolean[] logFlags, DataStore dataStore)`
This implementation does nothing.
`Map<AuxScale, AuxReader>`
`getAuxRangers()`
This implementation returns a new empty map.
`DataGeom`
`getDataGeom()`
Returns the data geometry used by this layer.
`DataSpec`
`getDataSpec()`
Returns the data spec that defines the data used by this layer.
`LayerOpt`
`getOpt()`
Returns an object that describes some facts about how this layer draws itself used for rendering.
`Plotter<?>`
`getPlotter()`
Returns the plotter that generated this layer.
`Style`
`getStyle()`
Returns the plot style used by this layer.

### Methods inherited from class Object

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

### Methods inherited from interface PlotLayer

`createDrawing`

## Constructor Details

### AbstractPlotLayer

protected AbstractPlotLayer(Plotter<?> plotter, DataGeom geom, DataSpec dataSpec, Style style, LayerOpt opt)
Constructor.

Parameters:
  `plotter` - plotter that created this layer
  `geom` - defines data space
  `dataSpec` - required data values
  `style` - plotting style
  `opt` - layer optimisation option

## Method Details

### getPlotter

public Plotter<?> getPlotter()
Description copied from interface: `PlotLayer`
Returns the plotter that generated this layer. Used to help determine whether this layer is the same as another one.

Specified by:
  `getPlotter` in interface `PlotLayer`
Returns:
  parent plotter

### getDataGeom

public DataGeom getDataGeom()
Description copied from interface: `PlotLayer`
Returns the data geometry used by this layer. This can be used in conjunction with the DataSpec to determine the base positions in data space of what has been plotted. Depending on the nature of the returned object, these positions may be actual points in the data space, or some higher-dimensional object. If null is returned, no such information is available.

Specified by:
  `getDataGeom` in interface `PlotLayer`
Returns:
  data geom, or null

### extendCoordinateRanges

public void extendCoordinateRanges(Range[] ranges, boolean[] logFlags, DataStore dataStore)
This implementation does nothing.

Specified by:
  `extendCoordinateRanges` in interface `PlotLayer`
Parameters:
  `ranges` - array of data space dimension ranges, may be adjusted
  `logFlags` - array of scaling flags (false=linear, true=log) corresponding to `ranges` array
  `dataStore` - data storage object

### getDataSpec

public DataSpec getDataSpec()
Description copied from interface: `PlotLayer`
Returns the data spec that defines the data used by this layer. May be null if no tabular data is required.

Specified by:
  `getDataSpec` in interface `PlotLayer`
Returns:
  data spec, or null

### getStyle

public Style getStyle()
Description copied from interface: `PlotLayer`
Returns the plot style used by this layer.

Specified by:
  `getStyle` in interface `PlotLayer`
Returns:
  plot style

### getOpt

public LayerOpt getOpt()
Description copied from interface: `PlotLayer`
Returns an object that describes some facts about how this layer draws itself used for rendering.

Specified by:
  `getOpt` in interface `PlotLayer`
Returns:
  layer option flags

### getAuxRangers

public Map<AuxScale, AuxReader> getAuxRangers()
This implementation returns a new empty map. Subclasses overriding this implementation may call the superclass method, modify the resulting map, and pass it on.

Specified by:
  `getAuxRangers` in interface `PlotLayer`
Returns:
  range scales required for plot