Class ShapeType

java.lang.Object
org.h2gis.functions.io.shp.internal.ShapeType

public final class ShapeType extends Object
Not much but a type safe enumeration of file types as ints and names. The descriptions can easily be tied to a ResourceBundle if someone wants to do that.
Author:
Ian Schneider
  • Field Details

    • NULL

      public static final ShapeType NULL
      Represents a Null shape (id = 0).
    • POINT

      public static final ShapeType POINT
      Represents a Point shape (id = 1).
    • POINTZ

      public static final ShapeType POINTZ
      Represents a PointZ shape (id = 11).
    • POINTM

      public static final ShapeType POINTM
      Represents a PointM shape (id = 21).
    • ARC

      public static final ShapeType ARC
      Represents an Arc shape (id = 3).
    • ARCZ

      public static final ShapeType ARCZ
      Represents an ArcZ shape (id = 13).
    • ARCM

      public static final ShapeType ARCM
      Represents an ArcM shape (id = 23).
    • POLYGON

      public static final ShapeType POLYGON
      Represents a Polygon shape (id = 5).
    • POLYGONZ

      public static final ShapeType POLYGONZ
      Represents a PolygonZ shape (id = 15).
    • POLYGONM

      public static final ShapeType POLYGONM
      Represents a PolygonM shape (id = 25).
    • MULTIPOINT

      public static final ShapeType MULTIPOINT
      Represents a MultiPoint shape (id = 8).
    • MULTIPOINTZ

      public static final ShapeType MULTIPOINTZ
      Represents a MultiPointZ shape (id = 18).
    • MULTIPOINTM

      public static final ShapeType MULTIPOINTM
      Represents a MultiPointZ shape (id = 28).
    • UNDEFINED

      public static final ShapeType UNDEFINED
      Represents an Undefined shape (id = -1).
    • id

      public final int id
      The integer id of this ShapeType.
    • name

      public final String name
      The human-readable name for this ShapeType.
      Could easily use ResourceBundle for internationialization.
  • Constructor Details

    • ShapeType

      protected ShapeType(int id, String name)
      Creates a new instance of ShapeType. Hidden on purpose.
      Parameters:
      id - The id.
      name - The name.
  • Method Details

    • toString

      public String toString()
      Get the name of this ShapeType.
      Overrides:
      toString in class Object
      Returns:
      The name.
    • isMultiPoint

      public boolean isMultiPoint()
      Is this a multipoint shape? Hint- all shapes are multipoint except NULL, UNDEFINED, and the POINTs.
      Returns:
      true if multipoint, false otherwise.
    • isPointType

      public boolean isPointType()
    • isLineType

      public boolean isLineType()
    • isPolygonType

      public boolean isPolygonType()
    • isMultiPointType

      public boolean isMultiPointType()
    • forID

      public static ShapeType forID(int id)
      Determine the ShapeType for the id.
      Parameters:
      id - The id to search for.
      Returns:
      The ShapeType for the id.
    • getShapeHandler

      public ShapeHandler getShapeHandler() throws ShapefileException
      Each ShapeType corresponds to a handler. In the future this should probably go else where to allow different handlers, or something...
      Returns:
      The correct handler for this ShapeType. Returns a new one.
      Throws:
      ShapefileException - If the ShapeType is bogus.