Class MultiLineHandler

java.lang.Object
org.h2gis.functions.io.shp.internal.MultiLineHandler
All Implemented Interfaces:
ShapeHandler

public class MultiLineHandler extends Object implements ShapeHandler
The default JTS handler for shapefile. Currently uses the default JTS GeometryFactory, since it doesn't seem to matter.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a MultiLineHandler for ShapeType.ARC
    Create a MultiLineHandler for one of:
    ShapeType.ARC,ShapeType.ARCM,ShapeType.ARCZ
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    getLength(org.locationtech.jts.geom.Geometry geometry)
    Get the length of the given geometry Object in bytes not 16-bit words.
    Get the type of shape stored (ShapeType.ARC,ShapeType.ARCM,ShapeType.ARCZ)
    org.locationtech.jts.geom.Geometry
    Read a geometry from the ByteBuffer.The buffer's position, byteOrder, and limit are set to that which is needed.
    void
    write(WriteBufferManager buffer, org.locationtech.jts.geom.Geometry geometry)
    Write the geometry into the ByteBuffer.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MultiLineHandler

      public MultiLineHandler()
      Create a MultiLineHandler for ShapeType.ARC
    • MultiLineHandler

      public MultiLineHandler(ShapeType type) throws ShapefileException
      Create a MultiLineHandler for one of:
      ShapeType.ARC,ShapeType.ARCM,ShapeType.ARCZ
      Parameters:
      type - The ShapeType to use.
      Throws:
      ShapefileException - If the ShapeType is not correct (see constructor).
  • Method Details

    • getShapeType

      public ShapeType getShapeType()
      Get the type of shape stored (ShapeType.ARC,ShapeType.ARCM,ShapeType.ARCZ)
      Specified by:
      getShapeType in interface ShapeHandler
      Returns:
      The ShapeType.
    • getLength

      public int getLength(org.locationtech.jts.geom.Geometry geometry)
      Description copied from interface: ShapeHandler
      Get the length of the given geometry Object in bytes not 16-bit words. This is easier to keep track of, since the ByteBuffer deals with bytes. Do not include the 8 bytes of record.
      Specified by:
      getLength in interface ShapeHandler
      Parameters:
      geometry - The geometry to analyze.
      Returns:
      The number of bytes the shape will take up.
    • read

      public org.locationtech.jts.geom.Geometry read(ReadBufferManager buffer, ShapeType type) throws IOException
      Description copied from interface: ShapeHandler
      Read a geometry from the ByteBuffer.The buffer's position, byteOrder, and limit are set to that which is needed. The record has been read as well as the shape type integer. The handler need not worry about reading unused information as the ShapefileReader will correctly adjust the buffer position after this call.
      Specified by:
      read in interface ShapeHandler
      Parameters:
      buffer - The ByteBuffer to read from.
      type - The shape type
      Returns:
      A geometry object.
      Throws:
      IOException
    • write

      public void write(WriteBufferManager buffer, org.locationtech.jts.geom.Geometry geometry) throws IOException
      Description copied from interface: ShapeHandler
      Write the geometry into the ByteBuffer. The position, byteOrder, and limit are all set. The handler is not responsible for writing the record or shape type integer.
      Specified by:
      write in interface ShapeHandler
      Parameters:
      buffer - The ByteBuffer to write to.
      geometry - The geometry to write.
      Throws:
      IOException