/*
* Geotoolkit - An Open Source Java GIS Toolkit
* http://www.geotoolkit.org
*
* (C) 2008 - 2012, 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.v321;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java class for MovingObjectStatusType complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="MovingObjectStatusType">
* <complexContent>
* <extension base="{http://www.opengis.net/gml/3.2}AbstractTimeSliceType">
* <sequence>
* <choice>
* <element name="position" type="{http://www.opengis.net/gml/3.2}GeometryPropertyType"/>
* <element ref="{http://www.opengis.net/gml/3.2}pos"/>
* <element ref="{http://www.opengis.net/gml/3.2}locationName"/>
* <element ref="{http://www.opengis.net/gml/3.2}locationReference"/>
* <element ref="{http://www.opengis.net/gml/3.2}location"/>
* </choice>
* <element name="speed" type="{http://www.opengis.net/gml/3.2}MeasureType" minOccurs="0"/>
* <element name="bearing" type="{http://www.opengis.net/gml/3.2}DirectionPropertyType" minOccurs="0"/>
* <element name="acceleration" type="{http://www.opengis.net/gml/3.2}MeasureType" minOccurs="0"/>
* <element name="elevation" type="{http://www.opengis.net/gml/3.2}MeasureType" minOccurs="0"/>
* <element ref="{http://www.opengis.net/gml/3.2}status" minOccurs="0"/>
* <element ref="{http://www.opengis.net/gml/3.2}statusReference" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MovingObjectStatusType", propOrder = {
"position",
"pos",
"locationName",
"locationReference",
"location",
"speed",
"bearing",
"acceleration",
"elevation",
"status",
"statusReference"
})
public class MovingObjectStatusType
extends AbstractTimeSliceType
{
private GeometryPropertyType position;
private DirectPositionType pos;
private CodeType locationName;
private ReferenceType locationReference;
@XmlElementRef(name = "location", namespace = "http://www.opengis.net/gml/3.2", type = JAXBElement.class)
private JAXBElement<? extends LocationPropertyType> location;
private MeasureType speed;
private DirectionPropertyType bearing;
private MeasureType acceleration;
private MeasureType elevation;
private StringOrRefType status;
private ReferenceType statusReference;
/**
* Gets the value of the position property.
*
* @return
* possible object is
* {@link GeometryPropertyType }
*
*/
public GeometryPropertyType getPosition() {
return position;
}
/**
* Sets the value of the position property.
*
* @param value
* allowed object is
* {@link GeometryPropertyType }
*
*/
public void setPosition(GeometryPropertyType value) {
this.position = value;
}
/**
* Gets the value of the pos property.
*
* @return
* possible object is
* {@link DirectPositionType }
*
*/
public DirectPositionType getPos() {
return pos;
}
/**
* Sets the value of the pos property.
*
* @param value
* allowed object is
* {@link DirectPositionType }
*
*/
public void setPos(DirectPositionType value) {
this.pos = value;
}
/**
* Gets the value of the locationName property.
*
* @return
* possible object is
* {@link CodeType }
*
*/
public CodeType getLocationName() {
return locationName;
}
/**
* Sets the value of the locationName property.
*
* @param value
* allowed object is
* {@link CodeType }
*
*/
public void setLocationName(CodeType value) {
this.locationName = value;
}
/**
* Gets the value of the locationReference property.
*
* @return
* possible object is
* {@link ReferenceType }
*
*/
public ReferenceType getLocationReference() {
return locationReference;
}
/**
* Sets the value of the locationReference property.
*
* @param value
* allowed object is
* {@link ReferenceType }
*
*/
public void setLocationReference(ReferenceType value) {
this.locationReference = value;
}
/**
* Gets the value of the location property.
*
* @return
* possible object is
* {@link JAXBElement }{@code <}{@link LocationPropertyType }{@code >}
* {@link JAXBElement }{@code <}{@link PriorityLocationPropertyType }{@code >}
*
*/
public JAXBElement<? extends LocationPropertyType> getLocation() {
return location;
}
/**
* Sets the value of the location property.
*
* @param value
* allowed object is
* {@link JAXBElement }{@code <}{@link LocationPropertyType }{@code >}
* {@link JAXBElement }{@code <}{@link PriorityLocationPropertyType }{@code >}
*
*/
public void setLocation(JAXBElement<? extends LocationPropertyType> value) {
this.location = ((JAXBElement<? extends LocationPropertyType> ) value);
}
/**
* Gets the value of the speed property.
*
* @return
* possible object is
* {@link MeasureType }
*
*/
public MeasureType getSpeed() {
return speed;
}
/**
* Sets the value of the speed property.
*
* @param value
* allowed object is
* {@link MeasureType }
*
*/
public void setSpeed(MeasureType value) {
this.speed = value;
}
/**
* Gets the value of the bearing property.
*
* @return
* possible object is
* {@link DirectionPropertyType }
*
*/
public DirectionPropertyType getBearing() {
return bearing;
}
/**
* Sets the value of the bearing property.
*
* @param value
* allowed object is
* {@link DirectionPropertyType }
*
*/
public void setBearing(DirectionPropertyType value) {
this.bearing = value;
}
/**
* Gets the value of the acceleration property.
*
* @return
* possible object is
* {@link MeasureType }
*
*/
public MeasureType getAcceleration() {
return acceleration;
}
/**
* Sets the value of the acceleration property.
*
* @param value
* allowed object is
* {@link MeasureType }
*
*/
public void setAcceleration(MeasureType value) {
this.acceleration = value;
}
/**
* Gets the value of the elevation property.
*
* @return
* possible object is
* {@link MeasureType }
*
*/
public MeasureType getElevation() {
return elevation;
}
/**
* Sets the value of the elevation property.
*
* @param value
* allowed object is
* {@link MeasureType }
*
*/
public void setElevation(MeasureType value) {
this.elevation = value;
}
/**
* Gets the value of the status property.
*
* @return
* possible object is
* {@link StringOrRefType }
*
*/
public StringOrRefType getStatus() {
return status;
}
/**
* Sets the value of the status property.
*
* @param value
* allowed object is
* {@link StringOrRefType }
*
*/
public void setStatus(StringOrRefType value) {
this.status = value;
}
/**
* Gets the value of the statusReference property.
*
* @return
* possible object is
* {@link ReferenceType }
*
*/
public ReferenceType getStatusReference() {
return statusReference;
}
/**
* Sets the value of the statusReference property.
*
* @param value
* allowed object is
* {@link ReferenceType }
*
*/
public void setStatusReference(ReferenceType value) {
this.statusReference = value;
}
}