org.h2.util.geometry

## Class JTSUtils.GeometryTarget

- java.lang.Object
- - org.h2.util.geometry.GeometryUtils.Target
  - - org.h2.util.geometry.JTSUtils.GeometryTarget

Enclosing class:
  JTSUtils

    public static final class JTSUtils.GeometryTarget
    extends GeometryUtils.Target

Converter output target that creates a JTS Geometry.

### Constructor Summary

Constructors
Constructor and Description
`JTSUtils.GeometryTarget(int dimensionSystem)` Creates a new instance of JTS Geometry target.

### Method Summary

Methods
`protected void` `addCoordinate(double x, double y, double z, double m, int index, int total)` Invoked to add a coordinate to a geometry.
`protected void` `endCollectionItem(GeometryUtils.Target target, int type, int index, int total)` Invoked after writing of a collection item.
`protected void` `init(int srid)` Initializes top-level target.
`protected void` `startCollection(int type, int numItems)` Invoked before writing of a collection.
`protected GeometryUtils.Target` `startCollectionItem(int index, int total)` Invoked before writing of a collection item.
`protected void` `startLineString(int numPoints)` Invoked before writing a LINESTRING.
`protected void` `startPoint()` Invoked before writing a POINT.
`protected void` `startPolygon(int numInner, int numPoints)` Invoked before writing a POLYGON.
`protected void` `startPolygonInner(int numInner)` Invoked before writing an inner polygon in POLYGON.

### Methods inherited from class org.h2.util.geometry.GeometryUtils.Target

`dimensionSystem, endNonEmptyPolygon, endObject`

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### JTSUtils.GeometryTarget

    public JTSUtils.GeometryTarget(int dimensionSystem)

Creates a new instance of JTS Geometry target.

Parameters:
  `dimensionSystem` - dimension system to use

### Method Detail

#### init

    protected void init(int srid)

Description copied from class: `GeometryUtils.Target`
Initializes top-level target.

Overrides:
  `init` in class `GeometryUtils.Target`
Parameters:
  `srid` - SRID

#### startPoint

    protected void startPoint()

Description copied from class: `GeometryUtils.Target`
Invoked before writing a POINT.

Overrides:
  `startPoint` in class `GeometryUtils.Target`

#### startLineString

    protected void startLineString(int numPoints)

Description copied from class: `GeometryUtils.Target`
Invoked before writing a LINESTRING.

Overrides:
  `startLineString` in class `GeometryUtils.Target`
Parameters:
  `numPoints` - number of points in line string

#### startPolygon

    protected void startPolygon(int numInner,
                    int numPoints)

Description copied from class: `GeometryUtils.Target`
Invoked before writing a POLYGON.

Overrides:
  `startPolygon` in class `GeometryUtils.Target`
Parameters:
  `numInner` - number of inner polygons
  `numPoints` - number of points in outer polygon

#### startPolygonInner

    protected void startPolygonInner(int numInner)

Description copied from class: `GeometryUtils.Target`
Invoked before writing an inner polygon in POLYGON.

Overrides:
  `startPolygonInner` in class `GeometryUtils.Target`
Parameters:
  `numInner` - number of points in inner polygon

#### startCollection

    protected void startCollection(int type,
                       int numItems)

Description copied from class: `GeometryUtils.Target`
Invoked before writing of a collection.

Overrides:
  `startCollection` in class `GeometryUtils.Target`
Parameters:
  `type` - type of collection, one of `GeometryUtils.MULTI_POINT`, `GeometryUtils.MULTI_LINE_STRING`, `GeometryUtils.MULTI_POLYGON`, `GeometryUtils.GEOMETRY_COLLECTION`
  `numItems` - number of items in this collection

#### startCollectionItem

    protected GeometryUtils.Target startCollectionItem(int index,
                                           int total)

Description copied from class: `GeometryUtils.Target`
Invoked before writing of a collection item.

Overrides:
  `startCollectionItem` in class `GeometryUtils.Target`
Parameters:
  `index` - 0-based index of this item in the collection
  `total` - total number of items in the collection
Returns:
  output target that should be used for processing of this collection item. May return this target or an custom sub-target.

#### endCollectionItem

    protected void endCollectionItem(GeometryUtils.Target target,
                         int type,
                         int index,
                         int total)

Description copied from class: `GeometryUtils.Target`
Invoked after writing of a collection item. This method is invoked on the same target that was used for `GeometryUtils.Target.startCollectionItem(int, int)`.

Overrides:
  `endCollectionItem` in class `GeometryUtils.Target`
Parameters:
  `target` - the result of `GeometryUtils.Target.startCollectionItem(int, int)`
  `type` - type of collection
  `index` - 0-based index of this item in the collection
  `total` - total number of items in the collection

#### addCoordinate

    protected void addCoordinate(double x,
                     double y,
                     double z,
                     double m,
                     int index,
                     int total)

Description copied from class: `GeometryUtils.Target`
Invoked to add a coordinate to a geometry.

Specified by:
  `addCoordinate` in class `GeometryUtils.Target`
Parameters:
  `x` - X coordinate
  `y` - Y coordinate
  `z` - Z coordinate (NaN if not used)
  `m` - M coordinate (NaN if not used)
  `index` - 0-based index of coordinate in the current sequence
  `total` - total number of coordinates in the current sequence