<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Get_MapImage_V3 StructType
 * @subpackage Structs
 */
class Get_MapImage_V3 extends AbstractStructBase
{
    /**
     * The systemNr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $systemNr;
    /**
     * The width
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $width;
    /**
     * The height
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $height;
    /**
     * The zoom
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var float
     */
    public $zoom;
    /**
     * The IncludeInformation
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $IncludeInformation;
    /**
     * The IncludeAddressInformation
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $IncludeAddressInformation;
    /**
     * The IncludeViaRoute
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $IncludeViaRoute;
    /**
     * The IncludeDrivenRoute
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $IncludeDrivenRoute;
    /**
     * The IncludeRouteInformation
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var bool
     */
    public $IncludeRouteInformation;
    /**
     * The dispatcher
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $dispatcher;
    /**
     * The password
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $password;
    /**
     * The integrator
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $integrator;
    /**
     * The vehicles
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $vehicles;
    /**
     * The drivers
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $drivers;
    /**
     * The trailers
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $trailers;
    /**
     * The viaroutes
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $viaroutes;
    /**
     * The begin
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $begin;
    /**
     * The end
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $end;
    /**
     * The language
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $language;
    /**
     * Constructor method for Get_MapImage_V3
     * @uses Get_MapImage_V3::setSystemNr()
     * @uses Get_MapImage_V3::setWidth()
     * @uses Get_MapImage_V3::setHeight()
     * @uses Get_MapImage_V3::setZoom()
     * @uses Get_MapImage_V3::setIncludeInformation()
     * @uses Get_MapImage_V3::setIncludeAddressInformation()
     * @uses Get_MapImage_V3::setIncludeViaRoute()
     * @uses Get_MapImage_V3::setIncludeDrivenRoute()
     * @uses Get_MapImage_V3::setIncludeRouteInformation()
     * @uses Get_MapImage_V3::setDispatcher()
     * @uses Get_MapImage_V3::setPassword()
     * @uses Get_MapImage_V3::setIntegrator()
     * @uses Get_MapImage_V3::setVehicles()
     * @uses Get_MapImage_V3::setDrivers()
     * @uses Get_MapImage_V3::setTrailers()
     * @uses Get_MapImage_V3::setViaroutes()
     * @uses Get_MapImage_V3::setBegin()
     * @uses Get_MapImage_V3::setEnd()
     * @uses Get_MapImage_V3::setLanguage()
     * @param int $systemNr
     * @param int $width
     * @param int $height
     * @param float $zoom
     * @param bool $includeInformation
     * @param bool $includeAddressInformation
     * @param bool $includeViaRoute
     * @param bool $includeDrivenRoute
     * @param bool $includeRouteInformation
     * @param string $dispatcher
     * @param string $password
     * @param string $integrator
     * @param string $vehicles
     * @param string $drivers
     * @param string $trailers
     * @param string $viaroutes
     * @param string $begin
     * @param string $end
     * @param string $language
     */
    public function __construct($systemNr = null, $width = null, $height = null, $zoom = null, $includeInformation = null, $includeAddressInformation = null, $includeViaRoute = null, $includeDrivenRoute = null, $includeRouteInformation = null, $dispatcher = null, $password = null, $integrator = null, $vehicles = null, $drivers = null, $trailers = null, $viaroutes = null, $begin = null, $end = null, $language = null)
    {
        $this
            ->setSystemNr($systemNr)
            ->setWidth($width)
            ->setHeight($height)
            ->setZoom($zoom)
            ->setIncludeInformation($includeInformation)
            ->setIncludeAddressInformation($includeAddressInformation)
            ->setIncludeViaRoute($includeViaRoute)
            ->setIncludeDrivenRoute($includeDrivenRoute)
            ->setIncludeRouteInformation($includeRouteInformation)
            ->setDispatcher($dispatcher)
            ->setPassword($password)
            ->setIntegrator($integrator)
            ->setVehicles($vehicles)
            ->setDrivers($drivers)
            ->setTrailers($trailers)
            ->setViaroutes($viaroutes)
            ->setBegin($begin)
            ->setEnd($end)
            ->setLanguage($language);
    }
    /**
     * Get systemNr value
     * @return int
     */
    public function getSystemNr()
    {
        return $this->systemNr;
    }
    /**
     * Set systemNr value
     * @param int $systemNr
     * @return \StructType\Get_MapImage_V3
     */
    public function setSystemNr($systemNr = null)
    {
        // validation for constraint: int
        if (!is_null($systemNr) && !(is_int($systemNr) || ctype_digit($systemNr))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($systemNr, true), gettype($systemNr)), __LINE__);
        }
        $this->systemNr = $systemNr;
        return $this;
    }
    /**
     * Get width value
     * @return int
     */
    public function getWidth()
    {
        return $this->width;
    }
    /**
     * Set width value
     * @param int $width
     * @return \StructType\Get_MapImage_V3
     */
    public function setWidth($width = null)
    {
        // validation for constraint: int
        if (!is_null($width) && !(is_int($width) || ctype_digit($width))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($width, true), gettype($width)), __LINE__);
        }
        $this->width = $width;
        return $this;
    }
    /**
     * Get height value
     * @return int
     */
    public function getHeight()
    {
        return $this->height;
    }
    /**
     * Set height value
     * @param int $height
     * @return \StructType\Get_MapImage_V3
     */
    public function setHeight($height = null)
    {
        // validation for constraint: int
        if (!is_null($height) && !(is_int($height) || ctype_digit($height))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($height, true), gettype($height)), __LINE__);
        }
        $this->height = $height;
        return $this;
    }
    /**
     * Get zoom value
     * @return float
     */
    public function getZoom()
    {
        return $this->zoom;
    }
    /**
     * Set zoom value
     * @param float $zoom
     * @return \StructType\Get_MapImage_V3
     */
    public function setZoom($zoom = null)
    {
        // validation for constraint: float
        if (!is_null($zoom) && !(is_float($zoom) || is_numeric($zoom))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($zoom, true), gettype($zoom)), __LINE__);
        }
        $this->zoom = $zoom;
        return $this;
    }
    /**
     * Get IncludeInformation value
     * @return bool
     */
    public function getIncludeInformation()
    {
        return $this->IncludeInformation;
    }
    /**
     * Set IncludeInformation value
     * @param bool $includeInformation
     * @return \StructType\Get_MapImage_V3
     */
    public function setIncludeInformation($includeInformation = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeInformation) && !is_bool($includeInformation)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeInformation, true), gettype($includeInformation)), __LINE__);
        }
        $this->IncludeInformation = $includeInformation;
        return $this;
    }
    /**
     * Get IncludeAddressInformation value
     * @return bool
     */
    public function getIncludeAddressInformation()
    {
        return $this->IncludeAddressInformation;
    }
    /**
     * Set IncludeAddressInformation value
     * @param bool $includeAddressInformation
     * @return \StructType\Get_MapImage_V3
     */
    public function setIncludeAddressInformation($includeAddressInformation = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeAddressInformation) && !is_bool($includeAddressInformation)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeAddressInformation, true), gettype($includeAddressInformation)), __LINE__);
        }
        $this->IncludeAddressInformation = $includeAddressInformation;
        return $this;
    }
    /**
     * Get IncludeViaRoute value
     * @return bool
     */
    public function getIncludeViaRoute()
    {
        return $this->IncludeViaRoute;
    }
    /**
     * Set IncludeViaRoute value
     * @param bool $includeViaRoute
     * @return \StructType\Get_MapImage_V3
     */
    public function setIncludeViaRoute($includeViaRoute = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeViaRoute) && !is_bool($includeViaRoute)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeViaRoute, true), gettype($includeViaRoute)), __LINE__);
        }
        $this->IncludeViaRoute = $includeViaRoute;
        return $this;
    }
    /**
     * Get IncludeDrivenRoute value
     * @return bool
     */
    public function getIncludeDrivenRoute()
    {
        return $this->IncludeDrivenRoute;
    }
    /**
     * Set IncludeDrivenRoute value
     * @param bool $includeDrivenRoute
     * @return \StructType\Get_MapImage_V3
     */
    public function setIncludeDrivenRoute($includeDrivenRoute = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeDrivenRoute) && !is_bool($includeDrivenRoute)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeDrivenRoute, true), gettype($includeDrivenRoute)), __LINE__);
        }
        $this->IncludeDrivenRoute = $includeDrivenRoute;
        return $this;
    }
    /**
     * Get IncludeRouteInformation value
     * @return bool
     */
    public function getIncludeRouteInformation()
    {
        return $this->IncludeRouteInformation;
    }
    /**
     * Set IncludeRouteInformation value
     * @param bool $includeRouteInformation
     * @return \StructType\Get_MapImage_V3
     */
    public function setIncludeRouteInformation($includeRouteInformation = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeRouteInformation) && !is_bool($includeRouteInformation)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeRouteInformation, true), gettype($includeRouteInformation)), __LINE__);
        }
        $this->IncludeRouteInformation = $includeRouteInformation;
        return $this;
    }
    /**
     * Get dispatcher value
     * @return string|null
     */
    public function getDispatcher()
    {
        return $this->dispatcher;
    }
    /**
     * Set dispatcher value
     * @param string $dispatcher
     * @return \StructType\Get_MapImage_V3
     */
    public function setDispatcher($dispatcher = null)
    {
        // validation for constraint: string
        if (!is_null($dispatcher) && !is_string($dispatcher)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($dispatcher, true), gettype($dispatcher)), __LINE__);
        }
        $this->dispatcher = $dispatcher;
        return $this;
    }
    /**
     * Get password value
     * @return string|null
     */
    public function getPassword()
    {
        return $this->password;
    }
    /**
     * Set password value
     * @param string $password
     * @return \StructType\Get_MapImage_V3
     */
    public function setPassword($password = null)
    {
        // validation for constraint: string
        if (!is_null($password) && !is_string($password)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($password, true), gettype($password)), __LINE__);
        }
        $this->password = $password;
        return $this;
    }
    /**
     * Get integrator value
     * @return string|null
     */
    public function getIntegrator()
    {
        return $this->integrator;
    }
    /**
     * Set integrator value
     * @param string $integrator
     * @return \StructType\Get_MapImage_V3
     */
    public function setIntegrator($integrator = null)
    {
        // validation for constraint: string
        if (!is_null($integrator) && !is_string($integrator)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($integrator, true), gettype($integrator)), __LINE__);
        }
        $this->integrator = $integrator;
        return $this;
    }
    /**
     * Get vehicles value
     * @return string|null
     */
    public function getVehicles()
    {
        return $this->vehicles;
    }
    /**
     * Set vehicles value
     * @param string $vehicles
     * @return \StructType\Get_MapImage_V3
     */
    public function setVehicles($vehicles = null)
    {
        // validation for constraint: string
        if (!is_null($vehicles) && !is_string($vehicles)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($vehicles, true), gettype($vehicles)), __LINE__);
        }
        $this->vehicles = $vehicles;
        return $this;
    }
    /**
     * Get drivers value
     * @return string|null
     */
    public function getDrivers()
    {
        return $this->drivers;
    }
    /**
     * Set drivers value
     * @param string $drivers
     * @return \StructType\Get_MapImage_V3
     */
    public function setDrivers($drivers = null)
    {
        // validation for constraint: string
        if (!is_null($drivers) && !is_string($drivers)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($drivers, true), gettype($drivers)), __LINE__);
        }
        $this->drivers = $drivers;
        return $this;
    }
    /**
     * Get trailers value
     * @return string|null
     */
    public function getTrailers()
    {
        return $this->trailers;
    }
    /**
     * Set trailers value
     * @param string $trailers
     * @return \StructType\Get_MapImage_V3
     */
    public function setTrailers($trailers = null)
    {
        // validation for constraint: string
        if (!is_null($trailers) && !is_string($trailers)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($trailers, true), gettype($trailers)), __LINE__);
        }
        $this->trailers = $trailers;
        return $this;
    }
    /**
     * Get viaroutes value
     * @return string|null
     */
    public function getViaroutes()
    {
        return $this->viaroutes;
    }
    /**
     * Set viaroutes value
     * @param string $viaroutes
     * @return \StructType\Get_MapImage_V3
     */
    public function setViaroutes($viaroutes = null)
    {
        // validation for constraint: string
        if (!is_null($viaroutes) && !is_string($viaroutes)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($viaroutes, true), gettype($viaroutes)), __LINE__);
        }
        $this->viaroutes = $viaroutes;
        return $this;
    }
    /**
     * Get begin value
     * @return string|null
     */
    public function getBegin()
    {
        return $this->begin;
    }
    /**
     * Set begin value
     * @param string $begin
     * @return \StructType\Get_MapImage_V3
     */
    public function setBegin($begin = null)
    {
        // validation for constraint: string
        if (!is_null($begin) && !is_string($begin)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($begin, true), gettype($begin)), __LINE__);
        }
        $this->begin = $begin;
        return $this;
    }
    /**
     * Get end value
     * @return string|null
     */
    public function getEnd()
    {
        return $this->end;
    }
    /**
     * Set end value
     * @param string $end
     * @return \StructType\Get_MapImage_V3
     */
    public function setEnd($end = null)
    {
        // validation for constraint: string
        if (!is_null($end) && !is_string($end)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($end, true), gettype($end)), __LINE__);
        }
        $this->end = $end;
        return $this;
    }
    /**
     * Get language value
     * @return string|null
     */
    public function getLanguage()
    {
        return $this->language;
    }
    /**
     * Set language value
     * @param string $language
     * @return \StructType\Get_MapImage_V3
     */
    public function setLanguage($language = null)
    {
        // validation for constraint: string
        if (!is_null($language) && !is_string($language)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($language, true), gettype($language)), __LINE__);
        }
        $this->language = $language;
        return $this;
    }
}
