LINK.java

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2016.11.03 at 01:02:34 PM CET
//

package org.opentrafficsim.road.network.factory.vissim.xsd;

import java.math.BigInteger;
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.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;

/**
 * <p>
 * Java class for anonymous complex type.
 * <p>
 * The following schema fragment specifies the expected content contained within this class.
 *
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;choice>
 *           &lt;element name="BEZIER" type="{http://www.w3.org/2001/XMLSchema}anyType"/>
 *           &lt;element name="CLOTHOID">
 *             &lt;complexType>
 *               &lt;complexContent>
 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                   &lt;attribute name="STARTANGLE" type="{http://www.opentrafficsim.org/ots}ANGLETYPE" />
 *                   &lt;attribute name="STARTCURVATURE" use="required" type="{http://www.opentrafficsim.org/ots}PERLENGTHTYPE" />
 *                   &lt;attribute name="ENDCURVATURE" use="required" type="{http://www.opentrafficsim.org/ots}PERLENGTHTYPE" />
 *                   &lt;attribute name="LENGTH" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" />
 *                   &lt;attribute name="ENDELEVATION" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" />
 *                   &lt;attribute name="NUMSEGMENTS" type="{http://www.w3.org/2001/XMLSchema}integer" />
 *                 &lt;/restriction>
 *               &lt;/complexContent>
 *             &lt;/complexType>
 *           &lt;/element>
 *           &lt;element name="STRAIGHT">
 *             &lt;complexType>
 *               &lt;complexContent>
 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                   &lt;attribute name="LENGTH" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" />
 *                 &lt;/restriction>
 *               &lt;/complexContent>
 *             &lt;/complexType>
 *           &lt;/element>
 *           &lt;element name="ARC">
 *             &lt;complexType>
 *               &lt;complexContent>
 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                   &lt;attribute name="RADIUS" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" />
 *                   &lt;attribute name="ANGLE" use="required" type="{http://www.opentrafficsim.org/ots}ANGLETYPE" />
 *                   &lt;attribute name="DIRECTION" use="required" type="{http://www.opentrafficsim.org/ots}LEFTRIGHTTYPE" />
 *                 &lt;/restriction>
 *               &lt;/complexContent>
 *             &lt;/complexType>
 *           &lt;/element>
 *           &lt;element name="POLYLINE">
 *             &lt;complexType>
 *               &lt;complexContent>
 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                   &lt;attribute name="LENGTH" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" />
 *                   &lt;attribute name="INTERMEDIATEPOINTS" type="{http://www.opentrafficsim.org/ots}COORDINATELISTTYPE" />
 *                 &lt;/restriction>
 *               &lt;/complexContent>
 *             &lt;/complexType>
 *           &lt;/element>
 *         &lt;/choice>
 *         &lt;element ref="{http://www.opentrafficsim.org/ots}ROADLAYOUT" minOccurs="0"/>
 *         &lt;sequence>
 *           &lt;choice maxOccurs="unbounded" minOccurs="0">
 *             &lt;element name="LANEOVERRIDE" maxOccurs="unbounded" minOccurs="0">
 *               &lt;complexType>
 *                 &lt;complexContent>
 *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                     &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="LEGALSPEEDLIMIT" type="{http://www.opentrafficsim.org/ots}SPEEDTYPE" />
 *                     &lt;attribute name="DIRECTION" type="{http://www.opentrafficsim.org/ots}DIRECTIONTYPE" />
 *                     &lt;attribute name="COLOR" type="{http://www.opentrafficsim.org/ots}COLORTYPE" />
 *                     &lt;attribute name="OVERTAKING" type="{http://www.opentrafficsim.org/ots}OVERTAKINGTYPE" />
 *                   &lt;/restriction>
 *                 &lt;/complexContent>
 *               &lt;/complexType>
 *             &lt;/element>
 *             &lt;element name="GENERATOR" maxOccurs="unbounded" minOccurs="0">
 *               &lt;complexType>
 *                 &lt;complexContent>
 *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                     &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="POSITION" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
 *                     &lt;attribute name="GTU" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="GTUMIX" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="IAT" use="required" type="{http://www.opentrafficsim.org/ots}TIMEDISTTYPE" />
 *                     &lt;attribute name="INITIALSPEED" use="required" type="{http://www.opentrafficsim.org/ots}SPEEDDISTTYPE" />
 *                     &lt;attribute name="MAXGTU" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                     &lt;attribute name="STARTTIME" type="{http://www.opentrafficsim.org/ots}TIMETYPE" />
 *                     &lt;attribute name="ENDTIME" type="{http://www.opentrafficsim.org/ots}TIMETYPE" />
 *                     &lt;attribute name="ROUTE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="GTUCOLORER" use="required" type="{http://www.opentrafficsim.org/ots}GTUCOLORERTYPE" />
 *                   &lt;/restriction>
 *                 &lt;/complexContent>
 *               &lt;/complexType>
 *             &lt;/element>
 *             &lt;element name="LISTGENERATOR" maxOccurs="unbounded" minOccurs="0">
 *               &lt;complexType>
 *                 &lt;complexContent>
 *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                     &lt;attribute name="URI" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
 *                     &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="POSITION" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
 *                     &lt;attribute name="GTU" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="GTUMIX" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="INITIALSPEED" use="required" type="{http://www.opentrafficsim.org/ots}SPEEDDISTTYPE" />
 *                     &lt;attribute name="ROUTE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="GTUCOLORER" use="required" type="{http://www.opentrafficsim.org/ots}GTUCOLORERTYPE" />
 *                   &lt;/restriction>
 *                 &lt;/complexContent>
 *               &lt;/complexType>
 *             &lt;/element>
 *             &lt;element name="FILL" maxOccurs="unbounded" minOccurs="0">
 *               &lt;complexType>
 *                 &lt;complexContent>
 *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                     &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="GTU" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="GTUMIX" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="DISTANCE" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHDISTTYPE" />
 *                     &lt;attribute name="INITIALSPEED" use="required" type="{http://www.opentrafficsim.org/ots}SPEEDDISTTYPE" />
 *                     &lt;attribute name="MAXGTU" type="{http://www.w3.org/2001/XMLSchema}double" />
 *                     &lt;attribute name="ROUTE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                   &lt;/restriction>
 *                 &lt;/complexContent>
 *               &lt;/complexType>
 *             &lt;/element>
 *             &lt;element name="BLOCK" maxOccurs="unbounded" minOccurs="0">
 *               &lt;complexType>
 *                 &lt;complexContent>
 *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                     &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="POSITION" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
 *                   &lt;/restriction>
 *                 &lt;/complexContent>
 *               &lt;/complexType>
 *             &lt;/element>
 *             &lt;element name="SENSOR" maxOccurs="unbounded" minOccurs="0">
 *               &lt;complexType>
 *                 &lt;complexContent>
 *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                     &lt;attribute name="NAME" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="POSITION" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
 *                     &lt;attribute name="CLASS" use="required" type="{http://www.opentrafficsim.org/ots}CLASSNAMETYPE" />
 *                     &lt;attribute name="TRIGGER" use="required" type="{http://www.opentrafficsim.org/ots}GTUPOSITIONTYPE" />
 *                   &lt;/restriction>
 *                 &lt;/complexContent>
 *               &lt;/complexType>
 *             &lt;/element>
 *             &lt;element name="TRAFFICLIGHT" maxOccurs="unbounded" minOccurs="0">
 *               &lt;complexType>
 *                 &lt;complexContent>
 *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                     &lt;attribute name="NAME" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="POSITION" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
 *                     &lt;attribute name="CLASS" use="required" type="{http://www.opentrafficsim.org/ots}CLASSNAMETYPE" />
 *                   &lt;/restriction>
 *                 &lt;/complexContent>
 *               &lt;/complexType>
 *             &lt;/element>
 *             &lt;element name="SINK" maxOccurs="unbounded" minOccurs="0">
 *               &lt;complexType>
 *                 &lt;complexContent>
 *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                     &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *                     &lt;attribute name="POSITION" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
 *                   &lt;/restriction>
 *                 &lt;/complexContent>
 *               &lt;/complexType>
 *             &lt;/element>
 *           &lt;/choice>
 *         &lt;/sequence>
 *       &lt;/sequence>
 *       &lt;attribute name="NAME" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="NODESTART" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
 *       &lt;attribute name="NODEEND" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
 *       &lt;attribute name="ROADLAYOUT" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="OFFSETSTART" type="{http://www.opentrafficsim.org/ots}SIGNEDLENGTHTYPE" />
 *       &lt;attribute name="OFFSETEND" type="{http://www.opentrafficsim.org/ots}SIGNEDLENGTHTYPE" />
 *       &lt;attribute name="ROTATIONSTART" type="{http://www.opentrafficsim.org/ots}ANGLETYPE" />
 *       &lt;attribute name="ROTATIONEND" type="{http://www.opentrafficsim.org/ots}ANGLETYPE" />
 *       &lt;attribute name="LANEKEEPING" type="{http://www.opentrafficsim.org/ots}LANEKEEPINGTYPE" />
 *       &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}base"/>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "bezier", "clothoid", "straight", "arc", "polyline", "roadlayout",
        "laneoverrideOrGENERATOROrLISTGENERATOR" })
@XmlRootElement(name = "LINK")
public class LINK
{

    @XmlElement(name = "BEZIER")
    protected LINK.BEZIER bezier;

    @XmlElement(name = "CLOTHOID")
    protected LINK.CLOTHOID clothoid;

    @XmlElement(name = "STRAIGHT")
    protected LINK.STRAIGHT straight;

    @XmlElement(name = "ARC")
    protected LINK.ARC arc;

    @XmlElement(name = "POLYLINE")
    protected LINK.POLYLINE polyline;

    @XmlElement(name = "ROADLAYOUT")
    protected ROADLAYOUT roadlayout;

    @XmlElements({ @XmlElement(name = "LANEOVERRIDE", type = LINK.LANEOVERRIDE.class),
            @XmlElement(name = "GENERATOR", type = LINK.GENERATOR.class),
            @XmlElement(name = "LISTGENERATOR", type = LINK.LISTGENERATOR.class),
            @XmlElement(name = "FILL", type = LINK.FILL.class), @XmlElement(name = "BLOCK", type = LINK.BLOCK.class),
            @XmlElement(name = "SENSOR", type = LINK.SENSOR.class),
            @XmlElement(name = "TRAFFICLIGHT", type = LINK.TRAFFICLIGHT.class),
            @XmlElement(name = "SINK", type = LINK.SINK.class) })
    protected List<Object> laneoverrideOrGENERATOROrLISTGENERATOR;

    @XmlAttribute(name = "NAME", required = true)
    protected String name;

    @XmlAttribute(name = "NODESTART", required = true)
    protected String nodestart;

    @XmlAttribute(name = "NODEEND", required = true)
    // @XmlIDREF
    // @XmlSchemaType(name = "IDREF")
    // protected Object nodeend;
    protected String nodeEnd;

    @XmlAttribute(name = "ROADLAYOUT")
    protected String roadlayoutAttribute;

    @XmlAttribute(name = "OFFSETSTART")
    protected String offsetstart;

    @XmlAttribute(name = "OFFSETEND")
    protected String offsetend;

    @XmlAttribute(name = "ROTATIONSTART")
    protected String rotationstart;

    @XmlAttribute(name = "ROTATIONEND")
    protected String rotationend;

    @XmlAttribute(name = "LANEKEEPING")
    protected String lanekeeping;

    @XmlAttribute(name = "base", namespace = "http://www.w3.org/XML/1998/namespace")
    @XmlSchemaType(name = "anyURI")
    protected String base;

    /**
     * Gets the value of the bezier property.
     * @return possible object is {@link Object }
     */
    public LINK.BEZIER getBEZIER()
    {
        return bezier;
    }

    /**
     * Sets the value of the bezier property.
     * @param value LINK.BEZIER; allowed object is {@link Object }
     */
    public void setBEZIER(LINK.BEZIER value)
    {
        this.bezier = value;
    }

    /**
     * Gets the value of the clothoid property.
     * @return possible object is {@link LINK.CLOTHOID }
     */
    public LINK.CLOTHOID getCLOTHOID()
    {
        return clothoid;
    }

    /**
     * Sets the value of the clothoid property.
     * @param value LINK.CLOTHOID; allowed object is {@link LINK.CLOTHOID }
     */
    public void setCLOTHOID(LINK.CLOTHOID value)
    {
        this.clothoid = value;
    }

    /**
     * Gets the value of the straight property.
     * @return possible object is {@link LINK.STRAIGHT }
     */
    public LINK.STRAIGHT getSTRAIGHT()
    {
        return straight;
    }

    /**
     * Sets the value of the straight property.
     * @param value LINK.STRAIGHT; allowed object is {@link LINK.STRAIGHT }
     */
    public void setSTRAIGHT(LINK.STRAIGHT value)
    {
        this.straight = value;
    }

    /**
     * Gets the value of the arc property.
     * @return possible object is {@link LINK.ARC }
     */
    public LINK.ARC getARC()
    {
        return arc;
    }

    /**
     * Sets the value of the arc property.
     * @param value LINK.ARC; allowed object is {@link LINK.ARC }
     */
    public void setARC(LINK.ARC value)
    {
        this.arc = value;
    }

    /**
     * Gets the value of the polyline property.
     * @return possible object is {@link LINK.POLYLINE }
     */
    public LINK.POLYLINE getPOLYLINE()
    {
        return polyline;
    }

    /**
     * Sets the value of the polyline property.
     * @param value LINK.POLYLINE; allowed object is {@link LINK.POLYLINE }
     */
    public void setPOLYLINE(LINK.POLYLINE value)
    {
        this.polyline = value;
    }

    /**
     * Gets the value of the roadlayout property.
     * @return possible object is {@link ROADLAYOUT }
     */
    public ROADLAYOUT getROADLAYOUT()
    {
        return roadlayout;
    }

    /**
     * Sets the value of the roadlayout property.
     * @param value ROADLAYOUT; allowed object is {@link ROADLAYOUT }
     */
    public void setROADLAYOUT(ROADLAYOUT value)
    {
        this.roadlayout = value;
    }

    /**
     * Gets the value of the laneoverrideOrGENERATOROrLISTGENERATOR 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
     * laneoverrideOrGENERATOROrLISTGENERATOR property.
     * <p>
     * For example, to add a new item, do as follows:
     *
     * <pre>
     * getLANEOVERRIDEOrGENERATOROrLISTGENERATOR().add(newItem);
     * </pre>
     * <p>
     * Objects of the following type(s) are allowed in the list {@link LINK.LANEOVERRIDE } {@link LINK.GENERATOR }
     * {@link LINK.LISTGENERATOR } {@link LINK.FILL } {@link LINK.BLOCK } {@link LINK.SENSOR } {@link LINK.TRAFFICLIGHT }
     * {@link LINK.SINK }
     */
    /**
     * @return elements of a link
     */
    public List<Object> getLANEOVERRIDEOrGENERATOROrLISTGENERATOR()
    {
        if (laneoverrideOrGENERATOROrLISTGENERATOR == null)
        {
            laneoverrideOrGENERATOROrLISTGENERATOR = new ArrayList<Object>();
        }
        return this.laneoverrideOrGENERATOROrLISTGENERATOR;
    }

    /**
     * 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 String; allowed object is {@link String }
     */
    public void setNAME(String value)
    {
        this.name = value;
    }

    /**
     * Gets the value of the nodestart property.
     * @return possible object is {@link Object }
     */
    public String getNODESTART()
    {
        return nodestart;
    }

    /**
     * Sets the value of the nodestart property.
     * @param value String; allowed object is {@link Object }
     */
    public void setNODESTART(String value)
    {
        this.nodestart = value;
    }

    /**
     * Gets the value of the nodeend property.
     * @return possible object is {@link Object }
     */
    public String getNODEEND()
    {
        return nodeEnd;
    }

    /**
     * Sets the value of the nodeend property.
     * @param value String; allowed object is {@link Object }
     */
    public void setNODEEND(String value)
    {
        this.nodeEnd = value;
    }

    /**
     * Gets the value of the roadlayoutAttribute property.
     * @return possible object is {@link String }
     */
    public String getROADLAYOUTAttribute()
    {
        return roadlayoutAttribute;
    }

    /**
     * Sets the value of the roadlayoutAttribute property.
     * @param value String; allowed object is {@link String }
     */
    public void setROADLAYOUTAttribute(String value)
    {
        this.roadlayoutAttribute = value;
    }

    /**
     * Gets the value of the offsetstart property.
     * @return possible object is {@link String }
     */
    public String getOFFSETSTART()
    {
        return offsetstart;
    }

    /**
     * Sets the value of the offsetstart property.
     * @param value String; allowed object is {@link String }
     */
    public void setOFFSETSTART(String value)
    {
        this.offsetstart = value;
    }

    /**
     * Gets the value of the offsetend property.
     * @return possible object is {@link String }
     */
    public String getOFFSETEND()
    {
        return offsetend;
    }

    /**
     * Sets the value of the offsetend property.
     * @param value String; allowed object is {@link String }
     */
    public void setOFFSETEND(String value)
    {
        this.offsetend = value;
    }

    /**
     * Gets the value of the rotationstart property.
     * @return possible object is {@link String }
     */
    public String getROTATIONSTART()
    {
        return rotationstart;
    }

    /**
     * Sets the value of the rotationstart property.
     * @param value String; allowed object is {@link String }
     */
    public void setROTATIONSTART(String value)
    {
        this.rotationstart = value;
    }

    /**
     * Gets the value of the rotationend property.
     * @return possible object is {@link String }
     */
    public String getROTATIONEND()
    {
        return rotationend;
    }

    /**
     * Sets the value of the rotationend property.
     * @param value String; allowed object is {@link String }
     */
    public void setROTATIONEND(String value)
    {
        this.rotationend = value;
    }

    /**
     * Gets the value of the lanekeeping property.
     * @return possible object is {@link String }
     */
    public String getLANEKEEPING()
    {
        return lanekeeping;
    }

    /**
     * Sets the value of the lanekeeping property.
     * @param value String; allowed object is {@link String }
     */
    public void setLANEKEEPING(String value)
    {
        this.lanekeeping = value;
    }

    /**
     * Gets the value of the base property.
     * @return possible object is {@link String }
     */
    public String getBase()
    {
        return base;
    }

    /**
     * Sets the value of the base property.
     * @param value String; allowed object is {@link String }
     */
    public void setBase(String value)
    {
        this.base = value;
    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="RADIUS" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" />
     *       &lt;attribute name="ANGLE" use="required" type="{http://www.opentrafficsim.org/ots}ANGLETYPE" />
     *       &lt;attribute name="DIRECTION" use="required" type="{http://www.opentrafficsim.org/ots}LEFTRIGHTTYPE" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class ARC
    {

        @XmlAttribute(name = "RADIUS", required = true)
        protected String radius;

        @XmlAttribute(name = "ANGLE", required = true)
        protected String angle;

        @XmlAttribute(name = "DIRECTION", required = true)
        protected String direction;

        /**
         * Gets the value of the radius property.
         * @return possible object is {@link String }
         */
        public String getRADIUS()
        {
            return radius;
        }

        /**
         * Sets the value of the radius property.
         * @param value String; allowed object is {@link String }
         */
        public void setRADIUS(String value)
        {
            this.radius = value;
        }

        /**
         * Gets the value of the angle property.
         * @return possible object is {@link String }
         */
        public String getANGLE()
        {
            return angle;
        }

        /**
         * Sets the value of the angle property.
         * @param value String; allowed object is {@link String }
         */
        public void setANGLE(String value)
        {
            this.angle = value;
        }

        /**
         * Gets the value of the direction property.
         * @return possible object is {@link String }
         */
        public String getDIRECTION()
        {
            return direction;
        }

        /**
         * Sets the value of the direction property.
         * @param value String; allowed object is {@link String }
         */
        public void setDIRECTION(String value)
        {
            this.direction = value;
        }

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="POSITION" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class BLOCK
    {

        @XmlAttribute(name = "LANE", required = true)
        protected String lane;

        @XmlAttribute(name = "POSITION", required = true)
        protected String position;

        /**
         * Gets the value of the lane property.
         * @return possible object is {@link String }
         */
        public String getLANE()
        {
            return lane;
        }

        /**
         * Sets the value of the lane property.
         * @param value String; allowed object is {@link String }
         */
        public void setLANE(String value)
        {
            this.lane = value;
        }

        /**
         * Gets the value of the position property.
         * @return possible object is {@link String }
         */
        public String getPOSITION()
        {
            return position;
        }

        /**
         * Sets the value of the position property.
         * @param value String; allowed object is {@link String }
         */
        public void setPOSITION(String value)
        {
            this.position = value;
        }

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="STARTANGLE" type="{http://www.opentrafficsim.org/ots}ANGLETYPE" />
     *       &lt;attribute name="STARTCURVATURE" use="required" type="{http://www.opentrafficsim.org/ots}PERLENGTHTYPE" />
     *       &lt;attribute name="ENDCURVATURE" use="required" type="{http://www.opentrafficsim.org/ots}PERLENGTHTYPE" />
     *       &lt;attribute name="LENGTH" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" />
     *       &lt;attribute name="ENDELEVATION" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" />
     *       &lt;attribute name="NUMSEGMENTS" type="{http://www.w3.org/2001/XMLSchema}integer" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class CLOTHOID
    {

        @XmlAttribute(name = "STARTANGLE")
        protected String startangle;

        @XmlAttribute(name = "STARTCURVATURE", required = true)
        protected String startcurvature;

        @XmlAttribute(name = "ENDCURVATURE", required = true)
        protected String endcurvature;

        @XmlAttribute(name = "LENGTH")
        protected String length;

        @XmlAttribute(name = "ENDELEVATION")
        protected String endelevation;

        @XmlAttribute(name = "NUMSEGMENTS")
        protected BigInteger numsegments;

        /**
         * Gets the value of the startangle property.
         * @return possible object is {@link String }
         */
        public String getSTARTANGLE()
        {
            return startangle;
        }

        /**
         * Sets the value of the startangle property.
         * @param value String; allowed object is {@link String }
         */
        public void setSTARTANGLE(String value)
        {
            this.startangle = value;
        }

        /**
         * Gets the value of the startcurvature property.
         * @return possible object is {@link String }
         */
        public String getSTARTCURVATURE()
        {
            return startcurvature;
        }

        /**
         * Sets the value of the startcurvature property.
         * @param value String; allowed object is {@link String }
         */
        public void setSTARTCURVATURE(String value)
        {
            this.startcurvature = value;
        }

        /**
         * Gets the value of the endcurvature property.
         * @return possible object is {@link String }
         */
        public String getENDCURVATURE()
        {
            return endcurvature;
        }

        /**
         * Sets the value of the endcurvature property.
         * @param value String; allowed object is {@link String }
         */
        public void setENDCURVATURE(String value)
        {
            this.endcurvature = value;
        }

        /**
         * Gets the value of the length property.
         * @return possible object is {@link String }
         */
        public String getLENGTH()
        {
            return length;
        }

        /**
         * Sets the value of the length property.
         * @param value String; allowed object is {@link String }
         */
        public void setLENGTH(String value)
        {
            this.length = value;
        }

        /**
         * Gets the value of the endelevation property.
         * @return possible object is {@link String }
         */
        public String getENDELEVATION()
        {
            return endelevation;
        }

        /**
         * Sets the value of the endelevation property.
         * @param value String; allowed object is {@link String }
         */
        public void setENDELEVATION(String value)
        {
            this.endelevation = value;
        }

        /**
         * Gets the value of the numsegments property.
         * @return possible object is {@link BigInteger }
         */
        public BigInteger getNUMSEGMENTS()
        {
            return numsegments;
        }

        /**
         * Sets the value of the numsegments property.
         * @param value BigInteger; allowed object is {@link BigInteger }
         */
        public void setNUMSEGMENTS(BigInteger value)
        {
            this.numsegments = value;
        }

    }

    /**
     * @author p070518
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class BEZIER
    {

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="GTU" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="GTUMIX" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="DISTANCE" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHDISTTYPE" />
     *       &lt;attribute name="INITIALSPEED" use="required" type="{http://www.opentrafficsim.org/ots}SPEEDDISTTYPE" />
     *       &lt;attribute name="MAXGTU" type="{http://www.w3.org/2001/XMLSchema}double" />
     *       &lt;attribute name="ROUTE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class FILL
    {

        @XmlAttribute(name = "LANE", required = true)
        protected String lane;

        @XmlAttribute(name = "GTU")
        protected String gtu;

        @XmlAttribute(name = "GTUMIX")
        protected String gtumix;

        @XmlAttribute(name = "DISTANCE", required = true)
        protected String distance;

        @XmlAttribute(name = "INITIALSPEED", required = true)
        protected String initialspeed;

        @XmlAttribute(name = "MAXGTU")
        protected Double maxgtu;

        @XmlAttribute(name = "ROUTE", required = true)
        protected String route;

        /**
         * Gets the value of the lane property.
         * @return possible object is {@link String }
         */
        public String getLANE()
        {
            return lane;
        }

        /**
         * Sets the value of the lane property.
         * @param value String; allowed object is {@link String }
         */
        public void setLANE(String value)
        {
            this.lane = value;
        }

        /**
         * Gets the value of the gtu property.
         * @return possible object is {@link String }
         */
        public String getGTU()
        {
            return gtu;
        }

        /**
         * Sets the value of the gtu property.
         * @param value String; allowed object is {@link String }
         */
        public void setGTU(String value)
        {
            this.gtu = value;
        }

        /**
         * Gets the value of the gtumix property.
         * @return possible object is {@link String }
         */
        public String getGTUMIX()
        {
            return gtumix;
        }

        /**
         * Sets the value of the gtumix property.
         * @param value String; allowed object is {@link String }
         */
        public void setGTUMIX(String value)
        {
            this.gtumix = value;
        }

        /**
         * Gets the value of the distance property.
         * @return possible object is {@link String }
         */
        public String getDISTANCE()
        {
            return distance;
        }

        /**
         * Sets the value of the distance property.
         * @param value String; allowed object is {@link String }
         */
        public void setDISTANCE(String value)
        {
            this.distance = value;
        }

        /**
         * Gets the value of the initialspeed property.
         * @return possible object is {@link String }
         */
        public String getINITIALSPEED()
        {
            return initialspeed;
        }

        /**
         * Sets the value of the initialspeed property.
         * @param value String; allowed object is {@link String }
         */
        public void setINITIALSPEED(String value)
        {
            this.initialspeed = value;
        }

        /**
         * Gets the value of the maxgtu property.
         * @return possible object is {@link Double }
         */
        public Double getMAXGTU()
        {
            return maxgtu;
        }

        /**
         * Sets the value of the maxgtu property.
         * @param value Double; allowed object is {@link Double }
         */
        public void setMAXGTU(Double value)
        {
            this.maxgtu = value;
        }

        /**
         * Gets the value of the route property.
         * @return possible object is {@link String }
         */
        public String getROUTE()
        {
            return route;
        }

        /**
         * Sets the value of the route property.
         * @param value String; allowed object is {@link String }
         */
        public void setROUTE(String value)
        {
            this.route = value;
        }

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="POSITION" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
     *       &lt;attribute name="GTU" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="GTUMIX" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="IAT" use="required" type="{http://www.opentrafficsim.org/ots}TIMEDISTTYPE" />
     *       &lt;attribute name="INITIALSPEED" use="required" type="{http://www.opentrafficsim.org/ots}SPEEDDISTTYPE" />
     *       &lt;attribute name="MAXGTU" type="{http://www.w3.org/2001/XMLSchema}double" />
     *       &lt;attribute name="STARTTIME" type="{http://www.opentrafficsim.org/ots}TIMETYPE" />
     *       &lt;attribute name="ENDTIME" type="{http://www.opentrafficsim.org/ots}TIMETYPE" />
     *       &lt;attribute name="ROUTE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="GTUCOLORER" use="required" type="{http://www.opentrafficsim.org/ots}GTUCOLORERTYPE" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class GENERATOR
    {

        @XmlAttribute(name = "LANE", required = true)
        protected String lane;

        @XmlAttribute(name = "POSITION")
        protected String position;

        @XmlAttribute(name = "GTU")
        protected String gtu;

        @XmlAttribute(name = "GTUMIX")
        protected String gtumix;

        @XmlAttribute(name = "IAT", required = true)
        protected String iat;

        @XmlAttribute(name = "INITIALSPEED", required = true)
        protected String initialspeed;

        @XmlAttribute(name = "MAXGTU")
        protected Double maxgtu;

        @XmlAttribute(name = "STARTTIME")
        protected String starttime;

        @XmlAttribute(name = "ENDTIME")
        protected String endtime;

        @XmlAttribute(name = "ROUTE", required = true)
        protected String route;

        @XmlAttribute(name = "GTUCOLORER", required = true)
        protected String gtucolorer;

        /**
         * Gets the value of the lane property.
         * @return possible object is {@link String }
         */
        public String getLANE()
        {
            return lane;
        }

        /**
         * Sets the value of the lane property.
         * @param value String; allowed object is {@link String }
         */
        public void setLANE(String value)
        {
            this.lane = value;
        }

        /**
         * Gets the value of the position property.
         * @return possible object is {@link String }
         */
        public String getPOSITION()
        {
            return position;
        }

        /**
         * Sets the value of the position property.
         * @param value String; allowed object is {@link String }
         */
        public void setPOSITION(String value)
        {
            this.position = value;
        }

        /**
         * Gets the value of the gtu property.
         * @return possible object is {@link String }
         */
        public String getGTU()
        {
            return gtu;
        }

        /**
         * Sets the value of the gtu property.
         * @param value String; allowed object is {@link String }
         */
        public void setGTU(String value)
        {
            this.gtu = value;
        }

        /**
         * Gets the value of the gtumix property.
         * @return possible object is {@link String }
         */
        public String getGTUMIX()
        {
            return gtumix;
        }

        /**
         * Sets the value of the gtumix property.
         * @param value String; allowed object is {@link String }
         */
        public void setGTUMIX(String value)
        {
            this.gtumix = value;
        }

        /**
         * Gets the value of the iat property.
         * @return possible object is {@link String }
         */
        public String getIAT()
        {
            return iat;
        }

        /**
         * Sets the value of the iat property.
         * @param value String; allowed object is {@link String }
         */
        public void setIAT(String value)
        {
            this.iat = value;
        }

        /**
         * Gets the value of the initialspeed property.
         * @return possible object is {@link String }
         */
        public String getINITIALSPEED()
        {
            return initialspeed;
        }

        /**
         * Sets the value of the initialspeed property.
         * @param value String; allowed object is {@link String }
         */
        public void setINITIALSPEED(String value)
        {
            this.initialspeed = value;
        }

        /**
         * Gets the value of the maxgtu property.
         * @return possible object is {@link Double }
         */
        public Double getMAXGTU()
        {
            return maxgtu;
        }

        /**
         * Sets the value of the maxgtu property.
         * @param value Double; allowed object is {@link Double }
         */
        public void setMAXGTU(Double value)
        {
            this.maxgtu = value;
        }

        /**
         * Gets the value of the starttime property.
         * @return possible object is {@link String }
         */
        public String getSTARTTIME()
        {
            return starttime;
        }

        /**
         * Sets the value of the starttime property.
         * @param value String; allowed object is {@link String }
         */
        public void setSTARTTIME(String value)
        {
            this.starttime = value;
        }

        /**
         * Gets the value of the endtime property.
         * @return possible object is {@link String }
         */
        public String getENDTIME()
        {
            return endtime;
        }

        /**
         * Sets the value of the endtime property.
         * @param value String; allowed object is {@link String }
         */
        public void setENDTIME(String value)
        {
            this.endtime = value;
        }

        /**
         * Gets the value of the route property.
         * @return possible object is {@link String }
         */
        public String getROUTE()
        {
            return route;
        }

        /**
         * Sets the value of the route property.
         * @param value String; allowed object is {@link String }
         */
        public void setROUTE(String value)
        {
            this.route = value;
        }

        /**
         * Gets the value of the gtucolorer property.
         * @return possible object is {@link String }
         */
        public String getGTUCOLORER()
        {
            return gtucolorer;
        }

        /**
         * Sets the value of the gtucolorer property.
         * @param value String; allowed object is {@link String }
         */
        public void setGTUCOLORER(String value)
        {
            this.gtucolorer = value;
        }

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="LEGALSPEEDLIMIT" type="{http://www.opentrafficsim.org/ots}SPEEDTYPE" />
     *       &lt;attribute name="DIRECTION" type="{http://www.opentrafficsim.org/ots}DIRECTIONTYPE" />
     *       &lt;attribute name="COLOR" type="{http://www.opentrafficsim.org/ots}COLORTYPE" />
     *       &lt;attribute name="OVERTAKING" type="{http://www.opentrafficsim.org/ots}OVERTAKINGTYPE" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class LANEOVERRIDE
    {

        @XmlAttribute(name = "LANE", required = true)
        protected String lane;

        @XmlAttribute(name = "LEGALSPEEDLIMIT")
        protected String legalspeedlimit;

        @XmlAttribute(name = "DIRECTION")
        protected String direction;

        @XmlAttribute(name = "COLOR")
        protected String color;

        @XmlAttribute(name = "OVERTAKING")
        protected String overtaking;

        /**
         * Gets the value of the lane property.
         * @return possible object is {@link String }
         */
        public String getLANE()
        {
            return lane;
        }

        /**
         * Sets the value of the lane property.
         * @param value String; allowed object is {@link String }
         */
        public void setLANE(String value)
        {
            this.lane = value;
        }

        /**
         * Gets the value of the legalspeedlimit property.
         * @return possible object is {@link String }
         */
        public String getLEGALSPEEDLIMIT()
        {
            return legalspeedlimit;
        }

        /**
         * Sets the value of the legalspeedlimit property.
         * @param value String; allowed object is {@link String }
         */
        public void setLEGALSPEEDLIMIT(String value)
        {
            this.legalspeedlimit = value;
        }

        /**
         * Gets the value of the direction property.
         * @return possible object is {@link String }
         */
        public String getDIRECTION()
        {
            return direction;
        }

        /**
         * Sets the value of the direction property.
         * @param value String; allowed object is {@link String }
         */
        public void setDIRECTION(String value)
        {
            this.direction = value;
        }

        /**
         * Gets the value of the color property.
         * @return possible object is {@link String }
         */
        public String getCOLOR()
        {
            return color;
        }

        /**
         * Sets the value of the color property.
         * @param value String; allowed object is {@link String }
         */
        public void setCOLOR(String value)
        {
            this.color = value;
        }

        /**
         * Gets the value of the overtaking property.
         * @return possible object is {@link String }
         */
        public String getOVERTAKING()
        {
            return overtaking;
        }

        /**
         * Sets the value of the overtaking property.
         * @param value String; allowed object is {@link String }
         */
        public void setOVERTAKING(String value)
        {
            this.overtaking = value;
        }

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="URI" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
     *       &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="POSITION" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
     *       &lt;attribute name="GTU" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="GTUMIX" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="INITIALSPEED" use="required" type="{http://www.opentrafficsim.org/ots}SPEEDDISTTYPE" />
     *       &lt;attribute name="ROUTE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="GTUCOLORER" use="required" type="{http://www.opentrafficsim.org/ots}GTUCOLORERTYPE" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class LISTGENERATOR
    {

        @XmlAttribute(name = "URI", required = true)
        @XmlSchemaType(name = "anyURI")
        protected String uri;

        @XmlAttribute(name = "LANE", required = true)
        protected String lane;

        @XmlAttribute(name = "POSITION")
        protected String position;

        @XmlAttribute(name = "GTU")
        protected String gtu;

        @XmlAttribute(name = "GTUMIX")
        protected String gtumix;

        @XmlAttribute(name = "INITIALSPEED", required = true)
        protected String initialspeed;

        @XmlAttribute(name = "ROUTE", required = true)
        protected String route;

        @XmlAttribute(name = "GTUCOLORER", required = true)
        protected String gtucolorer;

        /**
         * Gets the value of the uri property.
         * @return possible object is {@link String }
         */
        public String getURI()
        {
            return uri;
        }

        /**
         * Sets the value of the uri property.
         * @param value String; allowed object is {@link String }
         */
        public void setURI(String value)
        {
            this.uri = value;
        }

        /**
         * Gets the value of the lane property.
         * @return possible object is {@link String }
         */
        public String getLANE()
        {
            return lane;
        }

        /**
         * Sets the value of the lane property.
         * @param value String; allowed object is {@link String }
         */
        public void setLANE(String value)
        {
            this.lane = value;
        }

        /**
         * Gets the value of the position property.
         * @return possible object is {@link String }
         */
        public String getPOSITION()
        {
            return position;
        }

        /**
         * Sets the value of the position property.
         * @param value String; allowed object is {@link String }
         */
        public void setPOSITION(String value)
        {
            this.position = value;
        }

        /**
         * Gets the value of the gtu property.
         * @return possible object is {@link String }
         */
        public String getGTU()
        {
            return gtu;
        }

        /**
         * Sets the value of the gtu property.
         * @param value String; allowed object is {@link String }
         */
        public void setGTU(String value)
        {
            this.gtu = value;
        }

        /**
         * Gets the value of the gtumix property.
         * @return possible object is {@link String }
         */
        public String getGTUMIX()
        {
            return gtumix;
        }

        /**
         * Sets the value of the gtumix property.
         * @param value String; allowed object is {@link String }
         */
        public void setGTUMIX(String value)
        {
            this.gtumix = value;
        }

        /**
         * Gets the value of the initialspeed property.
         * @return possible object is {@link String }
         */
        public String getINITIALSPEED()
        {
            return initialspeed;
        }

        /**
         * Sets the value of the initialspeed property.
         * @param value String; allowed object is {@link String }
         */
        public void setINITIALSPEED(String value)
        {
            this.initialspeed = value;
        }

        /**
         * Gets the value of the route property.
         * @return possible object is {@link String }
         */
        public String getROUTE()
        {
            return route;
        }

        /**
         * Sets the value of the route property.
         * @param value String; allowed object is {@link String }
         */
        public void setROUTE(String value)
        {
            this.route = value;
        }

        /**
         * Gets the value of the gtucolorer property.
         * @return possible object is {@link String }
         */
        public String getGTUCOLORER()
        {
            return gtucolorer;
        }

        /**
         * Sets the value of the gtucolorer property.
         * @param value String; allowed object is {@link String }
         */
        public void setGTUCOLORER(String value)
        {
            this.gtucolorer = value;
        }

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="LENGTH" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" />
     *       &lt;attribute name="INTERMEDIATEPOINTS" type="{http://www.opentrafficsim.org/ots}COORDINATELISTTYPE" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class POLYLINE
    {

        @XmlAttribute(name = "LENGTH")
        protected String length;

        @XmlAttribute(name = "INTERMEDIATEPOINTS")
        protected List<String> intermediatepoints;

        /**
         * Gets the value of the length property.
         * @return possible object is {@link String }
         */
        public String getLENGTH()
        {
            return length;
        }

        /**
         * Sets the value of the length property.
         * @param value String; allowed object is {@link String }
         */
        public void setLENGTH(String value)
        {
            this.length = value;
        }

        /**
         * Gets the value of the intermediatepoints 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
         * intermediatepoints property.
         * <p>
         * For example, to add a new item, do as follows:
         *
         * <pre>
         * getINTERMEDIATEPOINTS().add(newItem);
         * </pre>
         * <p>
         * Objects of the following type(s) are allowed in the list {@link String }
         */
        /**
         * @return intermediate points
         */
        public List<String> getINTERMEDIATEPOINTS()
        {
            if (intermediatepoints == null)
            {
                intermediatepoints = new ArrayList<String>();
            }
            return this.intermediatepoints;
        }

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="NAME" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="POSITION" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
     *       &lt;attribute name="CLASS" use="required" type="{http://www.opentrafficsim.org/ots}CLASSNAMETYPE" />
     *       &lt;attribute name="TRIGGER" use="required" type="{http://www.opentrafficsim.org/ots}GTUPOSITIONTYPE" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class SENSOR
    {

        @XmlAttribute(name = "NAME")
        protected String name;

        @XmlAttribute(name = "LANE", required = true)
        protected String lane;

        @XmlAttribute(name = "POSITION", required = true)
        protected String position;

        @XmlAttribute(name = "CLASS", required = true)
        protected String _class;

        @XmlAttribute(name = "TRIGGER", required = true)
        protected String trigger;

        /**
         * 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 String; allowed object is {@link String }
         */
        public void setNAME(String value)
        {
            this.name = value;
        }

        /**
         * Gets the value of the lane property.
         * @return possible object is {@link String }
         */
        public String getLANE()
        {
            return lane;
        }

        /**
         * Sets the value of the lane property.
         * @param value String; allowed object is {@link String }
         */
        public void setLANE(String value)
        {
            this.lane = value;
        }

        /**
         * Gets the value of the position property.
         * @return possible object is {@link String }
         */
        public String getPOSITION()
        {
            return position;
        }

        /**
         * Sets the value of the position property.
         * @param value String; allowed object is {@link String }
         */
        public void setPOSITION(String value)
        {
            this.position = value;
        }

        /**
         * Gets the value of the class property.
         * @return possible object is {@link String }
         */
        public String getCLASS()
        {
            return _class;
        }

        /**
         * Sets the value of the class property.
         * @param value String; allowed object is {@link String }
         */
        public void setCLASS(String value)
        {
            this._class = value;
        }

        /**
         * Gets the value of the trigger property.
         * @return possible object is {@link String }
         */
        public String getTRIGGER()
        {
            return trigger;
        }

        /**
         * Sets the value of the trigger property.
         * @param value String; allowed object is {@link String }
         */
        public void setTRIGGER(String value)
        {
            this.trigger = value;
        }

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="POSITION" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class SINK
    {

        @XmlAttribute(name = "LANE", required = true)
        protected String lane;

        @XmlAttribute(name = "POSITION", required = true)
        protected String position;

        /**
         * Gets the value of the lane property.
         * @return possible object is {@link String }
         */
        public String getLANE()
        {
            return lane;
        }

        /**
         * Sets the value of the lane property.
         * @param value String; allowed object is {@link String }
         */
        public void setLANE(String value)
        {
            this.lane = value;
        }

        /**
         * Gets the value of the position property.
         * @return possible object is {@link String }
         */
        public String getPOSITION()
        {
            return position;
        }

        /**
         * Sets the value of the position property.
         * @param value String; allowed object is {@link String }
         */
        public void setPOSITION(String value)
        {
            this.position = value;
        }

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="LENGTH" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class STRAIGHT
    {

        @XmlAttribute(name = "LENGTH")
        protected String length;

        /**
         * Gets the value of the length property.
         * @return possible object is {@link String }
         */
        public String getLENGTH()
        {
            return length;
        }

        /**
         * Sets the value of the length property.
         * @param value String; allowed object is {@link String }
         */
        public void setLENGTH(String value)
        {
            this.length = value;
        }

    }

    /**
     * <p>
     * Java class for anonymous complex type.
     * <p>
     * The following schema fragment specifies the expected content contained within this class.
     *
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;attribute name="NAME" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
     *       &lt;attribute name="POSITION" use="required" type="{http://www.opentrafficsim.org/ots}LENGTHBEGINENDTYPE" />
     *       &lt;attribute name="CLASS" use="required" type="{http://www.opentrafficsim.org/ots}CLASSNAMETYPE" />
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    public static class TRAFFICLIGHT
    {

        @XmlAttribute(name = "NAME")
        protected String name;

        @XmlAttribute(name = "LANE", required = true)
        protected String lane;

        @XmlAttribute(name = "POSITION", required = true)
        protected String position;

        @XmlAttribute(name = "CLASS", required = true)
        protected String _class;

        /**
         * 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 String; allowed object is {@link String }
         */
        public void setNAME(String value)
        {
            this.name = value;
        }

        /**
         * Gets the value of the lane property.
         * @return possible object is {@link String }
         */
        public String getLANE()
        {
            return lane;
        }

        /**
         * Sets the value of the lane property.
         * @param value String; allowed object is {@link String }
         */
        public void setLANE(String value)
        {
            this.lane = value;
        }

        /**
         * Gets the value of the position property.
         * @return possible object is {@link String }
         */
        public String getPOSITION()
        {
            return position;
        }

        /**
         * Sets the value of the position property.
         * @param value String; allowed object is {@link String }
         */
        public void setPOSITION(String value)
        {
            this.position = value;
        }

        /**
         * Gets the value of the class property.
         * @return possible object is {@link String }
         */
        public String getCLASS()
        {
            return _class;
        }

        /**
         * Sets the value of the class property.
         * @param value String; allowed object is {@link String }
         */
        public void setCLASS(String value)
        {
            this._class = value;
        }

    }

}