All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.micromata.opengis.kml.v_2_2_0.MultiGeometry Maven / Gradle / Ivy


package de.micromata.opengis.kml.v_2_2_0;

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.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import de.micromata.opengis.kml.v_2_2_0.annotations.Obvious;
import de.micromata.opengis.kml.v_2_2_0.gx.MultiTrack;
import de.micromata.opengis.kml.v_2_2_0.gx.Track;


/**
 * 
 * 

* A container for zero or more geometry primitives associated with the same feature. *

*

* Note: The tag has been deprecated. Use instead. *

* * Syntax: *
<MultiGeometry id="ID">
 *   <!-- specific to MultiGeometry -->
 *   <!-- 0 or more Geometry elements -->
 * </MultiGeometry>
* * Extends: * @see: * * Contained By: * @see: * @see: * * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "MultiGeometryType", propOrder = { "geometry", "multiGeometrySimpleExtension", "multiGeometryObjectExtension" }) @XmlRootElement(name = "MultiGeometry", namespace = "http://www.opengis.net/kml/2.2") public class MultiGeometry extends Geometry implements Cloneable { /** * *

* This is an abstract element and cannot be used directly in a KML file. It provides * a placeholder object for all derived Geometry objects. *

* * Syntax: *
<!-- abstract element; do not create -->
     * <!-- Geometry id="ID" -->                 <!-- Point,LineString,LinearRing,
     *                                                Polygon,MultiGeometry,Model -->
     * <!-- /Geometry -->
* * Extends: * @see: * * Extended By: * @see: * @see: * @see: * @see: * @see: MultiGeometry * @see: Polygon * * * */ @XmlElementRef(name = "AbstractGeometryGroup", namespace = "http://www.opengis.net/kml/2.2", required = false) protected List geometry; @XmlElement(name = "MultiGeometrySimpleExtensionGroup") @XmlSchemaType(name = "anySimpleType") protected List multiGeometrySimpleExtension; /** * *

* This is an abstract base class and cannot be used directly in a KML file. It provides * the id attribute, which allows unique identification of a KML element, and the targetId * attribute, which is used to reference objects that have already been loaded into * Google Earth. The id attribute must be assigned if the mechanism is to * be used. *

* * Syntax: *
<!-- abstract element; do not create -->
     * <!-- Object id="ID" targetId="NCName" -->
     * <!-- /Object> -->
* * * */ @XmlElement(name = "MultiGeometryObjectExtensionGroup") protected List multiGeometryObjectExtension; public MultiGeometry() { super(); } /** * @see geometry * */ public List getGeometry() { if (geometry == null) { geometry = new ArrayList(); } return this.geometry; } /** * @see multiGeometrySimpleExtension * */ public List getMultiGeometrySimpleExtension() { if (multiGeometrySimpleExtension == null) { multiGeometrySimpleExtension = new ArrayList(); } return this.multiGeometrySimpleExtension; } /** * @see multiGeometryObjectExtension * */ public List getMultiGeometryObjectExtension() { if (multiGeometryObjectExtension == null) { multiGeometryObjectExtension = new ArrayList(); } return this.multiGeometryObjectExtension; } @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = ((prime*result)+((geometry == null)? 0 :geometry.hashCode())); result = ((prime*result)+((multiGeometrySimpleExtension == null)? 0 :multiGeometrySimpleExtension.hashCode())); result = ((prime*result)+((multiGeometryObjectExtension == null)? 0 :multiGeometryObjectExtension.hashCode())); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (super.equals(obj) == false) { return false; } if ((obj instanceof MultiGeometry) == false) { return false; } MultiGeometry other = ((MultiGeometry) obj); if (geometry == null) { if (other.geometry!= null) { return false; } } else { if (geometry.equals(other.geometry) == false) { return false; } } if (multiGeometrySimpleExtension == null) { if (other.multiGeometrySimpleExtension!= null) { return false; } } else { if (multiGeometrySimpleExtension.equals(other.multiGeometrySimpleExtension) == false) { return false; } } if (multiGeometryObjectExtension == null) { if (other.multiGeometryObjectExtension!= null) { return false; } } else { if (multiGeometryObjectExtension.equals(other.multiGeometryObjectExtension) == false) { return false; } } return true; } /** * Creates a new instance of {@link MultiTrack} and adds it to geometry. * This method is a short version for: * * MultiTrack multiTrack = new MultiTrack(); * this.getGeometry().add(multiTrack); * * */ public MultiTrack createAndAddMultiTrack() { MultiTrack newValue = new MultiTrack(); this.getGeometry().add(newValue); return newValue; } /** * Creates a new instance of {@link Track} and adds it to geometry. * This method is a short version for: * * Track track = new Track(); * this.getGeometry().add(track); * * */ public Track createAndAddTrack() { Track newValue = new Track(); this.getGeometry().add(newValue); return newValue; } /** * Creates a new instance of {@link LinearRing} and adds it to geometry. * This method is a short version for: * * LinearRing linearRing = new LinearRing(); * this.getGeometry().add(linearRing); * * */ public LinearRing createAndAddLinearRing() { LinearRing newValue = new LinearRing(); this.getGeometry().add(newValue); return newValue; } /** * Creates a new instance of {@link Point} and adds it to geometry. * This method is a short version for: * * Point point = new Point(); * this.getGeometry().add(point); * * */ public Point createAndAddPoint() { Point newValue = new Point(); this.getGeometry().add(newValue); return newValue; } /** * Creates a new instance of {@link Model} and adds it to geometry. * This method is a short version for: * * Model model = new Model(); * this.getGeometry().add(model); * * */ public Model createAndAddModel() { Model newValue = new Model(); this.getGeometry().add(newValue); return newValue; } /** * Creates a new instance of {@link MultiGeometry} and adds it to geometry. * This method is a short version for: * * MultiGeometry multiGeometry = new MultiGeometry(); * this.getGeometry().add(multiGeometry); * * */ public MultiGeometry createAndAddMultiGeometry() { MultiGeometry newValue = new MultiGeometry(); this.getGeometry().add(newValue); return newValue; } /** * Creates a new instance of {@link LineString} and adds it to geometry. * This method is a short version for: * * LineString lineString = new LineString(); * this.getGeometry().add(lineString); * * */ public LineString createAndAddLineString() { LineString newValue = new LineString(); this.getGeometry().add(newValue); return newValue; } /** * Creates a new instance of {@link Polygon} and adds it to geometry. * This method is a short version for: * * Polygon polygon = new Polygon(); * this.getGeometry().add(polygon); * * */ public Polygon createAndAddPolygon() { Polygon newValue = new Polygon(); this.getGeometry().add(newValue); return newValue; } /** * @see geometry * * @param geometry */ public void setGeometry(final List geometry) { this.geometry = geometry; } /** * add a value to the geometry property collection * * @param geometry * Objects of the following type are allowed in the list: {@code <}{@link Geometry}{@code>}{@link JAXBElement}{@code <}{@link Point}{@code>}{@link JAXBElement}{@code <}{@link LinearRing}{@code>}{@link JAXBElement}{@code <}{@link Polygon}{@code>}{@link JAXBElement}{@code <}{@link Track}{@code>}{@link JAXBElement}{@code <}{@link MultiTrack}{@code>}{@link JAXBElement}{@code <}{@link Model}{@code>}{@link JAXBElement}{@code <}{@link LineString}{@code>}{@link JAXBElement}{@code <}{@link MultiGeometry}{@code>} * @return * true (as general contract of Collection.add). */ public MultiGeometry addToGeometry(final Geometry geometry) { this.getGeometry().add(geometry); return this; } /** * @see multiGeometrySimpleExtension * * @param multiGeometrySimpleExtension */ public void setMultiGeometrySimpleExtension(final List multiGeometrySimpleExtension) { this.multiGeometrySimpleExtension = multiGeometrySimpleExtension; } /** * add a value to the multiGeometrySimpleExtension property collection * * @param multiGeometrySimpleExtension * Objects of the following type are allowed in the list: {@link Object} * @return * true (as general contract of Collection.add). */ public MultiGeometry addToMultiGeometrySimpleExtension(final Object multiGeometrySimpleExtension) { this.getMultiGeometrySimpleExtension().add(multiGeometrySimpleExtension); return this; } /** * @see multiGeometryObjectExtension * * @param multiGeometryObjectExtension */ public void setMultiGeometryObjectExtension(final List multiGeometryObjectExtension) { this.multiGeometryObjectExtension = multiGeometryObjectExtension; } /** * add a value to the multiGeometryObjectExtension property collection * * @param multiGeometryObjectExtension * Objects of the following type are allowed in the list: {@link AbstractObject} * @return * true (as general contract of Collection.add). */ public MultiGeometry addToMultiGeometryObjectExtension(final AbstractObject multiGeometryObjectExtension) { this.getMultiGeometryObjectExtension().add(multiGeometryObjectExtension); return this; } /** * @see objectSimpleExtension * */ @Obvious @Override public void setObjectSimpleExtension(final List objectSimpleExtension) { super.setObjectSimpleExtension(objectSimpleExtension); } @Obvious @Override public MultiGeometry addToObjectSimpleExtension(final Object objectSimpleExtension) { super.getObjectSimpleExtension().add(objectSimpleExtension); return this; } /** * @see geometrySimpleExtension * */ @Obvious @Override public void setGeometrySimpleExtension(final List geometrySimpleExtension) { super.setGeometrySimpleExtension(geometrySimpleExtension); } @Obvious @Override public MultiGeometry addToGeometrySimpleExtension(final Object geometrySimpleExtension) { super.getGeometrySimpleExtension().add(geometrySimpleExtension); return this; } /** * @see geometryObjectExtension * */ @Obvious @Override public void setGeometryObjectExtension(final List geometryObjectExtension) { super.setGeometryObjectExtension(geometryObjectExtension); } @Obvious @Override public MultiGeometry addToGeometryObjectExtension(final AbstractObject geometryObjectExtension) { super.getGeometryObjectExtension().add(geometryObjectExtension); return this; } /** * fluent setter * @see #setGeometry(List) * * @param geometry * required parameter */ public MultiGeometry withGeometry(final List geometry) { this.setGeometry(geometry); return this; } /** * fluent setter * @see #setMultiGeometrySimpleExtension(List) * * @param multiGeometrySimpleExtension * required parameter */ public MultiGeometry withMultiGeometrySimpleExtension(final List multiGeometrySimpleExtension) { this.setMultiGeometrySimpleExtension(multiGeometrySimpleExtension); return this; } /** * fluent setter * @see #setMultiGeometryObjectExtension(List) * * @param multiGeometryObjectExtension * required parameter */ public MultiGeometry withMultiGeometryObjectExtension(final List multiGeometryObjectExtension) { this.setMultiGeometryObjectExtension(multiGeometryObjectExtension); return this; } @Obvious @Override public MultiGeometry withObjectSimpleExtension(final List objectSimpleExtension) { super.withObjectSimpleExtension(objectSimpleExtension); return this; } @Obvious @Override public MultiGeometry withId(final String id) { super.withId(id); return this; } @Obvious @Override public MultiGeometry withTargetId(final String targetId) { super.withTargetId(targetId); return this; } @Obvious @Override public MultiGeometry withGeometrySimpleExtension(final List geometrySimpleExtension) { super.withGeometrySimpleExtension(geometrySimpleExtension); return this; } @Obvious @Override public MultiGeometry withGeometryObjectExtension(final List geometryObjectExtension) { super.withGeometryObjectExtension(geometryObjectExtension); return this; } @Override public MultiGeometry clone() { MultiGeometry copy; copy = ((MultiGeometry) super.clone()); copy.geometry = new ArrayList((getGeometry().size())); for (Geometry iter: geometry) { copy.geometry.add(iter.clone()); } copy.multiGeometrySimpleExtension = new ArrayList((getMultiGeometrySimpleExtension().size())); for (Object iter: multiGeometrySimpleExtension) { copy.multiGeometrySimpleExtension.add(iter); } copy.multiGeometryObjectExtension = new ArrayList((getMultiGeometryObjectExtension().size())); for (AbstractObject iter: multiGeometryObjectExtension) { copy.multiGeometryObjectExtension.add(iter.clone()); } return copy; } }