
package cz.moneta.test.dsl.cebia.iva;

import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;


/**
 * <p>Java class for WSRegistrationCertificatePartII complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="WSRegistrationCertificatePartII"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="RCNo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="Vehicle" type="{http://samo.cz/iva/}WSRCIIVehicle" minOccurs="0"/&gt;
 *         &lt;element name="Engine" type="{http://samo.cz/iva/}WSRCIIEngine" minOccurs="0"/&gt;
 *         &lt;element name="Emissions" type="{http://samo.cz/iva/}WSRCIIEmissions" minOccurs="0"/&gt;
 *         &lt;element name="Bodywork" type="{http://samo.cz/iva/}WSRCIIBodywork" minOccurs="0"/&gt;
 *         &lt;element name="Dimensions" type="{http://samo.cz/iva/}WSRCIIDimensions" minOccurs="0"/&gt;
 *         &lt;element name="Weights" type="{http://samo.cz/iva/}WSRCIIWeights" minOccurs="0"/&gt;
 *         &lt;element name="Axles" type="{http://samo.cz/iva/}WSRCIIAxles" minOccurs="0"/&gt;
 *         &lt;element name="Other" type="{http://samo.cz/iva/}WSRCIIOthers" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "WSRegistrationCertificatePartII", propOrder = {
    "rcNo",
    "vehicle",
    "engine",
    "emissions",
    "bodywork",
    "dimensions",
    "weights",
    "axles",
    "other"
})
public class WSRegistrationCertificatePartII {

    @XmlElement(name = "RCNo", nillable = true)
    protected String rcNo;
    @XmlElement(name = "Vehicle", nillable = true)
    protected WSRCIIVehicle vehicle;
    @XmlElement(name = "Engine", nillable = true)
    protected WSRCIIEngine engine;
    @XmlElement(name = "Emissions", nillable = true)
    protected WSRCIIEmissions emissions;
    @XmlElement(name = "Bodywork", nillable = true)
    protected WSRCIIBodywork bodywork;
    @XmlElement(name = "Dimensions", nillable = true)
    protected WSRCIIDimensions dimensions;
    @XmlElement(name = "Weights", nillable = true)
    protected WSRCIIWeights weights;
    @XmlElement(name = "Axles", nillable = true)
    protected WSRCIIAxles axles;
    @XmlElement(name = "Other", nillable = true)
    protected WSRCIIOthers other;

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

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

    /**
     * Gets the value of the vehicle property.
     * 
     * @return
     *     possible object is
     *     {@link WSRCIIVehicle }
     *     
     */
    public WSRCIIVehicle getVehicle() {
        return vehicle;
    }

    /**
     * Sets the value of the vehicle property.
     * 
     * @param value
     *     allowed object is
     *     {@link WSRCIIVehicle }
     *     
     */
    public void setVehicle(WSRCIIVehicle value) {
        this.vehicle = value;
    }

    /**
     * Gets the value of the engine property.
     * 
     * @return
     *     possible object is
     *     {@link WSRCIIEngine }
     *     
     */
    public WSRCIIEngine getEngine() {
        return engine;
    }

    /**
     * Sets the value of the engine property.
     * 
     * @param value
     *     allowed object is
     *     {@link WSRCIIEngine }
     *     
     */
    public void setEngine(WSRCIIEngine value) {
        this.engine = value;
    }

    /**
     * Gets the value of the emissions property.
     * 
     * @return
     *     possible object is
     *     {@link WSRCIIEmissions }
     *     
     */
    public WSRCIIEmissions getEmissions() {
        return emissions;
    }

    /**
     * Sets the value of the emissions property.
     * 
     * @param value
     *     allowed object is
     *     {@link WSRCIIEmissions }
     *     
     */
    public void setEmissions(WSRCIIEmissions value) {
        this.emissions = value;
    }

    /**
     * Gets the value of the bodywork property.
     * 
     * @return
     *     possible object is
     *     {@link WSRCIIBodywork }
     *     
     */
    public WSRCIIBodywork getBodywork() {
        return bodywork;
    }

    /**
     * Sets the value of the bodywork property.
     * 
     * @param value
     *     allowed object is
     *     {@link WSRCIIBodywork }
     *     
     */
    public void setBodywork(WSRCIIBodywork value) {
        this.bodywork = value;
    }

    /**
     * Gets the value of the dimensions property.
     * 
     * @return
     *     possible object is
     *     {@link WSRCIIDimensions }
     *     
     */
    public WSRCIIDimensions getDimensions() {
        return dimensions;
    }

    /**
     * Sets the value of the dimensions property.
     * 
     * @param value
     *     allowed object is
     *     {@link WSRCIIDimensions }
     *     
     */
    public void setDimensions(WSRCIIDimensions value) {
        this.dimensions = value;
    }

    /**
     * Gets the value of the weights property.
     * 
     * @return
     *     possible object is
     *     {@link WSRCIIWeights }
     *     
     */
    public WSRCIIWeights getWeights() {
        return weights;
    }

    /**
     * Sets the value of the weights property.
     * 
     * @param value
     *     allowed object is
     *     {@link WSRCIIWeights }
     *     
     */
    public void setWeights(WSRCIIWeights value) {
        this.weights = value;
    }

    /**
     * Gets the value of the axles property.
     * 
     * @return
     *     possible object is
     *     {@link WSRCIIAxles }
     *     
     */
    public WSRCIIAxles getAxles() {
        return axles;
    }

    /**
     * Sets the value of the axles property.
     * 
     * @param value
     *     allowed object is
     *     {@link WSRCIIAxles }
     *     
     */
    public void setAxles(WSRCIIAxles value) {
        this.axles = value;
    }

    /**
     * Gets the value of the other property.
     * 
     * @return
     *     possible object is
     *     {@link WSRCIIOthers }
     *     
     */
    public WSRCIIOthers getOther() {
        return other;
    }

    /**
     * Sets the value of the other property.
     * 
     * @param value
     *     allowed object is
     *     {@link WSRCIIOthers }
     *     
     */
    public void setOther(WSRCIIOthers value) {
        this.other = value;
    }

    public WSRegistrationCertificatePartII withRCNo(String value) {
        setRCNo(value);
        return this;
    }

    public WSRegistrationCertificatePartII withVehicle(WSRCIIVehicle value) {
        setVehicle(value);
        return this;
    }

    public WSRegistrationCertificatePartII withEngine(WSRCIIEngine value) {
        setEngine(value);
        return this;
    }

    public WSRegistrationCertificatePartII withEmissions(WSRCIIEmissions value) {
        setEmissions(value);
        return this;
    }

    public WSRegistrationCertificatePartII withBodywork(WSRCIIBodywork value) {
        setBodywork(value);
        return this;
    }

    public WSRegistrationCertificatePartII withDimensions(WSRCIIDimensions value) {
        setDimensions(value);
        return this;
    }

    public WSRegistrationCertificatePartII withWeights(WSRCIIWeights value) {
        setWeights(value);
        return this;
    }

    public WSRegistrationCertificatePartII withAxles(WSRCIIAxles value) {
        setAxles(value);
        return this;
    }

    public WSRegistrationCertificatePartII withOther(WSRCIIOthers value) {
        setOther(value);
        return this;
    }

}
