Package org.h2gis.functions.io.shp.internal

# 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 Summary

Fields
Modifier and Type
Field
Description
`static final ShapeType`
`ARC`
Represents an Arc shape (id = 3).
`static final ShapeType`
`ARCM`
Represents an ArcM shape (id = 23).
`static final ShapeType`
`ARCZ`
Represents an ArcZ shape (id = 13).
`final int`
`id`
The integer id of this ShapeType.
`static final ShapeType`
`MULTIPOINT`
Represents a MultiPoint shape (id = 8).
`static final ShapeType`
`MULTIPOINTM`
Represents a MultiPointZ shape (id = 28).
`static final ShapeType`
`MULTIPOINTZ`
Represents a MultiPointZ shape (id = 18).
`final String`
`name`
The human-readable name for this ShapeType.
Could easily use ResourceBundle for internationialization.
`static final ShapeType`
`NULL`
Represents a Null shape (id = 0).
`static final ShapeType`
`POINT`
Represents a Point shape (id = 1).
`static final ShapeType`
`POINTM`
Represents a PointM shape (id = 21).
`static final ShapeType`
`POINTZ`
Represents a PointZ shape (id = 11).
`static final ShapeType`
`POLYGON`
Represents a Polygon shape (id = 5).
`static final ShapeType`
`POLYGONM`
Represents a PolygonM shape (id = 25).
`static final ShapeType`
`POLYGONZ`
Represents a PolygonZ shape (id = 15).
`static final ShapeType`
`UNDEFINED`
Represents an Undefined shape (id = -1).

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`ShapeType(int id, String name)`
Creates a new instance of ShapeType.

## Method Summary

Modifier and Type
Method
Description
`static ShapeType`
`forID(int id)`
Determine the ShapeType for the id.
`ShapeHandler`
`getShapeHandler()`
Each ShapeType corresponds to a handler.
`boolean`
`isLineType()`
`boolean`
`isMultiPoint()`
Is this a multipoint shape?
`boolean`
`isMultiPointType()`
`boolean`
`isPointType()`
`boolean`
`isPolygonType()`
`String`
`toString()`
Get the name of this ShapeType.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## 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.