<?php

namespace Iben_print\PrintStruct;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for READ PrintStruct
 * @package Iben_print
 * @subpackage Structs
 */
class Iben_printREAD extends AbstractStructBase
{
    /**
     * The pel_user_code
     * @var string
     */
    public $pel_user_code;
    /**
     * The pel_user_pass
     * @var string
     */
    public $pel_user_pass;
    /**
     * The pel_apost_code
     * @var string
     */
    public $pel_apost_code;
    /**
     * The vg_code
     * @var string
     */
    public $vg_code;
    /**
     * The paper_size
     * @var string
     */
    public $paper_size;
    /**
     * Constructor method for READ
     * @uses Iben_printREAD::setPel_user_code()
     * @uses Iben_printREAD::setPel_user_pass()
     * @uses Iben_printREAD::setPel_apost_code()
     * @uses Iben_printREAD::setVg_code()
     * @uses Iben_printREAD::setPaper_size()
     * @param string $pel_user_code
     * @param string $pel_user_pass
     * @param string $pel_apost_code
     * @param string $vg_code
     * @param string $paper_size
     */
    public function __construct($pel_user_code = null, $pel_user_pass = null, $pel_apost_code = null, $vg_code = null, $paper_size = null)
    {
        $this
            ->setPel_user_code($pel_user_code)
            ->setPel_user_pass($pel_user_pass)
            ->setPel_apost_code($pel_apost_code)
            ->setVg_code($vg_code)
            ->setPaper_size($paper_size);
    }
    /**
     * Get pel_user_code value
     * @return string|null
     */
    public function getPel_user_code()
    {
        return $this->pel_user_code;
    }
    /**
     * Set pel_user_code value
     * @param string $pel_user_code
     * @return \Iben_print\PrintStruct\Iben_printREAD
     */
    public function setPel_user_code($pel_user_code = null)
    {
        // validation for constraint: string
        if (!is_null($pel_user_code) && !is_string($pel_user_code)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pel_user_code, true), gettype($pel_user_code)), __LINE__);
        }
        $this->pel_user_code = $pel_user_code;
        return $this;
    }
    /**
     * Get pel_user_pass value
     * @return string|null
     */
    public function getPel_user_pass()
    {
        return $this->pel_user_pass;
    }
    /**
     * Set pel_user_pass value
     * @param string $pel_user_pass
     * @return \Iben_print\PrintStruct\Iben_printREAD
     */
    public function setPel_user_pass($pel_user_pass = null)
    {
        // validation for constraint: string
        if (!is_null($pel_user_pass) && !is_string($pel_user_pass)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pel_user_pass, true), gettype($pel_user_pass)), __LINE__);
        }
        $this->pel_user_pass = $pel_user_pass;
        return $this;
    }
    /**
     * Get pel_apost_code value
     * @return string|null
     */
    public function getPel_apost_code()
    {
        return $this->pel_apost_code;
    }
    /**
     * Set pel_apost_code value
     * @param string $pel_apost_code
     * @return \Iben_print\PrintStruct\Iben_printREAD
     */
    public function setPel_apost_code($pel_apost_code = null)
    {
        // validation for constraint: string
        if (!is_null($pel_apost_code) && !is_string($pel_apost_code)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pel_apost_code, true), gettype($pel_apost_code)), __LINE__);
        }
        $this->pel_apost_code = $pel_apost_code;
        return $this;
    }
    /**
     * Get vg_code value
     * @return string|null
     */
    public function getVg_code()
    {
        return $this->vg_code;
    }
    /**
     * Set vg_code value
     * @param string $vg_code
     * @return \Iben_print\PrintStruct\Iben_printREAD
     */
    public function setVg_code($vg_code = null)
    {
        // validation for constraint: string
        if (!is_null($vg_code) && !is_string($vg_code)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($vg_code, true), gettype($vg_code)), __LINE__);
        }
        $this->vg_code = $vg_code;
        return $this;
    }
    /**
     * Get paper_size value
     * @return string|null
     */
    public function getPaper_size()
    {
        return $this->paper_size;
    }
    /**
     * Set paper_size value
     * @param string $paper_size
     * @return \Iben_print\PrintStruct\Iben_printREAD
     */
    public function setPaper_size($paper_size = null)
    {
        // validation for constraint: string
        if (!is_null($paper_size) && !is_string($paper_size)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($paper_size, true), gettype($paper_size)), __LINE__);
        }
        $this->paper_size = $paper_size;
        return $this;
    }
    /**
     * Method called when an object has been exported with var_export() functions
     * It allows to return an object instantiated with the values
     * @see AbstractStructBase::__set_state()
     * @uses AbstractStructBase::__set_state()
     * @param array $array the exported values
     * @return \Iben_print\PrintStruct\Iben_printREAD
     */
    public static function __set_state(array $array)
    {
        return parent::__set_state($array);
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
