Od.java

//
// This file was generated by the Eclipse Implementation of JAXB, v2.3.7 
// See https://eclipse-ee4j.github.io/jaxb-ri 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2024.08.29 at 06:50:16 PM CEST 
//


package org.opentrafficsim.xml.generated;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Generated;
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.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.opentrafficsim.xml.bindings.InterpolationAdapter;
import org.opentrafficsim.xml.bindings.PositiveFactorAdapter;
import org.opentrafficsim.xml.bindings.StringAdapter;
import org.opentrafficsim.xml.bindings.types.DoubleType;
import org.opentrafficsim.xml.bindings.types.InterpolationType;
import org.opentrafficsim.xml.bindings.types.StringType;


/**
 * <p>Java class for anonymous complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="GlobalTime" type="{http://www.opentrafficsim.org/ots}GlobalTimeType" minOccurs="0"/&gt;
 *         &lt;element name="Category" type="{http://www.opentrafficsim.org/ots}CategoryType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element name="Cell" maxOccurs="unbounded" minOccurs="0"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="Level" type="{http://www.opentrafficsim.org/ots}LevelTimeType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *                 &lt;/sequence&gt;
 *                 &lt;attribute name="Origin" use="required" type="{http://www.opentrafficsim.org/ots}string" /&gt;
 *                 &lt;attribute name="Destination" use="required" type="{http://www.opentrafficsim.org/ots}string" /&gt;
 *                 &lt;attribute name="Category" type="{http://www.opentrafficsim.org/ots}string" /&gt;
 *                 &lt;attribute name="Interpolation" type="{http://www.opentrafficsim.org/ots}InterpolationType" /&gt;
 *                 &lt;attribute name="Factor" type="{http://www.opentrafficsim.org/ots}PositiveFactor" /&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="RandomStream" type="{http://www.opentrafficsim.org/ots}RandomStreamSource" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *       &lt;attribute name="Id" use="required" type="{http://www.opentrafficsim.org/ots}IdType" /&gt;
 *       &lt;attribute name="SinkType" use="required" type="{http://www.opentrafficsim.org/ots}string" /&gt;
 *       &lt;attribute name="GlobalInterpolation" type="{http://www.opentrafficsim.org/ots}InterpolationType" default="LINEAR" /&gt;
 *       &lt;attribute name="GlobalFactor" type="{http://www.opentrafficsim.org/ots}PositiveFactor" default="1.0" /&gt;
 *       &lt;attribute name="Options" type="{http://www.opentrafficsim.org/ots}string" /&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "globalTime",
    "category",
    "cell",
    "randomStream"
})
@XmlRootElement(name = "Od")
@Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
public class Od
    implements Serializable
{

    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    private final static long serialVersionUID = 10102L;
    @XmlElement(name = "GlobalTime")
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected GlobalTimeType globalTime;
    @XmlElement(name = "Category")
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected List<CategoryType> category;
    @XmlElement(name = "Cell")
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected List<Od.Cell> cell;
    @XmlElement(name = "RandomStream")
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected RandomStreamSource randomStream;
    @XmlAttribute(name = "Id", required = true)
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected String id;
    @XmlAttribute(name = "SinkType", required = true)
    @XmlJavaTypeAdapter(StringAdapter.class)
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected StringType sinkType;
    @XmlAttribute(name = "GlobalInterpolation")
    @XmlJavaTypeAdapter(InterpolationAdapter.class)
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected InterpolationType globalInterpolation;
    @XmlAttribute(name = "GlobalFactor")
    @XmlJavaTypeAdapter(PositiveFactorAdapter.class)
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected DoubleType globalFactor;
    @XmlAttribute(name = "Options")
    @XmlJavaTypeAdapter(StringAdapter.class)
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected StringType options;

    /**
     * Gets the value of the globalTime property.
     * 
     * @return
     *     possible object is
     *     {@link GlobalTimeType }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public GlobalTimeType getGlobalTime() {
        return globalTime;
    }

    /**
     * Sets the value of the globalTime property.
     * 
     * @param value
     *     allowed object is
     *     {@link GlobalTimeType }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public void setGlobalTime(GlobalTimeType value) {
        this.globalTime = value;
    }

    /**
     * Gets the value of the category 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 category property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCategory().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link CategoryType }
     * 
     * 
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public List<CategoryType> getCategory() {
        if (category == null) {
            category = new ArrayList<CategoryType>();
        }
        return this.category;
    }

    /**
     * Gets the value of the cell 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 cell property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCell().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Od.Cell }
     * 
     * 
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public List<Od.Cell> getCell() {
        if (cell == null) {
            cell = new ArrayList<Od.Cell>();
        }
        return this.cell;
    }

    /**
     * Gets the value of the randomStream property.
     * 
     * @return
     *     possible object is
     *     {@link RandomStreamSource }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public RandomStreamSource getRandomStream() {
        return randomStream;
    }

    /**
     * Sets the value of the randomStream property.
     * 
     * @param value
     *     allowed object is
     *     {@link RandomStreamSource }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public void setRandomStream(RandomStreamSource value) {
        this.randomStream = value;
    }

    /**
     * Gets the value of the id property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public String getId() {
        return id;
    }

    /**
     * Sets the value of the id property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public void setId(String value) {
        this.id = value;
    }

    /**
     * Gets the value of the sinkType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public StringType getSinkType() {
        return sinkType;
    }

    /**
     * Sets the value of the sinkType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public void setSinkType(StringType value) {
        this.sinkType = value;
    }

    /**
     * Gets the value of the globalInterpolation property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public InterpolationType getGlobalInterpolation() {
        if (globalInterpolation == null) {
            return new InterpolationAdapter().unmarshal("LINEAR");
        } else {
            return globalInterpolation;
        }
    }

    /**
     * Sets the value of the globalInterpolation property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public void setGlobalInterpolation(InterpolationType value) {
        this.globalInterpolation = value;
    }

    /**
     * Gets the value of the globalFactor property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public DoubleType getGlobalFactor() {
        if (globalFactor == null) {
            return new PositiveFactorAdapter().unmarshal("1.0");
        } else {
            return globalFactor;
        }
    }

    /**
     * Sets the value of the globalFactor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public void setGlobalFactor(DoubleType value) {
        this.globalFactor = value;
    }

    /**
     * Gets the value of the options property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public StringType getOptions() {
        return options;
    }

    /**
     * Sets the value of the options property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public void setOptions(StringType value) {
        this.options = value;
    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="Level" type="{http://www.opentrafficsim.org/ots}LevelTimeType" maxOccurs="unbounded" minOccurs="0"/&gt;
     *       &lt;/sequence&gt;
     *       &lt;attribute name="Origin" use="required" type="{http://www.opentrafficsim.org/ots}string" /&gt;
     *       &lt;attribute name="Destination" use="required" type="{http://www.opentrafficsim.org/ots}string" /&gt;
     *       &lt;attribute name="Category" type="{http://www.opentrafficsim.org/ots}string" /&gt;
     *       &lt;attribute name="Interpolation" type="{http://www.opentrafficsim.org/ots}InterpolationType" /&gt;
     *       &lt;attribute name="Factor" type="{http://www.opentrafficsim.org/ots}PositiveFactor" /&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "level"
    })
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public static class Cell
        implements Serializable
    {

        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        private final static long serialVersionUID = 10102L;
        @XmlElement(name = "Level")
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected List<LevelTimeType> level;
        @XmlAttribute(name = "Origin", required = true)
        @XmlJavaTypeAdapter(StringAdapter.class)
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected StringType origin;
        @XmlAttribute(name = "Destination", required = true)
        @XmlJavaTypeAdapter(StringAdapter.class)
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected StringType destination;
        @XmlAttribute(name = "Category")
        @XmlJavaTypeAdapter(StringAdapter.class)
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected StringType category;
        @XmlAttribute(name = "Interpolation")
        @XmlJavaTypeAdapter(InterpolationAdapter.class)
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected InterpolationType interpolation;
        @XmlAttribute(name = "Factor")
        @XmlJavaTypeAdapter(PositiveFactorAdapter.class)
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected DoubleType factor;

        /**
         * Gets the value of the level 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 level property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getLevel().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link LevelTimeType }
         * 
         * 
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public List<LevelTimeType> getLevel() {
            if (level == null) {
                level = new ArrayList<LevelTimeType>();
            }
            return this.level;
        }

        /**
         * Gets the value of the origin property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public StringType getOrigin() {
            return origin;
        }

        /**
         * Sets the value of the origin property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public void setOrigin(StringType value) {
            this.origin = value;
        }

        /**
         * Gets the value of the destination property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public StringType getDestination() {
            return destination;
        }

        /**
         * Sets the value of the destination property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public void setDestination(StringType value) {
            this.destination = value;
        }

        /**
         * Gets the value of the category property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public StringType getCategory() {
            return category;
        }

        /**
         * Sets the value of the category property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public void setCategory(StringType value) {
            this.category = value;
        }

        /**
         * Gets the value of the interpolation property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public InterpolationType getInterpolation() {
            return interpolation;
        }

        /**
         * Sets the value of the interpolation property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public void setInterpolation(InterpolationType value) {
            this.interpolation = value;
        }

        /**
         * Gets the value of the factor property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public DoubleType getFactor() {
            return factor;
        }

        /**
         * Sets the value of the factor property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public void setFactor(DoubleType value) {
            this.factor = value;
        }

    }

}