public PolygonPath<Polygon> asPolygon() { if (polygon == null) { polygon = new PolygonPath<Polygon>(pathMixin.getMetadata()); } return polygon; }
add(expressions, polygon.asBinary(), H2); add(expressions, polygon.asText()); add(expressions, polygon.boundary(), MYSQL); add(expressions, polygon.convexHull(), MYSQL); add(expressions, polygon.dimension()); add(expressions, polygon.envelope(), H2); add(expressions, polygon.geometryType(), H2); add(expressions, polygon.isEmpty()); add(expressions, polygon.isSimple()); add(expressions, polygon.area()); add(expressions, polygon.centroid()); add(expressions, polygon.pointOnSurface(), H2, MYSQL); add(expressions, polygon.exteriorRing(), H2); add(expressions, polygon.numInteriorRing(), H2); add(expressions, polygon.interiorRingN(1), H2);
@Test public void convert() { GeometryPath<Geometry> geometry = new GeometryPath<Geometry>("geometry"); assertEquals(new GeometryCollectionPath<GeometryCollection>("geometry"), geometry.asCollection()); assertEquals(new LinearRingPath<LinearRing>("geometry"), geometry.asLinearRing()); assertEquals(new LineStringPath<LineString>("geometry"), geometry.asLineString()); assertEquals(new MultiLineStringPath<MultiLineString>("geometry"), geometry.asMultiLineString()); assertEquals(new MultiPointPath<MultiPoint>("geometry"), geometry.asMultiPoint()); assertEquals(new MultiPolygonPath<MultiPolygon>("geometry"), geometry.asMultiPolygon()); assertEquals(new PointPath<Point>("geometry"), geometry.asPoint()); assertEquals(new PolygonPath<Polygon>("geometry"), geometry.asPolygon()); assertEquals(new PolyhedralSurfacePath<PolyHedralSurface>("geometry"), geometry.asPolyHedralSurface()); } }
@Override public <A extends Polygon> PolygonPath<A> createPolygon(String property, Class<? extends A> type) { return add(new PolygonPath<A>(type, forProperty(property))); }
@Test public void convert() { GeometryPath<Geometry> geometry = new GeometryPath<Geometry>("geometry"); assertEquals(new GeometryCollectionPath<GeometryCollection>("geometry"), geometry.asCollection()); assertEquals(new LinearRingPath<LinearRing>("geometry"), geometry.asLinearRing()); assertEquals(new LineStringPath<LineString>("geometry"), geometry.asLineString()); assertEquals(new MultiLineStringPath<MultiLineString>("geometry"), geometry.asMultiLineString()); assertEquals(new MultiPointPath<MultiPoint>("geometry"), geometry.asMultiPoint()); assertEquals(new MultiPolygonPath<MultiPolygon>("geometry"), geometry.asMultiPolygon()); assertEquals(new PointPath<Point>("geometry"), geometry.asPoint()); assertEquals(new PolygonPath<Polygon>("geometry"), geometry.asPolygon()); assertEquals(new PolyhedralSurfacePath<PolyHedralSurface>("geometry"), geometry.asPolyHedralSurface()); } }