[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [gauges](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges) / [AbstractFactory](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#abstractfactory) / AbstractFactory

# Class: AbstractFactory

[gauges](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges).[AbstractFactory](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#abstractfactory).AbstractFactory

Abstract class for gauge factories.

## Hierarchy

- **`AbstractFactory`**
↳ [`AnnotatedFillGauge`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.annotatedfillgauge.annotatedfillgauge)
↳ [`ArcIndicatorCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.arcindicatorcircular.arcindicatorcircular)
↳ [`BandCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.bandcircular.bandcircular)
↳ [`ClassicCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.classiccircular.classiccircular)
↳ [`CoveredNeedleCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.coveredneedlecircular.coveredneedlecircular)
↳ [`DoubleAxisCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.doubleaxiscircular.doubleaxiscircular)
↳ [`DoubleFanHalfCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.doublefanhalfcircular.doublefanhalfcircular)
↳ [`EllipseFillGauge`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.ellipsefillgauge.ellipsefillgauge)
↳ [`HalfCircularSimple`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.halfcircularsimple.halfcircularsimple)
↳ [`HorizontalBoxFillGauge`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.horizontalboxfillgauge.horizontalboxfillgauge)
↳ [`HorizontalNumeric`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.horizontalnumeric.horizontalnumeric)
↳ [`HorizontalTraffic`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.horizontaltraffic.horizontaltraffic)
↳ [`ModernCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.moderncircular.moderncircular)
↳ [`Pressure`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.pressure.pressure)
↳ [`SegmentedBandCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.segmentedbandcircular.segmentedbandcircular)
↳ [`SimpleNumeric`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.simplenumeric.simplenumeric)
↳ [`SimpleQuarterCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.simplequartercircular.simplequartercircular)
↳ [`ThreeBandCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.threebandcircular.threebandcircular)
↳ [`TrendingNumeric`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.trendingnumeric.trendingnumeric)
↳ [`UnevenCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.unevencircular.unevencircular)
↳ [`VerticalBoxFillGauge`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.verticalboxfillgauge.verticalboxfillgauge)
↳ [`VerticalTraffic`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.verticaltraffic.verticaltraffic)
↳ [`ZonedHalfCircular`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.defaults.zonedhalfcircular.zonedhalfcircular)


## Table of contents

Constructors
- [new AbstractFactory(params)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.gauges.abstractfactory.abstractfactory.md#new abstractfactory(params))


Methods
| [createGauge](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.abstractfactory.abstractfactory#creategauge) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.abstractfactory.abstractfactory#getclassname) | [getGaugeProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.abstractfactory.abstractfactory#getgaugeproperties) |
|  --- | --- | --- |
| [getGaugeType](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.abstractfactory.abstractfactory#getgaugetype) | [getName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.abstractfactory.abstractfactory#getname) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.abstractfactory.abstractfactory#getclassname-1) |


## Contents

Constructors
#### new AbstractFactory(params)

• `Protected` **new AbstractFactory**(`params?`)

#### Parameters

| Name  | Type  |
|  --- | --- |
| `Optional` `params` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#abstractfactory#options) |


Methods
#### createGauge

▸ `Abstract` **createGauge**(`params?`): [`AbstractGauge`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.abstractgauge.abstractgauge)

Returns a gauge ready for use

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `params` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#abstractgauge#options) | JSON with overriding properties |


#### Returns

[`AbstractGauge`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.gauges.abstractgauge.abstractgauge)

Gauge with applied default and overridden properties

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### getGaugeProperties

▸ `Abstract` **getGaugeProperties**(): [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#abstractgauge#options)

Returns properties pertaining to the gauge implemented by this factory

#### Returns

[`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.gauges#abstractgauge#options)

#### getGaugeType

▸ **getGaugeType**(): `string`

Gets the type of the gauge which this factory implements

#### Returns

`string`

#### getName

▸ **getName**(): `string`

Gets the name of this implementation

#### Returns

`string`

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`