protected LinearRing[] canBuildInteriorPolygon(Polygon polygon) throws ParserException { List<LinearRing> interiorElements = new ArrayList<LinearRing>(polygon.getInteriorValues().size()); for (AbstractRingProperty ringProperty : polygon.getInteriorValues()) { AbstractRing ring = ringProperty.getAbstractRing(); if ((ring != null) && (ring instanceof LinearRing)) { interiorElements.add( this.linearRingParser.parseGeometry((org.geosdi.geoplatform.gml.api.LinearRing) ring)); } } return interiorElements.toArray(new LinearRing[interiorElements.size()]); }
protected LinearRing canBuildExteriorPolygon(Polygon polygon) throws ParserException { AbstractRingProperty ringProperty = polygon.getExteriorValue(); AbstractRing ring = ringProperty.getAbstractRing(); return ((ring != null) && (ring instanceof org.geosdi.geoplatform.gml.api.LinearRing)) ? linearRingParser.parseGeometry((org.geosdi.geoplatform.gml.api.LinearRing) ring) : null; }
@Override public LinearRing[] buildInteriorPolygon(Polygon polygon) throws ParserException { return polygon.isSetInterior() ? canBuildInteriorPolygon(polygon) : null; }