PerceptionType.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.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.opentrafficsim.xml.bindings.AnticipationAdapter;
import org.opentrafficsim.xml.bindings.ClassAdapter;
import org.opentrafficsim.xml.bindings.EstimationAdapter;
import org.opentrafficsim.xml.bindings.StringAdapter;
import org.opentrafficsim.xml.bindings.types.AnticipationType;
import org.opentrafficsim.xml.bindings.types.ClassType;
import org.opentrafficsim.xml.bindings.types.EstimationType;
import org.opentrafficsim.xml.bindings.types.StringType;


/**
 * <p>Java class for PerceptionType complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="PerceptionType"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="Categories" minOccurs="0"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;all minOccurs="0"&gt;
 *                   &lt;element name="Ego" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
 *                   &lt;element name="Infrastructure" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
 *                   &lt;element name="Neighbors" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
 *                   &lt;element name="Intersection" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
 *                   &lt;element name="BusStop" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
 *                   &lt;element name="Traffic" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
 *                 &lt;/all&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="HeadwayGtuType" minOccurs="0"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;choice&gt;
 *                   &lt;element name="Wrap" type="{http://www.opentrafficsim.org/ots}EmptyType"/&gt;
 *                   &lt;element name="Perceived"&gt;
 *                     &lt;complexType&gt;
 *                       &lt;complexContent&gt;
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                           &lt;sequence&gt;
 *                             &lt;element name="Estimation"&gt;
 *                               &lt;simpleType&gt;
 *                                 &lt;union memberTypes=" {http://www.opentrafficsim.org/ots}Expression"&gt;
 *                                   &lt;simpleType&gt;
 *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *                                       &lt;enumeration value="NONE"/&gt;
 *                                       &lt;enumeration value="UNDERESTIMATION"/&gt;
 *                                       &lt;enumeration value="OVERESTIMATION"/&gt;
 *                                     &lt;/restriction&gt;
 *                                   &lt;/simpleType&gt;
 *                                 &lt;/union&gt;
 *                               &lt;/simpleType&gt;
 *                             &lt;/element&gt;
 *                             &lt;element name="Anticipation"&gt;
 *                               &lt;simpleType&gt;
 *                                 &lt;union memberTypes=" {http://www.opentrafficsim.org/ots}Expression"&gt;
 *                                   &lt;simpleType&gt;
 *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *                                       &lt;enumeration value="NONE"/&gt;
 *                                       &lt;enumeration value="CONSTANT_SPEED"/&gt;
 *                                       &lt;enumeration value="CONSTANT_ACCELERATION"/&gt;
 *                                     &lt;/restriction&gt;
 *                                   &lt;/simpleType&gt;
 *                                 &lt;/union&gt;
 *                               &lt;/simpleType&gt;
 *                             &lt;/element&gt;
 *                           &lt;/sequence&gt;
 *                         &lt;/restriction&gt;
 *                       &lt;/complexContent&gt;
 *                     &lt;/complexType&gt;
 *                   &lt;/element&gt;
 *                 &lt;/choice&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="Mental" minOccurs="0"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;choice&gt;
 *                   &lt;element name="Fuller"&gt;
 *                     &lt;complexType&gt;
 *                       &lt;complexContent&gt;
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                           &lt;sequence&gt;
 *                             &lt;element name="Task" type="{http://www.opentrafficsim.org/ots}ClassNameType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *                             &lt;element name="BehavioralAdaptations" minOccurs="0"&gt;
 *                               &lt;complexType&gt;
 *                                 &lt;complexContent&gt;
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                     &lt;all minOccurs="0"&gt;
 *                                       &lt;element name="SituationalAwareness" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
 *                                       &lt;element name="Headway" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
 *                                       &lt;element name="Speed" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
 *                                     &lt;/all&gt;
 *                                   &lt;/restriction&gt;
 *                                 &lt;/complexContent&gt;
 *                               &lt;/complexType&gt;
 *                             &lt;/element&gt;
 *                             &lt;element name="TaskManager" minOccurs="0"&gt;
 *                               &lt;simpleType&gt;
 *                                 &lt;union memberTypes=" {http://www.opentrafficsim.org/ots}Expression"&gt;
 *                                   &lt;simpleType&gt;
 *                                     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *                                       &lt;enumeration value="SUMMATIVE"/&gt;
 *                                       &lt;enumeration value="ANTICIPATION_RELIANCE"/&gt;
 *                                     &lt;/restriction&gt;
 *                                   &lt;/simpleType&gt;
 *                                 &lt;/union&gt;
 *                               &lt;/simpleType&gt;
 *                             &lt;/element&gt;
 *                           &lt;/sequence&gt;
 *                         &lt;/restriction&gt;
 *                       &lt;/complexContent&gt;
 *                     &lt;/complexType&gt;
 *                   &lt;/element&gt;
 *                 &lt;/choice&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PerceptionType", propOrder = {
    "categories",
    "headwayGtuType",
    "mental"
})
@Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
public class PerceptionType
    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 = "Categories")
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected PerceptionType.Categories categories;
    @XmlElement(name = "HeadwayGtuType")
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected PerceptionType.HeadwayGtuType headwayGtuType;
    @XmlElement(name = "Mental")
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    protected PerceptionType.Mental mental;

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

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

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

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

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

    /**
     * Sets the value of the mental property.
     * 
     * @param value
     *     allowed object is
     *     {@link PerceptionType.Mental }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public void setMental(PerceptionType.Mental value) {
        this.mental = 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;all minOccurs="0"&gt;
     *         &lt;element name="Ego" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
     *         &lt;element name="Infrastructure" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
     *         &lt;element name="Neighbors" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
     *         &lt;element name="Intersection" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
     *         &lt;element name="BusStop" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
     *         &lt;element name="Traffic" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
     *       &lt;/all&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {

    })
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public static class Categories
        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 = "Ego")
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected EmptyType ego;
        @XmlElement(name = "Infrastructure")
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected EmptyType infrastructure;
        @XmlElement(name = "Neighbors")
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected EmptyType neighbors;
        @XmlElement(name = "Intersection")
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected EmptyType intersection;
        @XmlElement(name = "BusStop")
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected EmptyType busStop;
        @XmlElement(name = "Traffic")
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected EmptyType traffic;

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

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

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

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

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

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

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

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

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

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

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

        /**
         * Sets the value of the traffic property.
         * 
         * @param value
         *     allowed object is
         *     {@link EmptyType }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public void setTraffic(EmptyType value) {
            this.traffic = 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;choice&gt;
     *         &lt;element name="Wrap" type="{http://www.opentrafficsim.org/ots}EmptyType"/&gt;
     *         &lt;element name="Perceived"&gt;
     *           &lt;complexType&gt;
     *             &lt;complexContent&gt;
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                 &lt;sequence&gt;
     *                   &lt;element name="Estimation"&gt;
     *                     &lt;simpleType&gt;
     *                       &lt;union memberTypes=" {http://www.opentrafficsim.org/ots}Expression"&gt;
     *                         &lt;simpleType&gt;
     *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
     *                             &lt;enumeration value="NONE"/&gt;
     *                             &lt;enumeration value="UNDERESTIMATION"/&gt;
     *                             &lt;enumeration value="OVERESTIMATION"/&gt;
     *                           &lt;/restriction&gt;
     *                         &lt;/simpleType&gt;
     *                       &lt;/union&gt;
     *                     &lt;/simpleType&gt;
     *                   &lt;/element&gt;
     *                   &lt;element name="Anticipation"&gt;
     *                     &lt;simpleType&gt;
     *                       &lt;union memberTypes=" {http://www.opentrafficsim.org/ots}Expression"&gt;
     *                         &lt;simpleType&gt;
     *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
     *                             &lt;enumeration value="NONE"/&gt;
     *                             &lt;enumeration value="CONSTANT_SPEED"/&gt;
     *                             &lt;enumeration value="CONSTANT_ACCELERATION"/&gt;
     *                           &lt;/restriction&gt;
     *                         &lt;/simpleType&gt;
     *                       &lt;/union&gt;
     *                     &lt;/simpleType&gt;
     *                   &lt;/element&gt;
     *                 &lt;/sequence&gt;
     *               &lt;/restriction&gt;
     *             &lt;/complexContent&gt;
     *           &lt;/complexType&gt;
     *         &lt;/element&gt;
     *       &lt;/choice&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "wrap",
        "perceived"
    })
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public static class HeadwayGtuType
        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 = "Wrap")
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected EmptyType wrap;
        @XmlElement(name = "Perceived")
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected PerceptionType.HeadwayGtuType.Perceived perceived;

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

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

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

        /**
         * Sets the value of the perceived property.
         * 
         * @param value
         *     allowed object is
         *     {@link PerceptionType.HeadwayGtuType.Perceived }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public void setPerceived(PerceptionType.HeadwayGtuType.Perceived value) {
            this.perceived = 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="Estimation"&gt;
         *           &lt;simpleType&gt;
         *             &lt;union memberTypes=" {http://www.opentrafficsim.org/ots}Expression"&gt;
         *               &lt;simpleType&gt;
         *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
         *                   &lt;enumeration value="NONE"/&gt;
         *                   &lt;enumeration value="UNDERESTIMATION"/&gt;
         *                   &lt;enumeration value="OVERESTIMATION"/&gt;
         *                 &lt;/restriction&gt;
         *               &lt;/simpleType&gt;
         *             &lt;/union&gt;
         *           &lt;/simpleType&gt;
         *         &lt;/element&gt;
         *         &lt;element name="Anticipation"&gt;
         *           &lt;simpleType&gt;
         *             &lt;union memberTypes=" {http://www.opentrafficsim.org/ots}Expression"&gt;
         *               &lt;simpleType&gt;
         *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
         *                   &lt;enumeration value="NONE"/&gt;
         *                   &lt;enumeration value="CONSTANT_SPEED"/&gt;
         *                   &lt;enumeration value="CONSTANT_ACCELERATION"/&gt;
         *                 &lt;/restriction&gt;
         *               &lt;/simpleType&gt;
         *             &lt;/union&gt;
         *           &lt;/simpleType&gt;
         *         &lt;/element&gt;
         *       &lt;/sequence&gt;
         *     &lt;/restriction&gt;
         *   &lt;/complexContent&gt;
         * &lt;/complexType&gt;
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "estimation",
            "anticipation"
        })
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public static class Perceived
            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 = "Estimation", required = true, type = String.class)
            @XmlJavaTypeAdapter(EstimationAdapter.class)
            @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
            protected EstimationType estimation;
            @XmlElement(name = "Anticipation", required = true, type = String.class)
            @XmlJavaTypeAdapter(AnticipationAdapter.class)
            @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
            protected AnticipationType anticipation;

            /**
             * Gets the value of the estimation 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 EstimationType getEstimation() {
                return estimation;
            }

            /**
             * Sets the value of the estimation 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 setEstimation(EstimationType value) {
                this.estimation = value;
            }

            /**
             * Gets the value of the anticipation 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 AnticipationType getAnticipation() {
                return anticipation;
            }

            /**
             * Sets the value of the anticipation 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 setAnticipation(AnticipationType value) {
                this.anticipation = 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;choice&gt;
     *         &lt;element name="Fuller"&gt;
     *           &lt;complexType&gt;
     *             &lt;complexContent&gt;
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                 &lt;sequence&gt;
     *                   &lt;element name="Task" type="{http://www.opentrafficsim.org/ots}ClassNameType" maxOccurs="unbounded" minOccurs="0"/&gt;
     *                   &lt;element name="BehavioralAdaptations" minOccurs="0"&gt;
     *                     &lt;complexType&gt;
     *                       &lt;complexContent&gt;
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                           &lt;all minOccurs="0"&gt;
     *                             &lt;element name="SituationalAwareness" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
     *                             &lt;element name="Headway" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
     *                             &lt;element name="Speed" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
     *                           &lt;/all&gt;
     *                         &lt;/restriction&gt;
     *                       &lt;/complexContent&gt;
     *                     &lt;/complexType&gt;
     *                   &lt;/element&gt;
     *                   &lt;element name="TaskManager" minOccurs="0"&gt;
     *                     &lt;simpleType&gt;
     *                       &lt;union memberTypes=" {http://www.opentrafficsim.org/ots}Expression"&gt;
     *                         &lt;simpleType&gt;
     *                           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
     *                             &lt;enumeration value="SUMMATIVE"/&gt;
     *                             &lt;enumeration value="ANTICIPATION_RELIANCE"/&gt;
     *                           &lt;/restriction&gt;
     *                         &lt;/simpleType&gt;
     *                       &lt;/union&gt;
     *                     &lt;/simpleType&gt;
     *                   &lt;/element&gt;
     *                 &lt;/sequence&gt;
     *               &lt;/restriction&gt;
     *             &lt;/complexContent&gt;
     *           &lt;/complexType&gt;
     *         &lt;/element&gt;
     *       &lt;/choice&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "fuller"
    })
    @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
    public static class Mental
        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 = "Fuller")
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        protected PerceptionType.Mental.Fuller fuller;

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

        /**
         * Sets the value of the fuller property.
         * 
         * @param value
         *     allowed object is
         *     {@link PerceptionType.Mental.Fuller }
         *     
         */
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public void setFuller(PerceptionType.Mental.Fuller value) {
            this.fuller = 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="Task" type="{http://www.opentrafficsim.org/ots}ClassNameType" maxOccurs="unbounded" minOccurs="0"/&gt;
         *         &lt;element name="BehavioralAdaptations" minOccurs="0"&gt;
         *           &lt;complexType&gt;
         *             &lt;complexContent&gt;
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                 &lt;all minOccurs="0"&gt;
         *                   &lt;element name="SituationalAwareness" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
         *                   &lt;element name="Headway" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
         *                   &lt;element name="Speed" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
         *                 &lt;/all&gt;
         *               &lt;/restriction&gt;
         *             &lt;/complexContent&gt;
         *           &lt;/complexType&gt;
         *         &lt;/element&gt;
         *         &lt;element name="TaskManager" minOccurs="0"&gt;
         *           &lt;simpleType&gt;
         *             &lt;union memberTypes=" {http://www.opentrafficsim.org/ots}Expression"&gt;
         *               &lt;simpleType&gt;
         *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
         *                   &lt;enumeration value="SUMMATIVE"/&gt;
         *                   &lt;enumeration value="ANTICIPATION_RELIANCE"/&gt;
         *                 &lt;/restriction&gt;
         *               &lt;/simpleType&gt;
         *             &lt;/union&gt;
         *           &lt;/simpleType&gt;
         *         &lt;/element&gt;
         *       &lt;/sequence&gt;
         *     &lt;/restriction&gt;
         *   &lt;/complexContent&gt;
         * &lt;/complexType&gt;
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "task",
            "behavioralAdaptations",
            "taskManager"
        })
        @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
        public static class Fuller
            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 = "Task", type = String.class)
            @XmlJavaTypeAdapter(ClassAdapter.class)
            @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
            protected List<ClassType> task;
            @XmlElement(name = "BehavioralAdaptations")
            @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
            protected PerceptionType.Mental.Fuller.BehavioralAdaptations behavioralAdaptations;
            @XmlElement(name = "TaskManager", type = String.class)
            @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 taskManager;

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

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

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

            /**
             * Gets the value of the taskManager 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 getTaskManager() {
                return taskManager;
            }

            /**
             * Sets the value of the taskManager 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 setTaskManager(StringType value) {
                this.taskManager = 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;all minOccurs="0"&gt;
             *         &lt;element name="SituationalAwareness" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
             *         &lt;element name="Headway" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
             *         &lt;element name="Speed" type="{http://www.opentrafficsim.org/ots}EmptyType" minOccurs="0"/&gt;
             *       &lt;/all&gt;
             *     &lt;/restriction&gt;
             *   &lt;/complexContent&gt;
             * &lt;/complexType&gt;
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {

            })
            @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
            public static class BehavioralAdaptations
                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 = "SituationalAwareness")
                @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
                protected EmptyType situationalAwareness;
                @XmlElement(name = "Headway")
                @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
                protected EmptyType headway;
                @XmlElement(name = "Speed")
                @Generated(value = "com.sun.tools.xjc.Driver", comments = "JAXB RI v2.3.7", date = "2024-08-29T18:50:16+02:00")
                protected EmptyType speed;

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

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

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

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

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

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

            }

        }

    }

}