public class GeometryEditor
extends java.lang.Object
Geometry
s
which are modifications of existing ones.
Geometry objects are intended to be treated as immutable.
This class "modifies" Geometrys
by traversing them, applying a user-defined
GeometryEditOperation
or GeometryEditor.CoordinateOperation
and creating new Geometrys with the same structure but
(possibly) modified components.
Examples of the kinds of modifications which can be made are:
GeometryTransformer
.
This class supports the case where an edited Geometry needs to
be created under a new GeometryFactory, via the GeometryEditor(GeometryFactory)
constructor.
Examples of situations where this is required is if the geometry is
transformed to a new SRID and/or a new PrecisionModel.
The resulting Geometry is not checked for validity.
If validity needs to be enforced, the new Geometry's
#isValid
method should be called.
GeometryTransformer
,
Geometry.isValid()
Modifier and Type | Class and Description |
---|---|
static class |
GeometryEditor.CoordinateOperation
A
GeometryEditor.GeometryEditorOperation which modifies the coordinate list of a Geometry . |
static interface |
GeometryEditor.GeometryEditorOperation
A interface which specifies an edit operation for Geometries.
|
Constructor and Description |
---|
GeometryEditor()
Creates a new GeometryEditor object which will create
edited
Geometry s with the same GeometryFactory as the input Geometry. |
GeometryEditor(GeometryFactory factory)
Creates a new GeometryEditor object which will create
edited
Geometry s with the given GeometryFactory . |
Modifier and Type | Method and Description |
---|---|
Geometry |
edit(Geometry geometry,
GeometryEditor.GeometryEditorOperation operation)
Edit the input
Geometry with the given edit operation. |
public GeometryEditor()
Geometry
s with the same GeometryFactory
as the input Geometry.public GeometryEditor(GeometryFactory factory)
Geometry
s with the given GeometryFactory
.factory
- the GeometryFactory to create edited Geometrys withpublic Geometry edit(Geometry geometry, GeometryEditor.GeometryEditorOperation operation)
Geometry
with the given edit operation.
Clients can create subclasses of GeometryEditor.GeometryEditorOperation
or
GeometryEditor.CoordinateOperation
to perform required modifications.geometry
- the Geometry to editoperation
- the edit operation to carry outGeometry
which is the result of the editing