Package io.debezium.spatial
Class GeometryTraverser
java.lang.Object
io.debezium.spatial.GeometryTraverser
A traversal algorithm that uses the visitor pattern,
GeometryVisitor, to perform
operations over an input byte buffer that represents a WKB or EWKB byte array.- Author:
- Chris Cranford
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classHelper class that changes theByteOrderof aByteBufferif the new order differs, restoring the order after the scope closes automatically. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidtraverse(ByteBuffer buffer, GeometryVisitor visitor) For a given byte buffer that contains a WKB/EWKB, applies the visitor to traverse the geometry.private static voidtraverseGeometryCollection(ByteBuffer buffer, GeometryVisitor visitor) private static voidtraverseLineString(ByteBuffer buffer, GeometryVisitor visitor, int stride) private static voidtraverseMultiLineString(ByteBuffer buffer, GeometryVisitor visitor, int stride) private static voidtraverseMultiPoint(ByteBuffer buffer, GeometryVisitor visitor, int stride) private static voidtraverseMultiPolygon(ByteBuffer buffer, GeometryVisitor visitor, int stride) private static voidtraversePoint(ByteBuffer buffer, GeometryVisitor visitor, int stride) private static voidtraversePolygon(ByteBuffer buffer, GeometryVisitor visitor, int stride)
-
Constructor Details
-
GeometryTraverser
GeometryTraverser()
-
-
Method Details
-
traverse
For a given byte buffer that contains a WKB/EWKB, applies the visitor to traverse the geometry.- Parameters:
buffer- the geometry byte buffer, should not benullvisitor- the visit to apply, should not benull
-
traversePoint
-
traverseLineString
-
traversePolygon
-
traverseMultiPoint
-
traverseMultiLineString
-
traverseMultiPolygon
-
traverseGeometryCollection
-