public MultiLineStringPath<MultiLineString> asMultiLineString() { if (multiLineString == null) { multiLineString = new MultiLineStringPath<MultiLineString>(pathMixin.getMetadata()); } return multiLineString; }
@Test public void multiLineString_methods() { MultiLineStringPath<MultiLineString> multilinestring = shapes.geometry.asMultiLineString(); List<Expression<?>> expressions = Lists.newArrayList(); add(expressions, multilinestring.asBinary(), H2); add(expressions, multilinestring.asText()); add(expressions, multilinestring.boundary(), MYSQL); add(expressions, multilinestring.convexHull(), MYSQL); add(expressions, multilinestring.dimension()); add(expressions, multilinestring.envelope(), H2); add(expressions, multilinestring.geometryType(), H2); add(expressions, multilinestring.isEmpty()); add(expressions, multilinestring.isSimple()); // multicurve specific add(expressions, multilinestring.isClosed(), H2); add(expressions, multilinestring.length(), H2); // multilinestring specific add(expressions, multilinestring.numGeometries(), H2); add(expressions, multilinestring.geometryN(1), H2); for (Expression<?> expr : expressions) { boolean logged = false; for (Object row : withMultiLineStrings().select(expr).fetch()) { if (row == null && !logged) { System.err.println(expr.toString()); logged = true; } } } }
@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 MultiLineString> MultiLineStringPath<A> createMultiLineString( String property, Class<? extends A> type) { return add(new MultiLineStringPath<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()); } }