 geos | Basic namespace for all GEOS functionalities |
  algorithm | Contains classes and interfaces implementing fundamental computational geometry algorithms |
   distance | |
    DiscreteHausdorffDistance | An algorithm for computing a distance metric which is an approximation to the Hausdorff Distance based on a discretization of the input Geometry |
    DistanceToPoint | |
    PointPairDistance | |
   locate | Classes which determine the Location of points in geometries |
    IndexedPointInAreaLocator | Determines the location of Coordinates relative to a Polygon or MultiPolygon geometry, using indexing for efficiency |
    PointOnGeometryLocator | An interface for classes which determine the Location of points in Polygon or MultiPolygon geometries |
    SimplePointInAreaLocator | Computes the location of points relative to an areal Geometry, using a simple O(n) algorithm |
   Angle | Utility functions for working with angles |
   BoundaryNodeRule | |
   CentralEndpointIntersector | Computes an approximate intersection of two line segments by taking the most central of the endpoints of the segments |
   Centroid | |
   CentroidArea | Computes the centroid of an area geometry |
   CentroidLine | |
   CentroidPoint | |
   CGAlgorithms | Specifies and implements various fundamental Computational Geometric algorithms. The algorithms supplied in this class are robust for double-precision floating point |
   ConvexHull | |
   HCoordinate | Represents a homogeneous coordinate in a 2-D coordinate space |
   InteriorPointArea | Computes a point in the interior of an areal geometry |
   InteriorPointLine | Computes a point in the interior of an linear geometry |
   InteriorPointPoint | Computes a point in the interior of an point geometry |
   LineIntersector | A LineIntersector is an algorithm that can both test whether two line segments intersect and compute the intersection point if they do |
   MinimumDiameter | Computes the minimum diameter of a geom::Geometry |
   NotRepresentableException | Indicates that a HCoordinate has been computed which is not representable on the Cartesian plane |
   PointLocator | Computes the topological relationship (Location) of a single point to a Geometry |
   RayCrossingCounter | Counts the number of segments crossed by a horizontal ray extending to the right from a given point, in an incremental fashion |
   RobustDeterminant | Implements an algorithm to compute the sign of a 2x2 determinant for double precision values robustly |
  geom | Contains the Geometry interface hierarchy and supporting classes |
   prep | |
    AbstractPreparedPolygonContains | A base class containing the logic for computes the contains and covers spatial relationship predicates for a PreparedPolygon relative to all other Geometry classes |
    BasicPreparedGeometry | A base class for PreparedGeometry subclasses |
    PreparedGeometry | An interface for classes which prepare Geometrys in order to optimize the performance of repeated calls to specific geometric operations |
    PreparedGeometryFactory | A factory for creating PreparedGeometrys |
    PreparedLineString | A prepared version of LinearRing, LineString or MultiLineString geometries |
    PreparedLineStringIntersects | Computes the intersects spatial relationship predicate for a target PreparedLineString relative to all other Geometry classes |
    PreparedPoint | A prepared version of Point or MultiPoint geometries |
    PreparedPolygon | A prepared version of Polygon or MultiPolygon geometries |
    PreparedPolygonContains | Computes the contains spatial relationship predicate for a PreparedPolygon relative to all other Geometry classes |
    PreparedPolygonContainsProperly | Computes the containsProperly spatial relationship predicate for PreparedPolygons relative to all other Geometry classes |
    PreparedPolygonCovers | Computes the covers spatial relationship predicate for a PreparedPolygon relative to all other Geometry classes |
    PreparedPolygonIntersects | Computes the intersects spatial relationship predicate for PreparedPolygons relative to all other Geometry classes |
    PreparedPolygonPredicate | A base class for predicate operations on PreparedPolygons |
   util | Provides classes that parse and modify Geometry objects |
    ComponentCoordinateExtracter | Extracts a single representative Coordinate from each connected component of a Geometry |
    CoordinateOperation | |
    GeometryCombiner | |
    GeometryEditor | |
    GeometryEditorOperation | |
    GeometryExtracter | |
    GeometryTransformer | A framework for processes which transform an input Geometry into an output Geometry, possibly changing its structure and type(s) |
    LinearComponentExtracter | |
    PointExtracter | |
    PolygonExtracter | |
    ShortCircuitedGeometryVisitor | A visitor to Geometry elements which can be short-circuited by a given condition |
    SineStarFactory | |
   Coordinate | Coordinate is the lightweight class used to store coordinates |
   CoordinateLessThen | Strict weak ordering Functor for Coordinate |
   CoordinateArraySequence | The default implementation of CoordinateSequence |
   CoordinateArraySequenceFactory | Creates CoordinateSequences internally represented as an array of Coordinates |
   CoordinateFilter | |
   CoordinateList | A list of Coordinates, which may be set to prevent repeated coordinates from occuring in the list |
   CoordinateSequence | The internal representation of a list of coordinates inside a Geometry |
   CoordinateSequenceFactory | A factory to create concrete instances of CoordinateSequences |
   CoordinateSequenceFilter | |
   Dimension | Constants representing the dimensions of a point, a curve and a surface |
   Envelope | An Envelope defines a rectangulare region of the 2D coordinate plane |
   Geometry | Basic implementation of Geometry, constructed and destructed by GeometryFactory |
   GeometryCollection | Represents a collection of heterogeneous Geometry objects |
   GeometryComponentFilter | |
   GeometryFactory | Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geometry objects |
   GeometryFilter | Geometry classes support the concept of applying a Geometry filter to the Geometry |
   GeometryList | Manager of Geometry pointers. Owns the Geometries |
   IntersectionMatrix | Implementation of Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix |
   Lineal | |
   LinearRing | Models an OGC SFS LinearRing |
   LineSegment | |
   LineString | |
   Location | Constants representing the location of a point relative to a geometry |
   MultiLineString | Models a collection of (}s |
   MultiPoint | |
   MultiPolygon | Models a collection of Polygons |
   Point | |
   Polygon | Represents a linear polygon, which may include holes |
   Polygonal | |
   PrecisionModel | Specifies the precision model of the Coordinate in a Geometry |
   Puntal | |
   Triangle | Represents a planar triangle, and provides methods for calculating various properties of triangles |
   TrianglePredicate | |
  geomgraph | Contains classes that implement topology graphs |
   index | |
    MonotoneChain | |
    SimpleMCSweepLineIntersector | Finds all intersections in one or two sets of edges, using an x-axis sweepline algorithm in conjunction with Monotone Chains |
    SimpleSweepLineIntersector | Finds all intersections in one or two sets of edges, using a simple x-axis sweepline algorithm |
   DirectedEdge | A directed EdgeEnd |
   DirectedEdgeStar | A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node |
   Edge | |
   EdgeEnd | Models the end of an edge incident on a node |
   EdgeEndStar | A EdgeEndStar is an ordered list of EdgeEnds around a node |
   EdgeIntersection | |
   EdgeIntersectionList | |
   EdgeList | |
   EdgeNodingValidator | Validates that a collection of SegmentStrings is correctly noded |
   EdgeRing | |
   GeometryGraph | |
   GraphComponent | A GraphComponent is the parent class for the objects' that form a graph |
   Label | A Label indicates the topological relationship of a component of a topology graph to a given Geometry . This class supports labels for relationships to two Geometry s, which is sufficient for algorithms for binary operations |
   Node | |
   PlanarGraph | Represents a directed graph which is embeddable in a planar surface |
   Quadrant | |
   TopologyLocation | A TopologyLocation is the labelling of a GraphComponent's topological relationship to a single Geometry |
  index | Provides classes for various kinds of spatial indexes |
   bintree | Contains classes that implement a Binary Interval Tree index |
    Bintree | An BinTree (or "Binary Interval Tree") is a 1-dimensional version of a quadtree |
    Interval | Represents an (1-dimensional) closed interval on the Real number line |
    Key | A Key is a unique identifier for a node in a tree |
    Node | A node of a Bintree |
    NodeBase | The base class for nodes in a Bintree |
    Root | The root node of a single Bintree |
   chain | Contains classes that implement Monotone Chains |
    MonotoneChain | Monotone Chains are a way of partitioning the segments of a linestring to allow for fast searching of intersections |
    MonotoneChainBuilder | Constructs MonotoneChains for sequences of Coordinates |
    MonotoneChainOverlapAction | |
    MonotoneChainSelectAction | |
   intervalrtree | |
    SortedPackedIntervalRTree | A static index on a set of 1-dimensional intervals, using an R-Tree packed based on the order of the interval midpoints |
   quadtree | Contains classes that implement a Quadtree spatial index |
    DoubleBits | DoubleBits manipulates Double numbers by using bit manipulation and bit-field extraction |
    IntervalSize | Provides a test for whether an interval is so small it should be considered as zero for the purposes of inserting it into a binary tree |
    Key | A Key is a unique identifier for a node in a quadtree |
    Node | Represents a node of a Quadtree |
    NodeBase | The base class for nodes in a Quadtree |
    Quadtree | A Quadtree is a spatial index structure for efficient querying of 2D rectangles. If other kinds of spatial objects need to be indexed they can be represented by their envelopes |
    Root | QuadRoot is the root of a single Quadtree. It is centred at the origin, and does not have a defined extent |
   strtree | Contains 2-D and 1-D versions of the Sort-Tile-Recursive (STR) tree, a query-only R-tree |
    AbstractNode | A node of the STR tree |
    AbstractSTRtree | Base class for STRtree and SIRtree |
     IntersectsOp | A test for intersection between two bounds, necessary because subclasses of AbstractSTRtree have different implementations of bounds |
    Boundable | A spatial object in an AbstractSTRtree |
    Interval | A contiguous portion of 1D-space. Used internally by SIRtree |
    ItemBoundable | Boundable wrapper for a non-Boundable spatial object. Used internally by AbstractSTRtree |
    SIRtree | One-dimensional version of an STR-packed R-tree |
    STRtree | A query-only R-tree created using the Sort-Tile-Recursive (STR) algorithm. For two-dimensional spatial data |
   sweepline | Contains classes which implement a sweepline algorithm for scanning geometric data structures |
    SweepLineIndex | A sweepline implements a sorted index on a set of intervals |
   ItemVisitor | A visitor for items in an index |
   SpatialIndex | Abstract class defines basic insertion and query operations supported by classes implementing spatial index algorithms |
  io | Contains the interfaces for converting JTS objects to and from other formats |
   WKBConstants | Constant values used by the WKB format |
   ParseException | Notifies a parsing error |
   WKBReader | Reads a Geometry from Well-Known Binary format |
   WKBWriter | Writes a Geometry into Well-Known Binary format |
   WKTReader | WKT parser class; see also WKTWriter |
   WKTWriter | Outputs the textual representation of a Geometry. See also WKTReader |
  linearref | |
   ExtractLineByLocation | |
   LengthIndexedLine | Supports linear referencing along a linear Geometry using the length along the line as the index. Negative length values are taken as measured in the reverse direction from the end of the geometry. Out-of-range index values are handled by clamping them to the valid range of values. Non-simple lines (i.e. which loop back to cross or touch themselves) are supported |
   LengthIndexOfPoint | Computes the length index of the point on a linear Geometry nearest a given Coordinate |
   LengthLocationMap | |
   LinearGeometryBuilder | |
   LinearIterator | An iterator over the components and coordinates of a linear geometry (LineString or MultiLineString) |
   LinearLocation | Represents a location along a LineString or MultiLineString |
   LocationIndexedLine | Supports linear referencing along a linear Geometry using LinearLocations as the index |
   LocationIndexOfLine | |
   LocationIndexOfPoint | |
  noding | Classes to compute nodings for arrangements of line segments and line segment sequences |
   snapround | Contains classes to implement the Snap Rounding algorithm for noding linestrings |
    HotPixel | Implements a "hot pixel" as used in the Snap Rounding algorithm |
    MCIndexPointSnapper | "Snaps" all SegmentStrings in a SpatialIndex containing MonotoneChains to a given HotPixel |
    MCIndexSnapRounder | Uses Snap Rounding to compute a rounded, fully noded arrangement from a set of SegmentString |
    SimpleSnapRounder | Uses Snap Rounding to compute a rounded, fully noded arrangement from a set of SegmentStrings |
   BasicSegmentString | |
   FastNodingValidator | Validates that a collection of SegmentStrings is correctly noded |
   FastSegmentSetIntersectionFinder | Finds if two sets of SegmentStringss intersect |
   IntersectionAdder | |
   IntersectionFinderAdder | Finds proper and interior intersections in a set of SegmentStrings, and adds them as nodes |
   IteratedNoder | Nodes a set of SegmentStrings completely |
   MCIndexNoder | Nodes a set of SegmentString using a index based on index::chain::MonotoneChain and a index::SpatialIndex |
   MCIndexSegmentSetMutualIntersector | Intersects two sets of SegmentStrings using a index based on MonotoneChains and a SpatialIndex |
   NodableSegmentString | An interface for classes which support adding nodes to a segment string |
   NodedSegmentString | Represents a list of contiguous line segments, and supports noding the segments |
   Noder | Computes all intersections between segments in a set of SegmentString |
   NodingValidator | |
   Octant | Methods for computing and working with octants of the Cartesian plane |
   OrientedCoordinateArray | Allows comparing geom::CoordinateSequences in an orientation-independent way |
   ScaledNoder | Wraps a Noder and transforms its input into the integer domain |
   SegmentIntersectionDetector | Detects and records an intersection between two SegmentStrings, if one exists |
   SegmentIntersector | Processes possible intersections detected by a Noder |
   SegmentNode | Represents an intersection point between two NodedSegmentString |
   SegmentNodeList | A list of the SegmentNode present along a NodedSegmentString |
   SegmentPointComparator | |
   SegmentSetMutualIntersector | An intersector for the red-blue intersection problem |
   SegmentString | An interface for classes which represent a sequence of contiguous line segments |
   SegmentStringUtil | Utility methods for processing SegmentStrings |
   SimpleNoder | Nodes a set of SegmentStrings by performing a brute-force comparison of every segment to every other one |
   SingleInteriorIntersectionFinder | Finds an interior intersection in a set of SegmentString, if one exists. Only the first intersection found is reported |
   SinglePassNoder | |
  operation | Provides classes for implementing operations on geometries |
   buffer | Provides classes for computing buffers of geometries |
    BufferBuilder | Builds the buffer geometry for a given input geometry and precision model |
    BufferInputLineSimplifier | Simplifies a buffer input line to remove concavities with shallow depth |
    BufferOp | Computes the buffer of a geometry, for both positive and negative buffer distances |
    BufferParameters | Contains the parameters which describe how a buffer should be constructed |
    BufferSubgraph | A connected subset of the graph of DirectedEdge and geomgraph::Node |
    OffsetCurveBuilder | Computes the raw offset curve for a single Geometry component (ring, line or point) |
    OffsetCurveSetBuilder | Creates all the raw offset curves for a buffer of a Geometry |
    OffsetSegmentGenerator | |
    OffsetSegmentString | A dynamic list of the vertices in a constructed offset curve |
    RightmostEdgeFinder | A RightmostEdgeFinder find the geomgraph::DirectedEdge in a list which has the highest coordinate, and which is oriented L to R at that point. (I.e. the right side is on the RHS of the edge.) |
    SubgraphDepthLocater | Locates a subgraph inside a set of subgraphs, in order to determine the outside depth of the subgraph |
   distance | Provides classes for computing the distance between geometries |
    ConnectedElementLocationFilter | A ConnectedElementPointFilter extracts a single point from each connected element in a Geometry (e.g. a polygon, linestring or point) and returns them in a list. The elements of the list are DistanceOp::GeometryLocation |
    ConnectedElementPointFilter | Extracts a single point from each connected element in a Geometry (e.g. a polygon, linestring or point) and returns them in a list |
    DistanceOp | Find two points on two Geometrys which lie within a given distance, or else are the nearest points on the geometries (in which case this also provides the distance between the geometries) |
    GeometryLocation | Represents the location of a point on a Geometry |
   geounion | |
    CascadedPolygonUnion | Provides an efficient method of unioning a collection of Polygonal geometries. This algorithm is faster and likely more robust than the simple iterated approach of repeatedly unioning each polygon to a result geometry |
    CascadedUnion | Provides an efficient method of unioning a collection of Geometries |
    GeometryListHolder | Helper class holding Geometries, part of which are held by reference others are held exclusively |
    PointGeometryUnion | Computes the union of a Puntal geometry with another arbitrary Geometry |
    UnaryUnionOp | |
   linemerge | Line merging package |
    EdgeString | A sequence of LineMergeDirectedEdge forming one of the lines that will be output by the line-merging process |
    LineMergeDirectedEdge | A planargraph::DirectedEdge of a LineMergeGraph |
    LineMergeEdge | An edge of a LineMergeGraph. The marked field indicates whether this Edge has been logically deleted from the graph |
    LineMergeGraph | A planar graph of edges that is analyzed to sew the edges together |
    LineMerger | Sews together a set of fully noded LineStrings |
    LineSequencer | Builds a sequence from a set of LineStrings so that they are ordered end to end |
   overlay | Contains classes that perform a topological overlay to compute boolean spatial functions |
    snap | |
     GeometrySnapper | Snaps the vertices and segments of a Geometry to another Geometry's vertices |
     LineStringSnapper | Snaps the vertices and segments of a LineString to a set of target snap vertices |
     SnapIfNeededOverlayOp | Performs an overlay operation using snapping and enhanced precision to improve the robustness of the result |
     SnapOverlayOp | Performs an overlay operation using snapping and enhanced precision to improve the robustness of the result |
    validate | |
     FuzzyPointLocator | Finds the most likely Location of a point relative to the polygonal components of a geometry, using a tolerance value |
     OffsetPointGenerator | Generates points offset from both sides of all segments in a geometry |
     OverlayResultValidator | Validates that the result of an overlay operation is geometrically correct within a determined tolerance |
    EdgeSetNoder | Nodes a set of edges |
    LineBuilder | Forms JTS LineStrings out of a the graph of geomgraph::DirectedEdge created by an OverlayOp |
    MaximalEdgeRing | A ring of edges which may contain nodes of degree > 2 |
    MinimalEdgeRing | A ring of Edges with the property that no node has degree greater than 2 |
    OverlayNodeFactory | Creates nodes for use in the geomgraph::PlanarGraph constructed during overlay operations. NOTE: also used by operation::valid |
    OverlayOp | Computes the geometric overlay of two Geometry |
    overlayOp | OverlayOp::overlayOp Adapter for use with geom::BinaryOp |
    PointBuilder | Constructs geom::Point s from the nodes of an overlay graph |
    PolygonBuilder | Forms Polygon out of a graph of geomgraph::DirectedEdge |
   polygonize | |
    EdgeRing | Represents a ring of PolygonizeDirectedEdge which form a ring of a polygon. The ring may be either an outer shell or a hole |
    PolygonizeDirectedEdge | A DirectedEdge of a PolygonizeGraph, which represents an edge of a polygon formed by the graph |
    PolygonizeGraph | Represents a planar graph of edges that can be used to compute a polygonization, and implements the algorithms to compute the EdgeRings formed by the graph |
    Polygonizer | Polygonizes a set of Geometrys which contain linework that represents the edges of a planar graph |
   predicate | |
    RectangleContains | Optimized implementation of spatial predicate "contains" for cases where the first Geometry is a rectangle |
    RectangleIntersects | Optimized implementation of the "intersects" spatial predicate for cases where one Geometry is a rectangle |
    SegmentIntersectionTester | Tests if any line segments in two sets of CoordinateSequences intersect |
   relate | Contains classes to implement the computation of the spatial relationships of Geometry s |
    EdgeEndBuilder | Computes the geomgraph::EdgeEnd objects which arise from a noded geomgraph::Edge |
    EdgeEndBundle | A collection of geomgraph::EdgeEnd objects which originate at the same point and have the same direction |
    EdgeEndBundleStar | An ordered list of EdgeEndBundle objects around a RelateNode |
    RelateComputer | Computes the topological relationship between two Geometries |
    RelateNode | Represents a node in the topological graph used to compute spatial relationships |
    RelateNodeFactory | Used by the geomgraph::NodeMap in a RelateNodeGraph to create RelateNode objects |
    RelateNodeGraph | Implements the simple graph of Nodes and geomgraph::EdgeEnd which is all that is required to determine topological relationships between Geometries |
    RelateOp | Implements the SFS relate() operation on two geom::Geometry objects |
   sharedpaths | |
    SharedPathsOp | Find shared paths among two linear Geometry objects |
   valid | Provides classes for testing the validity of geometries |
    IndexedNestedRingTester | Tests whether any of a set of LinearRings are nested inside another ring in the set, using a spatial index to speed up the comparisons |
    ConnectedInteriorTester | This class tests that the interior of an area Geometry (Polygon or MultiPolygon) is connected |
    ConsistentAreaTester | Checks that a geomgraph::GeometryGraph representing an area (a Polygon or MultiPolygon ) is consistent with the OGC-SFS semantics for area geometries |
    IsValidOp | Implements the algorithsm required to compute the isValid() method for Geometrys |
    QuadtreeNestedRingTester | Tests whether any of a set of LinearRings are nested inside another ring in the set, using a Quadtree index to speed up the comparisons |
    RepeatedPointTester | Implements the appropriate checks for repeated points (consecutive identical coordinates) as defined in the JTS spec |
    SimpleNestedRingTester | Tests whether any of a set of LinearRings are nested inside another ring in the set, using a simple O(n^2) comparison |
    SweeplineNestedRingTester | Tests whether any of a set of LinearRings are nested inside another ring in the set, using an index::sweepline::SweepLineIndex to speed up the comparisons |
    TopologyValidationError | Contains information about the nature and location of a Geometry validation error |
   GeometryGraphOperation | The base class for operations that require GeometryGraph |
   IsSimpleOp | Tests whether a Geometry is simple |
  planargraph | Contains classes to implement a planar graph data structure |
   algorithm | Planargraph algorithms |
    ConnectedSubgraphFinder | Finds all connected Subgraphs of a PlanarGraph |
   DirectedEdge | Represents a directed edge in a PlanarGraph |
   DirectedEdgeStar | A sorted collection of DirectedEdge which leave a Node in a PlanarGraph |
   Edge | Represents an undirected edge of a PlanarGraph |
   GraphComponent | The base class for all graph component classes |
   Node | A node in a PlanarGraph is a location where 0 or more Edge meet |
   NodeMap | A map of Node, indexed by the coordinate of the node |
   PlanarGraph | Represents a directed graph which is embeddable in a planar surface |
   Subgraph | A subgraph of a PlanarGraph |
  precision | Provides classes for manipulating the precision model of Geometries |
   CommonBits | Determines the maximum number of common most-significant bits in the mantissa of one or numbers |
   CommonBitsOp | Provides versions of Geometry spatial functions which use common bit removal to reduce the likelihood of robustness problems |
   CommonBitsRemover | Allow computing and removing common mantissa bits from one or more Geometries |
   EnhancedPrecisionOp | Provides versions of Geometry spatial functions which use enhanced precision techniques to reduce the likelihood of robustness problems |
   GeometryPrecisionReducer | Reduces the precision of a Geometry according to the supplied PrecisionModel, ensuring that the result is topologically valid |
   SimpleGeometryPrecisionReducer | Reduces the precision of a Geometry according to the supplied PrecisionModel, without attempting to preserve valid topology |
  simplify | |
   DouglasPeuckerLineSimplifier | Simplifies a linestring (sequence of points) using the standard Douglas-Peucker algorithm |
   DouglasPeuckerSimplifier | Simplifies a Geometry using the standard Douglas-Peucker algorithm |
   TaggedLineSegment | A geom::LineSegment which is tagged with its location in a geom::Geometry |
   TaggedLinesSimplifier | Simplifies a collection of TaggedLineStrings, preserving topology (in the sense that no new intersections are introduced) |
   TaggedLineString | Contains and owns a list of TaggedLineSegments |
   TaggedLineStringSimplifier | Simplifies a TaggedLineString, preserving topology (in the sense that no new intersections are introduced). Uses the recursive Douglas-Peucker algorithm |
   TopologyPreservingSimplifier | Simplifies a geometry, ensuring that the result is a valid geometry having the same dimension and number of components as the input |
  triangulate | |
   quadedge | |
    LastFoundQuadEdgeLocator | |
    QuadEdge | |
    QuadEdgeLocator | |
    QuadEdgeSubdivision | |
    TriangleVisitor | |
    Vertex | |
   DelaunayTriangulationBuilder | |
   IncrementalDelaunayTriangulator | |
  util | |
   AssertionFailedException | Indicates a bug in GEOS code |
   CoordinateArrayFilter | |
   GeometricShapeFactory | |
   GEOSException | Base class for all GEOS exceptions |
   IllegalArgumentException | Indicates one or more legal arguments |
   IllegalStateException | Indicates an illegal state |
   Interrupt | |
   TopologyException | Indicates an invalid or inconsistent topological situation encountered during processing |
   UnsupportedOperationException | Indicates that the requested operation is unsopported |