<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Get_MapImage StructType
 * @subpackage Structs
 */
class Get_MapImage 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 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 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
     * @uses Get_MapImage::setSystemNr()
     * @uses Get_MapImage::setWidth()
     * @uses Get_MapImage::setHeight()
     * @uses Get_MapImage::setZoom()
     * @uses Get_MapImage::setIncludeInformation()
     * @uses Get_MapImage::setIncludeAddressInformation()
     * @uses Get_MapImage::setDispatcher()
     * @uses Get_MapImage::setPassword()
     * @uses Get_MapImage::setIntegrator()
     * @uses Get_MapImage::setVehicles()
     * @uses Get_MapImage::setDrivers()
     * @uses Get_MapImage::setTrailers()
     * @uses Get_MapImage::setBegin()
     * @uses Get_MapImage::setEnd()
     * @uses Get_MapImage::setLanguage()
     * @param int $systemNr
     * @param int $width
     * @param int $height
     * @param float $zoom
     * @param bool $includeInformation
     * @param bool $includeAddressInformation
     * @param string $dispatcher
     * @param string $password
     * @param string $integrator
     * @param string $vehicles
     * @param string $drivers
     * @param string $trailers
     * @param string $begin
     * @param string $end
     * @param string $language
     */
    public function __construct($systemNr = null, $width = null, $height = null, $zoom = null, $includeInformation = null, $includeAddressInformation = null, $dispatcher = null, $password = null, $integrator = null, $vehicles = null, $drivers = null, $trailers = null, $begin = null, $end = null, $language = null)
    {
        $this
            ->setSystemNr($systemNr)
            ->setWidth($width)
            ->setHeight($height)
            ->setZoom($zoom)
            ->setIncludeInformation($includeInformation)
            ->setIncludeAddressInformation($includeAddressInformation)
            ->setDispatcher($dispatcher)
            ->setPassword($password)
            ->setIntegrator($integrator)
            ->setVehicles($vehicles)
            ->setDrivers($drivers)
            ->setTrailers($trailers)
            ->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
     */
    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
     */
    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
     */
    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
     */
    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
     */
    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
     */
    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 dispatcher value
     * @return string|null
     */
    public function getDispatcher()
    {
        return $this->dispatcher;
    }
    /**
     * Set dispatcher value
     * @param string $dispatcher
     * @return \StructType\Get_MapImage
     */
    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
     */
    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
     */
    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
     */
    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
     */
    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
     */
    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 begin value
     * @return string|null
     */
    public function getBegin()
    {
        return $this->begin;
    }
    /**
     * Set begin value
     * @param string $begin
     * @return \StructType\Get_MapImage
     */
    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
     */
    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
     */
    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;
    }
}
