## com.vividsolutions.jts.geom.util
Class GeometryEditor.CoordinateOperation

    java.lang.Object
      com.vividsolutions.jts.geom.util.GeometryEditor.CoordinateOperation

All Implemented Interfaces:
  GeometryEditor.GeometryEditorOperation

Enclosing class:
  GeometryEditor

public abstract static class GeometryEditor.CoordinateOperation
extends java.lang.Object
implements GeometryEditor.GeometryEditorOperation

A `GeometryEditorOperation` which modifies the coordinate list of a `Geometry`. Operates on Geometry subclasses which contains a single coordinate list.

Constructor Summary
`GeometryEditor.CoordinateOperation()`

Method Summary
`abstract Coordinate[]` `edit(Coordinate[] coordinates, Geometry geometry)` Edits the array of `Coordinate`s from a `Geometry`.
`Geometry` `edit(Geometry geometry, GeometryFactory factory)` Edits a Geometry by returning a new Geometry with a modification.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### GeometryEditor.CoordinateOperation

    public GeometryEditor.CoordinateOperation()

Method Detail

### edit

    public final Geometry edit(Geometry geometry,
                               GeometryFactory factory)

  Description copied from interface: `GeometryEditor.GeometryEditorOperation`
  Edits a Geometry by returning a new Geometry with a modification. The returned Geometry might be the same as the Geometry passed in.

  Specified by:
    `edit` in interface `GeometryEditor.GeometryEditorOperation`
  Parameters:
    `geometry` - the Geometry to modify
    `factory` - the factory with which to construct the modified Geometry (may be different to the factory of the input geometry)
  Returns:
    a new Geometry which is a modification of the input Geometry

### edit

    public abstract Coordinate[] edit(Coordinate[] coordinates,
                                      Geometry geometry)

  Edits the array of `Coordinate`s from a `Geometry`.

  If it is desired to preserve the immutability of Geometrys, if the coordinates are changed a new array should be created and returned.

  Parameters:
    `coordinates` - the coordinate array to operate on
    `geometry` - the geometry containing the coordinate list
  Returns:
    an edited coordinate array (which may be the same as the input)