/* * 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.kml.xml.v220; import java.util.ArrayList; import java.util.List; import javax.xml.bind.JAXBElement; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlSchemaType; import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlType; import org.geotoolkit.atom.xml.AtomPersonConstruct; import org.geotoolkit.atom.xml.Link; import org.geotoolkit.xal.xml.v20.AddressDetails; /** * <p>Java class for AbstractFeatureType complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="AbstractFeatureType"> * <complexContent> * <extension base="{http://www.opengis.net/kml/2.2}AbstractObjectType"> * <sequence> * <element ref="{http://www.opengis.net/kml/2.2}name" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}visibility" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}open" minOccurs="0"/> * <element ref="{http://www.w3.org/2005/Atom}author" minOccurs="0"/> * <element ref="{http://www.w3.org/2005/Atom}link" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}address" minOccurs="0"/> * <element ref="{urn:oasis:names:tc:ciq:xsdschema:xAL:2.0}AddressDetails" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}phoneNumber" minOccurs="0"/> * <choice> * <element ref="{http://www.opengis.net/kml/2.2}Snippet" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}snippetDenominator" minOccurs="0"/> * </choice> * <element ref="{http://www.opengis.net/kml/2.2}description" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}AbstractViewGroup" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}AbstractTimePrimitiveGroup" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}styleUrl" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}AbstractStyleSelectorGroup" maxOccurs="unbounded" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}Region" minOccurs="0"/> * <choice> * <element ref="{http://www.opengis.net/kml/2.2}Metadata" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}ExtendedData" minOccurs="0"/> * </choice> * <element ref="{http://www.opengis.net/kml/2.2}AbstractFeatureSimpleExtensionGroup" maxOccurs="unbounded" minOccurs="0"/> * <element ref="{http://www.opengis.net/kml/2.2}AbstractFeatureObjectExtensionGroup" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </extension> * </complexContent> * </complexType> * </pre> * * * @module */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "AbstractFeatureType", propOrder = { "name", "visibility", "open", "author", "link", "address", "addressDetails", "phoneNumber", "snippet", "snippetDenominator", "description", "abstractViewGroup", "abstractTimePrimitiveGroup", "styleUrl", "abstractStyleSelectorGroup", "region", "metadata", "extendedData", "abstractFeatureSimpleExtensionGroup", "abstractFeatureObjectExtensionGroup" }) @XmlSeeAlso({ NetworkLinkType.class, AbstractOverlayType.class, AbstractContainerType.class, PlacemarkType.class }) public abstract class AbstractFeatureType extends AbstractObjectType { private String name; @XmlElement(defaultValue = "1") private Boolean visibility; @XmlElement(defaultValue = "0") private Boolean open; @XmlElement(namespace = "http://www.w3.org/2005/Atom") private AtomPersonConstruct author; @XmlElement(namespace = "http://www.w3.org/2005/Atom") private Link link; private String address; @XmlElement(name = "AddressDetails", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0") private AddressDetails addressDetails; private String phoneNumber; @XmlElement(name = "Snippet") private SnippetType snippet; private String snippetDenominator; private String description; @XmlElementRef(name = "AbstractViewGroup", namespace = "http://www.opengis.net/kml/2.2", type = JAXBElement.class) private JAXBElement<? extends AbstractViewType> abstractViewGroup; @XmlElementRef(name = "AbstractTimePrimitiveGroup", namespace = "http://www.opengis.net/kml/2.2", type = JAXBElement.class) private JAXBElement<? extends AbstractTimePrimitiveType> abstractTimePrimitiveGroup; @XmlSchemaType(name = "anyURI") private String styleUrl; @XmlElementRef(name = "AbstractStyleSelectorGroup", namespace = "http://www.opengis.net/kml/2.2", type = JAXBElement.class) private List<JAXBElement<? extends AbstractStyleSelectorType>> abstractStyleSelectorGroup; @XmlElement(name = "Region") private RegionType region; @XmlElement(name = "Metadata") private MetadataType metadata; @XmlElement(name = "ExtendedData") private ExtendedDataType extendedData; @XmlElement(name = "AbstractFeatureSimpleExtensionGroup") @XmlSchemaType(name = "anySimpleType") private List<Object> abstractFeatureSimpleExtensionGroup; @XmlElement(name = "AbstractFeatureObjectExtensionGroup") private List<AbstractObjectType> abstractFeatureObjectExtensionGroup; /** * Gets the value of the name property. * * @return * possible object is * {@link String } * */ public String getName() { return name; } /** * Sets the value of the name property. * * @param value * allowed object is * {@link String } * */ public void setName(final String value) { this.name = value; } /** * Gets the value of the visibility property. * * @return * possible object is * {@link Boolean } * */ public Boolean isVisibility() { return visibility; } /** * Sets the value of the visibility property. * * @param value * allowed object is * {@link Boolean } * */ public void setVisibility(final Boolean value) { this.visibility = value; } /** * Gets the value of the open property. * * @return * possible object is * {@link Boolean } * */ public Boolean isOpen() { return open; } /** * Sets the value of the open property. * * @param value * allowed object is * {@link Boolean } * */ public void setOpen(final Boolean value) { this.open = value; } /** * Gets the value of the author property. * * @return * possible object is * {@link AtomPersonConstruct } * */ public AtomPersonConstruct getAuthor() { return author; } /** * Sets the value of the author property. * * @param value * allowed object is * {@link AtomPersonConstruct } * */ public void setAuthor(final AtomPersonConstruct value) { this.author = value; } /** * Gets the value of the link property. * * @return * possible object is * {@link Link } * */ public Link getLink() { return link; } /** * Sets the value of the link property. * * @param value * allowed object is * {@link Link } * */ public void setLink(final Link value) { this.link = value; } /** * Gets the value of the address property. * * @return * possible object is * {@link String } * */ public String getAddress() { return address; } /** * Sets the value of the address property. * * @param value * allowed object is * {@link String } * */ public void setAddress(final String value) { this.address = value; } /** * Gets the value of the addressDetails property. * * @return * possible object is * {@link AddressDetails } * */ public AddressDetails getAddressDetails() { return addressDetails; } /** * Sets the value of the addressDetails property. * * @param value * allowed object is * {@link AddressDetails } * */ public void setAddressDetails(final AddressDetails value) { this.addressDetails = value; } /** * Gets the value of the phoneNumber property. * * @return * possible object is * {@link String } * */ public String getPhoneNumber() { return phoneNumber; } /** * Sets the value of the phoneNumber property. * * @param value * allowed object is * {@link String } * */ public void setPhoneNumber(final String value) { this.phoneNumber = value; } /** * Gets the value of the snippet property. * * @return * possible object is * {@link SnippetType } * */ public SnippetType getSnippet() { return snippet; } /** * Sets the value of the snippet property. * * @param value * allowed object is * {@link SnippetType } * */ public void setSnippet(final SnippetType value) { this.snippet = value; } /** * Gets the value of the snippetDenominator property. * * @return * possible object is * {@link String } * */ public String getSnippetDenominator() { return snippetDenominator; } /** * Sets the value of the snippetDenominator property. * * @param value * allowed object is * {@link String } * */ public void setSnippetDenominator(final String value) { this.snippetDenominator = value; } /** * Gets the value of the description property. * * @return * possible object is * {@link String } * */ public String getDescription() { return description; } /** * Sets the value of the description property. * * @param value * allowed object is * {@link String } * */ public void setDescription(final String value) { this.description = value; } /** * Gets the value of the abstractViewGroup property. * * @return * possible object is * {@link JAXBElement }{@code <}{@link LookAtType }{@code >} * {@link JAXBElement }{@code <}{@link CameraType }{@code >} * {@link JAXBElement }{@code <}{@link AbstractViewType }{@code >} * */ public JAXBElement<? extends AbstractViewType> getAbstractViewGroup() { return abstractViewGroup; } /** * Sets the value of the abstractViewGroup property. * * @param value * allowed object is * {@link JAXBElement }{@code <}{@link LookAtType }{@code >} * {@link JAXBElement }{@code <}{@link CameraType }{@code >} * {@link JAXBElement }{@code <}{@link AbstractViewType }{@code >} * */ public void setAbstractViewGroup(final JAXBElement<? extends AbstractViewType> value) { this.abstractViewGroup = ((JAXBElement<? extends AbstractViewType> ) value); } /** * Gets the value of the abstractTimePrimitiveGroup property. * * @return * possible object is * {@link JAXBElement }{@code <}{@link TimeStampType }{@code >} * {@link JAXBElement }{@code <}{@link TimeSpanType }{@code >} * {@link JAXBElement }{@code <}{@link AbstractTimePrimitiveType }{@code >} * */ public JAXBElement<? extends AbstractTimePrimitiveType> getAbstractTimePrimitiveGroup() { return abstractTimePrimitiveGroup; } /** * Sets the value of the abstractTimePrimitiveGroup property. * * @param value * allowed object is * {@link JAXBElement }{@code <}{@link TimeStampType }{@code >} * {@link JAXBElement }{@code <}{@link TimeSpanType }{@code >} * {@link JAXBElement }{@code <}{@link AbstractTimePrimitiveType }{@code >} * */ public void setAbstractTimePrimitiveGroup(final JAXBElement<? extends AbstractTimePrimitiveType> value) { this.abstractTimePrimitiveGroup = ((JAXBElement<? extends AbstractTimePrimitiveType> ) value); } /** * Gets the value of the styleUrl property. * * @return * possible object is * {@link String } * */ public String getStyleUrl() { return styleUrl; } /** * Sets the value of the styleUrl property. * * @param value * allowed object is * {@link String } * */ public void setStyleUrl(final String value) { this.styleUrl = value; } /** * Gets the value of the abstractStyleSelectorGroup property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the abstractStyleSelectorGroup property. * * <p> * For example, to add a new item, do as follows: * <pre> * getAbstractStyleSelectorGroup().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link JAXBElement }{@code <}{@link AbstractStyleSelectorType }{@code >} * {@link JAXBElement }{@code <}{@link StyleMapType }{@code >} * {@link JAXBElement }{@code <}{@link StyleType }{@code >} * * */ public List<JAXBElement<? extends AbstractStyleSelectorType>> getAbstractStyleSelectorGroup() { if (abstractStyleSelectorGroup == null) { abstractStyleSelectorGroup = new ArrayList<JAXBElement<? extends AbstractStyleSelectorType>>(); } return this.abstractStyleSelectorGroup; } /** * Gets the value of the region property. * * @return * possible object is * {@link RegionType } * */ public RegionType getRegion() { return region; } /** * Sets the value of the region property. * * @param value * allowed object is * {@link RegionType } * */ public void setRegion(final RegionType value) { this.region = value; } /** * Gets the value of the metadata property. * * @return * possible object is * {@link MetadataType } * */ public MetadataType getMetadata() { return metadata; } /** * Sets the value of the metadata property. * * @param value * allowed object is * {@link MetadataType } * */ public void setMetadata(final MetadataType value) { this.metadata = value; } /** * Gets the value of the extendedData property. * * @return * possible object is * {@link ExtendedDataType } * */ public ExtendedDataType getExtendedData() { return extendedData; } /** * Sets the value of the extendedData property. * * @param value * allowed object is * {@link ExtendedDataType } * */ public void setExtendedData(final ExtendedDataType value) { this.extendedData = value; } /** * Gets the value of the abstractFeatureSimpleExtensionGroup property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the abstractFeatureSimpleExtensionGroup property. * * <p> * For example, to add a new item, do as follows: * <pre> * getAbstractFeatureSimpleExtensionGroup().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link Object } * * */ public List<Object> getAbstractFeatureSimpleExtensionGroup() { if (abstractFeatureSimpleExtensionGroup == null) { abstractFeatureSimpleExtensionGroup = new ArrayList<Object>(); } return this.abstractFeatureSimpleExtensionGroup; } /** * Gets the value of the abstractFeatureObjectExtensionGroup property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the abstractFeatureObjectExtensionGroup property. * * <p> * For example, to add a new item, do as follows: * <pre> * getAbstractFeatureObjectExtensionGroup().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link AbstractObjectType } * * */ public List<AbstractObjectType> getAbstractFeatureObjectExtensionGroup() { if (abstractFeatureObjectExtensionGroup == null) { abstractFeatureObjectExtensionGroup = new ArrayList<AbstractObjectType>(); } return this.abstractFeatureObjectExtensionGroup; } }