/* * Geotoolkit - An Open Source Java GIS Toolkit * http://www.geotoolkit.org * * (C) 2008 - 2009, Geomatys * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotoolkit.gml.xml.v311; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlType; /** * * Information about the spatial, vertical, and/or temporal extent of a reference system object. * Constraints: At least one of the elements "description", "boundingBox", "boundingPolygon", "verticalExtent", * and temporalExtent" must be included, but more that one can be included when appropriate. * Furthermore, more than one "boundingBox", "boundingPolygon", "verticalExtent", and/or temporalExtent" element can be included, * with more than one meaning the union of the individual domains. * * <p>Java class for ExtentType complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="ExtentType"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element ref="{http://www.opengis.net/gml}description" minOccurs="0"/> * <choice> * <element ref="{http://www.opengis.net/gml}boundingBox" maxOccurs="unbounded" minOccurs="0"/> * <element ref="{http://www.opengis.net/gml}boundingPolygon" maxOccurs="unbounded" minOccurs="0"/> * </choice> * <element ref="{http://www.opengis.net/gml}verticalExtent" maxOccurs="unbounded" minOccurs="0"/> * <element ref="{http://www.opengis.net/gml}temporalExtent" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * * @module */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ExtentType", propOrder = { "description", "boundingBox", "boundingPolygon", "verticalExtent", "temporalExtent" }) public class ExtentType { private StringOrRefType description; private List<EnvelopeType> boundingBox; private List<PolygonType> boundingPolygon; private List<EnvelopeType> verticalExtent; private List<TimePeriodType> temporalExtent; /** * Description of spatial and/or temporal extent of this object. * */ public StringOrRefType getDescription() { return description; } /** * Sets the value of the description property. * */ public void setDescription(final StringOrRefType value) { this.description = value; } /** * Unordered list of bounding boxes (or envelopes) whose union describes the spatial domain of this object. * Gets the value of the boundingBox property. * */ public List<EnvelopeType> getBoundingBox() { if (boundingBox == null) { boundingBox = new ArrayList<EnvelopeType>(); } return this.boundingBox; } /** * Unordered list of bounding polygons whose union describes the spatial domain of this object. * Gets the value of the boundingPolygon property. * */ public List<PolygonType> getBoundingPolygon() { if (boundingPolygon == null) { boundingPolygon = new ArrayList<PolygonType>(); } return this.boundingPolygon; } /** * Unordered list of vertical intervals whose union describes the spatial domain of this object. * Gets the value of the verticalExtent property. * */ public List<EnvelopeType> getVerticalExtent() { if (verticalExtent == null) { verticalExtent = new ArrayList<EnvelopeType>(); } return this.verticalExtent; } /** * Unordered list of time periods whose union describes the spatial domain of this object. * Gets the value of the temporalExtent property. * */ public List<TimePeriodType> getTemporalExtent() { if (temporalExtent == null) { temporalExtent = new ArrayList<TimePeriodType>(); } return this.temporalExtent; } }