Class Factory

java.lang.Object
org.apache.sis.internal.feature.Geometries<com.esri.core.geometry.Geometry>
org.apache.sis.internal.feature.esri.Factory
All Implemented Interfaces:
Serializable

public final class Factory extends Geometries<com.esri.core.geometry.Geometry>
The factory of geometry objects backed by ESRI.
Since:
0.7
Version:
1.1
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For cross-version compatibility.
      See Also:
    • INSTANCE

      public static final Factory INSTANCE
      The singleton instance of this factory.
  • Constructor Details

    • Factory

      private Factory()
      Creates the singleton instance.
  • Method Details

    • readResolve

      protected Object readResolve() throws ObjectStreamException
      Invoked at deserialization time for obtaining the unique instance of this Geometries class.
      Returns:
      INSTANCE.
      Throws:
      ObjectStreamException - if the object state is invalid.
    • castOrWrap

      public GeometryWrapper<com.esri.core.geometry.Geometry> castOrWrap(Object geometry)
      Returns a wrapper for the given <G> or GeometryWrapper<G> geometry.
      Specified by:
      castOrWrap in class Geometries<com.esri.core.geometry.Geometry>
      Parameters:
      geometry - the geometry instance to wrap (can be null).
      Returns:
      a wrapper for the given geometry implementation, or null.
      Throws:
      ClassCastException - if the given geometry is not an instance of valid type.
      See Also:
    • createWrapper

      protected GeometryWrapper<com.esri.core.geometry.Geometry> createWrapper(com.esri.core.geometry.Geometry geometry)
      Creates a wrapper for the given geometry instance.
      Specified by:
      createWrapper in class Geometries<com.esri.core.geometry.Geometry>
      Parameters:
      geometry - the geometry to wrap.
      Returns:
      wrapper for the given geometry.
      See Also:
    • createPoint

      public Object createPoint(double x, double y)
      Creates a two-dimensional point from the given coordinates.
      Specified by:
      createPoint in class Geometries<com.esri.core.geometry.Geometry>
      Parameters:
      x - the first coordinate value.
      y - the second coordinate value.
      Returns:
      the point for the given coordinate values.
      See Also:
    • createPoint

      public Object createPoint(double x, double y, double z)
      Creates a three-dimensional point from the given coordinates.
      Specified by:
      createPoint in class Geometries<com.esri.core.geometry.Geometry>
      Parameters:
      x - the first coordinate value.
      y - the second coordinate value.
      z - the third coordinate value.
      Returns:
      the point for the given coordinate values.
      See Also:
    • createPolyline

      public com.esri.core.geometry.Geometry createPolyline(boolean polygon, int dimension, Vector... coordinates)
      Creates a polyline from the given coordinate values. Each Double.NaN coordinate value starts a new path.
      Specified by:
      createPolyline in class Geometries<com.esri.core.geometry.Geometry>
      Parameters:
      polygon - whether to return the path as a polygon instead of polyline.
      dimension - the number of dimensions (2 or 3).
      coordinates - sequence of (x,y) or (x,y,z) tuples.
      Returns:
      the geometric object for the given points.
      Throws:
      UnsupportedOperationException - if this operation is not implemented for the given number of dimensions.
    • createMultiPolygon

      public GeometryWrapper<com.esri.core.geometry.Geometry> createMultiPolygon(Object[] geometries)
      Creates a multi-polygon from an array of geometries. Callers must ensure that the given objects are ESRI geometries.
      Specified by:
      createMultiPolygon in class Geometries<com.esri.core.geometry.Geometry>
      Parameters:
      geometries - the polygons or linear rings to put in a multi-polygons.
      Returns:
      the multi-polygon.
      Throws:
      ClassCastException - if an element in the array is not an ESRI geometry.
    • createFromComponents

      public GeometryWrapper<com.esri.core.geometry.Geometry> createFromComponents(GeometryType type, Object components)
      Creates a geometry from components. The expected components type depend on the target geometry type:
      • If type is a multi-geometry, then the components shall be an array of Point, Geometry, Polyline or Polygon elements, depending on the desired target type.
      • Otherwise the components shall be an array or collection of Point instances.
      Specified by:
      createFromComponents in class Geometries<com.esri.core.geometry.Geometry>
      Parameters:
      type - type of geometry to create.
      components - the components. Valid classes depend on the type of geometry to create.
      Returns:
      geometry built from the given components.
      Throws:
      ClassCastException - if the given object is not an array or a collection of supported geometry components.
    • parseWKT

      public GeometryWrapper<com.esri.core.geometry.Geometry> parseWKT(String wkt)
      Parses the given Well Known Text (WKT).
      Specified by:
      parseWKT in class Geometries<com.esri.core.geometry.Geometry>
      Parameters:
      wkt - the Well Known Text to parse.
      Returns:
      the geometry object for the given WKT.
      See Also:
    • parseWKB

      public GeometryWrapper<com.esri.core.geometry.Geometry> parseWKB(ByteBuffer data)
      Reads the given Well Known Binary (WKB).
      Specified by:
      parseWKB in class Geometries<com.esri.core.geometry.Geometry>
      Parameters:
      data - the sequence of bytes to parse.
      Returns:
      the geometry object for the given WKB.