001 002/* 003 * Copyright (C) 2010 Archie L. Cobbs. All rights reserved. 004 * 005 * $Id$ 006 */ 007 008package org.dellroad.jibxbindings.pidf.lo.gml; 009 010import java.net.URI; 011 012/** 013 * GML polygon. 014 */ 015public class Polygon extends Surface { 016 017 private LinearRing exterior; 018 019 public Polygon() { 020 } 021 022 public Polygon(String gid, URI srsName, int srsDimension, LinearRing exterior) { 023 super(gid, srsName, srsDimension); 024 this.setExterior(exterior); 025 } 026 027 /** 028 * The polygon's {@code <gml:exterior>}. 029 */ 030 public LinearRing getExterior() { 031 return this.exterior; 032 } 033 public void setExterior(LinearRing exterior) { 034 this.exterior = exterior; 035 } 036 037 @Override 038 public void visit(GMLObjectSwitch gmlObjectSwitch) { 039 gmlObjectSwitch.casePolygon(this); 040 } 041 042// Cloneable 043 044 @Override 045 public Polygon clone() { 046 final Polygon clone = (Polygon)super.clone(); 047 clone.exterior = this.exterior != null ? this.exterior.clone() : null; 048 return clone; 049 } 050} 051