<?php

namespace OXModule\StructClass;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for User StructClass
 * @subpackage Structs
 */
class User extends AbstractStructBase
{
    /**
     * The aliases
     * Meta informations extracted from the WSDL
     * - maxOccurs: unbounded
     * - minOccurs: 0
     * - nillable: true
     * @var string[]
     */
    public $aliases;
    /**
     * The anniversary
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $anniversary;
    /**
     * The assistant_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $assistant_name;
    /**
     * The birthday
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $birthday;
    /**
     * The branches
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $branches;
    /**
     * The business_category
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $business_category;
    /**
     * The categories
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $categories;
    /**
     * The cellular_telephone1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $cellular_telephone1;
    /**
     * The cellular_telephone2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $cellular_telephone2;
    /**
     * The city_business
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $city_business;
    /**
     * The city_home
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $city_home;
    /**
     * The city_other
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $city_other;
    /**
     * The commercial_register
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $commercial_register;
    /**
     * The company
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $company;
    /**
     * The contextadmin
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $contextadmin;
    /**
     * The country_business
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $country_business;
    /**
     * The country_home
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $country_home;
    /**
     * The country_other
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $country_other;
    /**
     * The defaultSenderAddress
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $defaultSenderAddress;
    /**
     * The default_group
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \OXModule\StructClass\Group
     */
    public $default_group;
    /**
     * The department
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $department;
    /**
     * The display_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $display_name;
    /**
     * The email1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $email1;
    /**
     * The email2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $email2;
    /**
     * The email3
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $email3;
    /**
     * The employeeType
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $employeeType;
    /**
     * The fax_business
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $fax_business;
    /**
     * The fax_home
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $fax_home;
    /**
     * The fax_other
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $fax_other;
    /**
     * The folderTree
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $folderTree;
    /**
     * The given_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $given_name;
    /**
     * The guiPreferencesForSoap
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \OXModule\StructClass\SOAPStringMap
     */
    public $guiPreferencesForSoap;
    /**
     * The gui_spam_filter_enabled
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $gui_spam_filter_enabled;
    /**
     * The id
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $id;
    /**
     * The imapLogin
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $imapLogin;
    /**
     * The imapPort
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $imapPort;
    /**
     * The imapSchema
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $imapSchema;
    /**
     * The imapServer
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $imapServer;
    /**
     * The imapServerString
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $imapServerString;
    /**
     * The info
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $info;
    /**
     * The instant_messenger1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $instant_messenger1;
    /**
     * The instant_messenger2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $instant_messenger2;
    /**
     * The language
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $language;
    /**
     * The mail_folder_confirmed_ham_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $mail_folder_confirmed_ham_name;
    /**
     * The mail_folder_confirmed_spam_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $mail_folder_confirmed_spam_name;
    /**
     * The mail_folder_drafts_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $mail_folder_drafts_name;
    /**
     * The mail_folder_sent_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $mail_folder_sent_name;
    /**
     * The mail_folder_spam_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $mail_folder_spam_name;
    /**
     * The mail_folder_trash_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $mail_folder_trash_name;
    /**
     * The mail_folder_archive_full_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $mail_folder_archive_full_name;
    /**
     * The mailenabled
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $mailenabled;
    /**
     * The manager_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $manager_name;
    /**
     * The marital_status
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $marital_status;
    /**
     * The middle_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $middle_name;
    /**
     * The name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $name;
    /**
     * The nickname
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $nickname;
    /**
     * The note
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $note;
    /**
     * The number_of_children
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $number_of_children;
    /**
     * The number_of_employee
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $number_of_employee;
    /**
     * The password
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $password;
    /**
     * The passwordMech
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $passwordMech;
    /**
     * The password_expired
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $password_expired;
    /**
     * The position
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $position;
    /**
     * The postal_code_business
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $postal_code_business;
    /**
     * The postal_code_home
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $postal_code_home;
    /**
     * The postal_code_other
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $postal_code_other;
    /**
     * The primaryEmail
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $primaryEmail;
    /**
     * The profession
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $profession;
    /**
     * The room_number
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $room_number;
    /**
     * The sales_volume
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $sales_volume;
    /**
     * The smtpPort
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $smtpPort;
    /**
     * The smtpSchema
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $smtpSchema;
    /**
     * The smtpServer
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $smtpServer;
    /**
     * The smtpServerString
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $smtpServerString;
    /**
     * The spouse_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $spouse_name;
    /**
     * The state_business
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $state_business;
    /**
     * The state_home
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $state_home;
    /**
     * The state_other
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $state_other;
    /**
     * The street_business
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $street_business;
    /**
     * The street_home
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $street_home;
    /**
     * The street_other
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $street_other;
    /**
     * The suffix
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $suffix;
    /**
     * The sur_name
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $sur_name;
    /**
     * The tax_id
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $tax_id;
    /**
     * The telephone_assistant
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_assistant;
    /**
     * The telephone_business1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_business1;
    /**
     * The telephone_business2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_business2;
    /**
     * The telephone_callback
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_callback;
    /**
     * The telephone_car
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_car;
    /**
     * The telephone_company
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_company;
    /**
     * The telephone_home1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_home1;
    /**
     * The telephone_home2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_home2;
    /**
     * The telephone_ip
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_ip;
    /**
     * The telephone_isdn
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_isdn;
    /**
     * The telephone_other
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_other;
    /**
     * The telephone_pager
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_pager;
    /**
     * The telephone_primary
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_primary;
    /**
     * The telephone_radio
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_radio;
    /**
     * The telephone_telex
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_telex;
    /**
     * The telephone_ttytdd
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $telephone_ttytdd;
    /**
     * The timezone
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $timezone;
    /**
     * The title
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $title;
    /**
     * The uploadFileSizeLimit
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $uploadFileSizeLimit;
    /**
     * The uploadFileSizeLimitPerFile
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $uploadFileSizeLimitPerFile;
    /**
     * The url
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $url;
    /**
     * The userAttributes
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \OXModule\StructClass\SOAPStringMapMap
     */
    public $userAttributes;
    /**
     * The userfield01
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield01;
    /**
     * The userfield02
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield02;
    /**
     * The userfield03
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield03;
    /**
     * The userfield04
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield04;
    /**
     * The userfield05
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield05;
    /**
     * The userfield06
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield06;
    /**
     * The userfield07
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield07;
    /**
     * The userfield08
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield08;
    /**
     * The userfield09
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield09;
    /**
     * The userfield10
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield10;
    /**
     * The userfield11
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield11;
    /**
     * The userfield12
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield12;
    /**
     * The userfield13
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield13;
    /**
     * The userfield14
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield14;
    /**
     * The userfield15
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield15;
    /**
     * The userfield16
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield16;
    /**
     * The userfield17
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield17;
    /**
     * The userfield18
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield18;
    /**
     * The userfield19
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield19;
    /**
     * The userfield20
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $userfield20;
    /**
     * Constructor method for User
     * @uses User::setAliases()
     * @uses User::setAnniversary()
     * @uses User::setAssistant_name()
     * @uses User::setBirthday()
     * @uses User::setBranches()
     * @uses User::setBusiness_category()
     * @uses User::setCategories()
     * @uses User::setCellular_telephone1()
     * @uses User::setCellular_telephone2()
     * @uses User::setCity_business()
     * @uses User::setCity_home()
     * @uses User::setCity_other()
     * @uses User::setCommercial_register()
     * @uses User::setCompany()
     * @uses User::setContextadmin()
     * @uses User::setCountry_business()
     * @uses User::setCountry_home()
     * @uses User::setCountry_other()
     * @uses User::setDefaultSenderAddress()
     * @uses User::setDefault_group()
     * @uses User::setDepartment()
     * @uses User::setDisplay_name()
     * @uses User::setEmail1()
     * @uses User::setEmail2()
     * @uses User::setEmail3()
     * @uses User::setEmployeeType()
     * @uses User::setFax_business()
     * @uses User::setFax_home()
     * @uses User::setFax_other()
     * @uses User::setFolderTree()
     * @uses User::setGiven_name()
     * @uses User::setGuiPreferencesForSoap()
     * @uses User::setGui_spam_filter_enabled()
     * @uses User::setId()
     * @uses User::setImapLogin()
     * @uses User::setImapPort()
     * @uses User::setImapSchema()
     * @uses User::setImapServer()
     * @uses User::setImapServerString()
     * @uses User::setInfo()
     * @uses User::setInstant_messenger1()
     * @uses User::setInstant_messenger2()
     * @uses User::setLanguage()
     * @uses User::setMail_folder_confirmed_ham_name()
     * @uses User::setMail_folder_confirmed_spam_name()
     * @uses User::setMail_folder_drafts_name()
     * @uses User::setMail_folder_sent_name()
     * @uses User::setMail_folder_spam_name()
     * @uses User::setMail_folder_trash_name()
     * @uses User::setMail_folder_archive_full_name()
     * @uses User::setMailenabled()
     * @uses User::setManager_name()
     * @uses User::setMarital_status()
     * @uses User::setMiddle_name()
     * @uses User::setName()
     * @uses User::setNickname()
     * @uses User::setNote()
     * @uses User::setNumber_of_children()
     * @uses User::setNumber_of_employee()
     * @uses User::setPassword()
     * @uses User::setPasswordMech()
     * @uses User::setPassword_expired()
     * @uses User::setPosition()
     * @uses User::setPostal_code_business()
     * @uses User::setPostal_code_home()
     * @uses User::setPostal_code_other()
     * @uses User::setPrimaryEmail()
     * @uses User::setProfession()
     * @uses User::setRoom_number()
     * @uses User::setSales_volume()
     * @uses User::setSmtpPort()
     * @uses User::setSmtpSchema()
     * @uses User::setSmtpServer()
     * @uses User::setSmtpServerString()
     * @uses User::setSpouse_name()
     * @uses User::setState_business()
     * @uses User::setState_home()
     * @uses User::setState_other()
     * @uses User::setStreet_business()
     * @uses User::setStreet_home()
     * @uses User::setStreet_other()
     * @uses User::setSuffix()
     * @uses User::setSur_name()
     * @uses User::setTax_id()
     * @uses User::setTelephone_assistant()
     * @uses User::setTelephone_business1()
     * @uses User::setTelephone_business2()
     * @uses User::setTelephone_callback()
     * @uses User::setTelephone_car()
     * @uses User::setTelephone_company()
     * @uses User::setTelephone_home1()
     * @uses User::setTelephone_home2()
     * @uses User::setTelephone_ip()
     * @uses User::setTelephone_isdn()
     * @uses User::setTelephone_other()
     * @uses User::setTelephone_pager()
     * @uses User::setTelephone_primary()
     * @uses User::setTelephone_radio()
     * @uses User::setTelephone_telex()
     * @uses User::setTelephone_ttytdd()
     * @uses User::setTimezone()
     * @uses User::setTitle()
     * @uses User::setUploadFileSizeLimit()
     * @uses User::setUploadFileSizeLimitPerFile()
     * @uses User::setUrl()
     * @uses User::setUserAttributes()
     * @uses User::setUserfield01()
     * @uses User::setUserfield02()
     * @uses User::setUserfield03()
     * @uses User::setUserfield04()
     * @uses User::setUserfield05()
     * @uses User::setUserfield06()
     * @uses User::setUserfield07()
     * @uses User::setUserfield08()
     * @uses User::setUserfield09()
     * @uses User::setUserfield10()
     * @uses User::setUserfield11()
     * @uses User::setUserfield12()
     * @uses User::setUserfield13()
     * @uses User::setUserfield14()
     * @uses User::setUserfield15()
     * @uses User::setUserfield16()
     * @uses User::setUserfield17()
     * @uses User::setUserfield18()
     * @uses User::setUserfield19()
     * @uses User::setUserfield20()
     * @param string[] $aliases
     * @param string $anniversary
     * @param string $assistant_name
     * @param string $birthday
     * @param string $branches
     * @param string $business_category
     * @param string $categories
     * @param string $cellular_telephone1
     * @param string $cellular_telephone2
     * @param string $city_business
     * @param string $city_home
     * @param string $city_other
     * @param string $commercial_register
     * @param string $company
     * @param bool $contextadmin
     * @param string $country_business
     * @param string $country_home
     * @param string $country_other
     * @param string $defaultSenderAddress
     * @param \OXModule\StructClass\Group $default_group
     * @param string $department
     * @param string $display_name
     * @param string $email1
     * @param string $email2
     * @param string $email3
     * @param string $employeeType
     * @param string $fax_business
     * @param string $fax_home
     * @param string $fax_other
     * @param int $folderTree
     * @param string $given_name
     * @param \OXModule\StructClass\SOAPStringMap $guiPreferencesForSoap
     * @param bool $gui_spam_filter_enabled
     * @param int $id
     * @param string $imapLogin
     * @param int $imapPort
     * @param string $imapSchema
     * @param string $imapServer
     * @param string $imapServerString
     * @param string $info
     * @param string $instant_messenger1
     * @param string $instant_messenger2
     * @param string $language
     * @param string $mail_folder_confirmed_ham_name
     * @param string $mail_folder_confirmed_spam_name
     * @param string $mail_folder_drafts_name
     * @param string $mail_folder_sent_name
     * @param string $mail_folder_spam_name
     * @param string $mail_folder_trash_name
     * @param string $mail_folder_archive_full_name
     * @param bool $mailenabled
     * @param string $manager_name
     * @param string $marital_status
     * @param string $middle_name
     * @param string $name
     * @param string $nickname
     * @param string $note
     * @param string $number_of_children
     * @param string $number_of_employee
     * @param string $password
     * @param string $passwordMech
     * @param bool $password_expired
     * @param string $position
     * @param string $postal_code_business
     * @param string $postal_code_home
     * @param string $postal_code_other
     * @param string $primaryEmail
     * @param string $profession
     * @param string $room_number
     * @param string $sales_volume
     * @param int $smtpPort
     * @param string $smtpSchema
     * @param string $smtpServer
     * @param string $smtpServerString
     * @param string $spouse_name
     * @param string $state_business
     * @param string $state_home
     * @param string $state_other
     * @param string $street_business
     * @param string $street_home
     * @param string $street_other
     * @param string $suffix
     * @param string $sur_name
     * @param string $tax_id
     * @param string $telephone_assistant
     * @param string $telephone_business1
     * @param string $telephone_business2
     * @param string $telephone_callback
     * @param string $telephone_car
     * @param string $telephone_company
     * @param string $telephone_home1
     * @param string $telephone_home2
     * @param string $telephone_ip
     * @param string $telephone_isdn
     * @param string $telephone_other
     * @param string $telephone_pager
     * @param string $telephone_primary
     * @param string $telephone_radio
     * @param string $telephone_telex
     * @param string $telephone_ttytdd
     * @param string $timezone
     * @param string $title
     * @param int $uploadFileSizeLimit
     * @param int $uploadFileSizeLimitPerFile
     * @param string $url
     * @param \OXModule\StructClass\SOAPStringMapMap $userAttributes
     * @param string $userfield01
     * @param string $userfield02
     * @param string $userfield03
     * @param string $userfield04
     * @param string $userfield05
     * @param string $userfield06
     * @param string $userfield07
     * @param string $userfield08
     * @param string $userfield09
     * @param string $userfield10
     * @param string $userfield11
     * @param string $userfield12
     * @param string $userfield13
     * @param string $userfield14
     * @param string $userfield15
     * @param string $userfield16
     * @param string $userfield17
     * @param string $userfield18
     * @param string $userfield19
     * @param string $userfield20
     */
    public function __construct(array $aliases = array(), $anniversary = null, $assistant_name = null, $birthday = null, $branches = null, $business_category = null, $categories = null, $cellular_telephone1 = null, $cellular_telephone2 = null, $city_business = null, $city_home = null, $city_other = null, $commercial_register = null, $company = null, $contextadmin = null, $country_business = null, $country_home = null, $country_other = null, $defaultSenderAddress = null, \OXModule\StructClass\Group $default_group = null, $department = null, $display_name = null, $email1 = null, $email2 = null, $email3 = null, $employeeType = null, $fax_business = null, $fax_home = null, $fax_other = null, $folderTree = null, $given_name = null, \OXModule\StructClass\SOAPStringMap $guiPreferencesForSoap = null, $gui_spam_filter_enabled = null, $id = null, $imapLogin = null, $imapPort = null, $imapSchema = null, $imapServer = null, $imapServerString = null, $info = null, $instant_messenger1 = null, $instant_messenger2 = null, $language = null, $mail_folder_confirmed_ham_name = null, $mail_folder_confirmed_spam_name = null, $mail_folder_drafts_name = null, $mail_folder_sent_name = null, $mail_folder_spam_name = null, $mail_folder_trash_name = null, $mail_folder_archive_full_name = null, $mailenabled = null, $manager_name = null, $marital_status = null, $middle_name = null, $name = null, $nickname = null, $note = null, $number_of_children = null, $number_of_employee = null, $password = null, $passwordMech = null, $password_expired = null, $position = null, $postal_code_business = null, $postal_code_home = null, $postal_code_other = null, $primaryEmail = null, $profession = null, $room_number = null, $sales_volume = null, $smtpPort = null, $smtpSchema = null, $smtpServer = null, $smtpServerString = null, $spouse_name = null, $state_business = null, $state_home = null, $state_other = null, $street_business = null, $street_home = null, $street_other = null, $suffix = null, $sur_name = null, $tax_id = null, $telephone_assistant = null, $telephone_business1 = null, $telephone_business2 = null, $telephone_callback = null, $telephone_car = null, $telephone_company = null, $telephone_home1 = null, $telephone_home2 = null, $telephone_ip = null, $telephone_isdn = null, $telephone_other = null, $telephone_pager = null, $telephone_primary = null, $telephone_radio = null, $telephone_telex = null, $telephone_ttytdd = null, $timezone = null, $title = null, $uploadFileSizeLimit = null, $uploadFileSizeLimitPerFile = null, $url = null, \OXModule\StructClass\SOAPStringMapMap $userAttributes = null, $userfield01 = null, $userfield02 = null, $userfield03 = null, $userfield04 = null, $userfield05 = null, $userfield06 = null, $userfield07 = null, $userfield08 = null, $userfield09 = null, $userfield10 = null, $userfield11 = null, $userfield12 = null, $userfield13 = null, $userfield14 = null, $userfield15 = null, $userfield16 = null, $userfield17 = null, $userfield18 = null, $userfield19 = null, $userfield20 = null)
    {
        $this
            ->setAliases($aliases)
            ->setAnniversary($anniversary)
            ->setAssistant_name($assistant_name)
            ->setBirthday($birthday)
            ->setBranches($branches)
            ->setBusiness_category($business_category)
            ->setCategories($categories)
            ->setCellular_telephone1($cellular_telephone1)
            ->setCellular_telephone2($cellular_telephone2)
            ->setCity_business($city_business)
            ->setCity_home($city_home)
            ->setCity_other($city_other)
            ->setCommercial_register($commercial_register)
            ->setCompany($company)
            ->setContextadmin($contextadmin)
            ->setCountry_business($country_business)
            ->setCountry_home($country_home)
            ->setCountry_other($country_other)
            ->setDefaultSenderAddress($defaultSenderAddress)
            ->setDefault_group($default_group)
            ->setDepartment($department)
            ->setDisplay_name($display_name)
            ->setEmail1($email1)
            ->setEmail2($email2)
            ->setEmail3($email3)
            ->setEmployeeType($employeeType)
            ->setFax_business($fax_business)
            ->setFax_home($fax_home)
            ->setFax_other($fax_other)
            ->setFolderTree($folderTree)
            ->setGiven_name($given_name)
            ->setGuiPreferencesForSoap($guiPreferencesForSoap)
            ->setGui_spam_filter_enabled($gui_spam_filter_enabled)
            ->setId($id)
            ->setImapLogin($imapLogin)
            ->setImapPort($imapPort)
            ->setImapSchema($imapSchema)
            ->setImapServer($imapServer)
            ->setImapServerString($imapServerString)
            ->setInfo($info)
            ->setInstant_messenger1($instant_messenger1)
            ->setInstant_messenger2($instant_messenger2)
            ->setLanguage($language)
            ->setMail_folder_confirmed_ham_name($mail_folder_confirmed_ham_name)
            ->setMail_folder_confirmed_spam_name($mail_folder_confirmed_spam_name)
            ->setMail_folder_drafts_name($mail_folder_drafts_name)
            ->setMail_folder_sent_name($mail_folder_sent_name)
            ->setMail_folder_spam_name($mail_folder_spam_name)
            ->setMail_folder_trash_name($mail_folder_trash_name)
            ->setMail_folder_archive_full_name($mail_folder_archive_full_name)
            ->setMailenabled($mailenabled)
            ->setManager_name($manager_name)
            ->setMarital_status($marital_status)
            ->setMiddle_name($middle_name)
            ->setName($name)
            ->setNickname($nickname)
            ->setNote($note)
            ->setNumber_of_children($number_of_children)
            ->setNumber_of_employee($number_of_employee)
            ->setPassword($password)
            ->setPasswordMech($passwordMech)
            ->setPassword_expired($password_expired)
            ->setPosition($position)
            ->setPostal_code_business($postal_code_business)
            ->setPostal_code_home($postal_code_home)
            ->setPostal_code_other($postal_code_other)
            ->setPrimaryEmail($primaryEmail)
            ->setProfession($profession)
            ->setRoom_number($room_number)
            ->setSales_volume($sales_volume)
            ->setSmtpPort($smtpPort)
            ->setSmtpSchema($smtpSchema)
            ->setSmtpServer($smtpServer)
            ->setSmtpServerString($smtpServerString)
            ->setSpouse_name($spouse_name)
            ->setState_business($state_business)
            ->setState_home($state_home)
            ->setState_other($state_other)
            ->setStreet_business($street_business)
            ->setStreet_home($street_home)
            ->setStreet_other($street_other)
            ->setSuffix($suffix)
            ->setSur_name($sur_name)
            ->setTax_id($tax_id)
            ->setTelephone_assistant($telephone_assistant)
            ->setTelephone_business1($telephone_business1)
            ->setTelephone_business2($telephone_business2)
            ->setTelephone_callback($telephone_callback)
            ->setTelephone_car($telephone_car)
            ->setTelephone_company($telephone_company)
            ->setTelephone_home1($telephone_home1)
            ->setTelephone_home2($telephone_home2)
            ->setTelephone_ip($telephone_ip)
            ->setTelephone_isdn($telephone_isdn)
            ->setTelephone_other($telephone_other)
            ->setTelephone_pager($telephone_pager)
            ->setTelephone_primary($telephone_primary)
            ->setTelephone_radio($telephone_radio)
            ->setTelephone_telex($telephone_telex)
            ->setTelephone_ttytdd($telephone_ttytdd)
            ->setTimezone($timezone)
            ->setTitle($title)
            ->setUploadFileSizeLimit($uploadFileSizeLimit)
            ->setUploadFileSizeLimitPerFile($uploadFileSizeLimitPerFile)
            ->setUrl($url)
            ->setUserAttributes($userAttributes)
            ->setUserfield01($userfield01)
            ->setUserfield02($userfield02)
            ->setUserfield03($userfield03)
            ->setUserfield04($userfield04)
            ->setUserfield05($userfield05)
            ->setUserfield06($userfield06)
            ->setUserfield07($userfield07)
            ->setUserfield08($userfield08)
            ->setUserfield09($userfield09)
            ->setUserfield10($userfield10)
            ->setUserfield11($userfield11)
            ->setUserfield12($userfield12)
            ->setUserfield13($userfield13)
            ->setUserfield14($userfield14)
            ->setUserfield15($userfield15)
            ->setUserfield16($userfield16)
            ->setUserfield17($userfield17)
            ->setUserfield18($userfield18)
            ->setUserfield19($userfield19)
            ->setUserfield20($userfield20);
    }
    /**
     * Get aliases value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string[]|null
     */
    public function getAliases()
    {
        return isset($this->aliases) ? $this->aliases : null;
    }
    /**
     * Set aliases value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @throws \InvalidArgumentException
     * @param string[] $aliases
     * @return \OXModule\StructClass\User
     */
    public function setAliases(array $aliases = array())
    {
        foreach ($aliases as $userAliasesItem) {
            // validation for constraint: itemType
            if (!is_string($userAliasesItem)) {
                throw new \InvalidArgumentException(sprintf('The aliases property can only contain items of string, "%s" given', is_object($userAliasesItem) ? get_class($userAliasesItem) : gettype($userAliasesItem)), __LINE__);
            }
        }
        if (is_null($aliases) || (is_array($aliases) && empty($aliases))) {
            unset($this->aliases);
        } else {
            $this->aliases = $aliases;
        }
        return $this;
    }
    /**
     * Add item to aliases value
     * @throws \InvalidArgumentException
     * @param string $item
     * @return \OXModule\StructClass\User
     */
    public function addToAliases($item)
    {
        // validation for constraint: itemType
        if (!is_string($item)) {
            throw new \InvalidArgumentException(sprintf('The aliases property can only contain items of string, "%s" given', is_object($item) ? get_class($item) : gettype($item)), __LINE__);
        }
        $this->aliases[] = $item;
        return $this;
    }
    /**
     * Get anniversary value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAnniversary()
    {
        return isset($this->anniversary) ? $this->anniversary : null;
    }
    /**
     * Set anniversary value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $anniversary
     * @return \OXModule\StructClass\User
     */
    public function setAnniversary($anniversary = null)
    {
        // validation for constraint: string
        if (!is_null($anniversary) && !is_string($anniversary)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($anniversary)), __LINE__);
        }
        if (is_null($anniversary) || (is_array($anniversary) && empty($anniversary))) {
            unset($this->anniversary);
        } else {
            $this->anniversary = $anniversary;
        }
        return $this;
    }
    /**
     * Get assistant_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAssistant_name()
    {
        return isset($this->assistant_name) ? $this->assistant_name : null;
    }
    /**
     * Set assistant_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $assistant_name
     * @return \OXModule\StructClass\User
     */
    public function setAssistant_name($assistant_name = null)
    {
        // validation for constraint: string
        if (!is_null($assistant_name) && !is_string($assistant_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($assistant_name)), __LINE__);
        }
        if (is_null($assistant_name) || (is_array($assistant_name) && empty($assistant_name))) {
            unset($this->assistant_name);
        } else {
            $this->assistant_name = $assistant_name;
        }
        return $this;
    }
    /**
     * Get birthday value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getBirthday()
    {
        return isset($this->birthday) ? $this->birthday : null;
    }
    /**
     * Set birthday value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $birthday
     * @return \OXModule\StructClass\User
     */
    public function setBirthday($birthday = null)
    {
        // validation for constraint: string
        if (!is_null($birthday) && !is_string($birthday)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($birthday)), __LINE__);
        }
        if (is_null($birthday) || (is_array($birthday) && empty($birthday))) {
            unset($this->birthday);
        } else {
            $this->birthday = $birthday;
        }
        return $this;
    }
    /**
     * Get branches value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getBranches()
    {
        return isset($this->branches) ? $this->branches : null;
    }
    /**
     * Set branches value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $branches
     * @return \OXModule\StructClass\User
     */
    public function setBranches($branches = null)
    {
        // validation for constraint: string
        if (!is_null($branches) && !is_string($branches)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($branches)), __LINE__);
        }
        if (is_null($branches) || (is_array($branches) && empty($branches))) {
            unset($this->branches);
        } else {
            $this->branches = $branches;
        }
        return $this;
    }
    /**
     * Get business_category value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getBusiness_category()
    {
        return isset($this->business_category) ? $this->business_category : null;
    }
    /**
     * Set business_category value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $business_category
     * @return \OXModule\StructClass\User
     */
    public function setBusiness_category($business_category = null)
    {
        // validation for constraint: string
        if (!is_null($business_category) && !is_string($business_category)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($business_category)), __LINE__);
        }
        if (is_null($business_category) || (is_array($business_category) && empty($business_category))) {
            unset($this->business_category);
        } else {
            $this->business_category = $business_category;
        }
        return $this;
    }
    /**
     * Get categories value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCategories()
    {
        return isset($this->categories) ? $this->categories : null;
    }
    /**
     * Set categories value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $categories
     * @return \OXModule\StructClass\User
     */
    public function setCategories($categories = null)
    {
        // validation for constraint: string
        if (!is_null($categories) && !is_string($categories)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($categories)), __LINE__);
        }
        if (is_null($categories) || (is_array($categories) && empty($categories))) {
            unset($this->categories);
        } else {
            $this->categories = $categories;
        }
        return $this;
    }
    /**
     * Get cellular_telephone1 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCellular_telephone1()
    {
        return isset($this->cellular_telephone1) ? $this->cellular_telephone1 : null;
    }
    /**
     * Set cellular_telephone1 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cellular_telephone1
     * @return \OXModule\StructClass\User
     */
    public function setCellular_telephone1($cellular_telephone1 = null)
    {
        // validation for constraint: string
        if (!is_null($cellular_telephone1) && !is_string($cellular_telephone1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cellular_telephone1)), __LINE__);
        }
        if (is_null($cellular_telephone1) || (is_array($cellular_telephone1) && empty($cellular_telephone1))) {
            unset($this->cellular_telephone1);
        } else {
            $this->cellular_telephone1 = $cellular_telephone1;
        }
        return $this;
    }
    /**
     * Get cellular_telephone2 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCellular_telephone2()
    {
        return isset($this->cellular_telephone2) ? $this->cellular_telephone2 : null;
    }
    /**
     * Set cellular_telephone2 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cellular_telephone2
     * @return \OXModule\StructClass\User
     */
    public function setCellular_telephone2($cellular_telephone2 = null)
    {
        // validation for constraint: string
        if (!is_null($cellular_telephone2) && !is_string($cellular_telephone2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cellular_telephone2)), __LINE__);
        }
        if (is_null($cellular_telephone2) || (is_array($cellular_telephone2) && empty($cellular_telephone2))) {
            unset($this->cellular_telephone2);
        } else {
            $this->cellular_telephone2 = $cellular_telephone2;
        }
        return $this;
    }
    /**
     * Get city_business value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCity_business()
    {
        return isset($this->city_business) ? $this->city_business : null;
    }
    /**
     * Set city_business value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $city_business
     * @return \OXModule\StructClass\User
     */
    public function setCity_business($city_business = null)
    {
        // validation for constraint: string
        if (!is_null($city_business) && !is_string($city_business)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($city_business)), __LINE__);
        }
        if (is_null($city_business) || (is_array($city_business) && empty($city_business))) {
            unset($this->city_business);
        } else {
            $this->city_business = $city_business;
        }
        return $this;
    }
    /**
     * Get city_home value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCity_home()
    {
        return isset($this->city_home) ? $this->city_home : null;
    }
    /**
     * Set city_home value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $city_home
     * @return \OXModule\StructClass\User
     */
    public function setCity_home($city_home = null)
    {
        // validation for constraint: string
        if (!is_null($city_home) && !is_string($city_home)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($city_home)), __LINE__);
        }
        if (is_null($city_home) || (is_array($city_home) && empty($city_home))) {
            unset($this->city_home);
        } else {
            $this->city_home = $city_home;
        }
        return $this;
    }
    /**
     * Get city_other value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCity_other()
    {
        return isset($this->city_other) ? $this->city_other : null;
    }
    /**
     * Set city_other value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $city_other
     * @return \OXModule\StructClass\User
     */
    public function setCity_other($city_other = null)
    {
        // validation for constraint: string
        if (!is_null($city_other) && !is_string($city_other)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($city_other)), __LINE__);
        }
        if (is_null($city_other) || (is_array($city_other) && empty($city_other))) {
            unset($this->city_other);
        } else {
            $this->city_other = $city_other;
        }
        return $this;
    }
    /**
     * Get commercial_register value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCommercial_register()
    {
        return isset($this->commercial_register) ? $this->commercial_register : null;
    }
    /**
     * Set commercial_register value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $commercial_register
     * @return \OXModule\StructClass\User
     */
    public function setCommercial_register($commercial_register = null)
    {
        // validation for constraint: string
        if (!is_null($commercial_register) && !is_string($commercial_register)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($commercial_register)), __LINE__);
        }
        if (is_null($commercial_register) || (is_array($commercial_register) && empty($commercial_register))) {
            unset($this->commercial_register);
        } else {
            $this->commercial_register = $commercial_register;
        }
        return $this;
    }
    /**
     * Get company value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCompany()
    {
        return isset($this->company) ? $this->company : null;
    }
    /**
     * Set company value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $company
     * @return \OXModule\StructClass\User
     */
    public function setCompany($company = null)
    {
        // validation for constraint: string
        if (!is_null($company) && !is_string($company)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($company)), __LINE__);
        }
        if (is_null($company) || (is_array($company) && empty($company))) {
            unset($this->company);
        } else {
            $this->company = $company;
        }
        return $this;
    }
    /**
     * Get contextadmin value
     * @return bool|null
     */
    public function getContextadmin()
    {
        return $this->contextadmin;
    }
    /**
     * Set contextadmin value
     * @param bool $contextadmin
     * @return \OXModule\StructClass\User
     */
    public function setContextadmin($contextadmin = null)
    {
        // validation for constraint: boolean
        if (!is_null($contextadmin) && !is_bool($contextadmin)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($contextadmin)), __LINE__);
        }
        $this->contextadmin = $contextadmin;
        return $this;
    }
    /**
     * Get country_business value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCountry_business()
    {
        return isset($this->country_business) ? $this->country_business : null;
    }
    /**
     * Set country_business value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $country_business
     * @return \OXModule\StructClass\User
     */
    public function setCountry_business($country_business = null)
    {
        // validation for constraint: string
        if (!is_null($country_business) && !is_string($country_business)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($country_business)), __LINE__);
        }
        if (is_null($country_business) || (is_array($country_business) && empty($country_business))) {
            unset($this->country_business);
        } else {
            $this->country_business = $country_business;
        }
        return $this;
    }
    /**
     * Get country_home value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCountry_home()
    {
        return isset($this->country_home) ? $this->country_home : null;
    }
    /**
     * Set country_home value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $country_home
     * @return \OXModule\StructClass\User
     */
    public function setCountry_home($country_home = null)
    {
        // validation for constraint: string
        if (!is_null($country_home) && !is_string($country_home)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($country_home)), __LINE__);
        }
        if (is_null($country_home) || (is_array($country_home) && empty($country_home))) {
            unset($this->country_home);
        } else {
            $this->country_home = $country_home;
        }
        return $this;
    }
    /**
     * Get country_other value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCountry_other()
    {
        return isset($this->country_other) ? $this->country_other : null;
    }
    /**
     * Set country_other value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $country_other
     * @return \OXModule\StructClass\User
     */
    public function setCountry_other($country_other = null)
    {
        // validation for constraint: string
        if (!is_null($country_other) && !is_string($country_other)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($country_other)), __LINE__);
        }
        if (is_null($country_other) || (is_array($country_other) && empty($country_other))) {
            unset($this->country_other);
        } else {
            $this->country_other = $country_other;
        }
        return $this;
    }
    /**
     * Get defaultSenderAddress value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDefaultSenderAddress()
    {
        return isset($this->defaultSenderAddress) ? $this->defaultSenderAddress : null;
    }
    /**
     * Set defaultSenderAddress value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $defaultSenderAddress
     * @return \OXModule\StructClass\User
     */
    public function setDefaultSenderAddress($defaultSenderAddress = null)
    {
        // validation for constraint: string
        if (!is_null($defaultSenderAddress) && !is_string($defaultSenderAddress)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($defaultSenderAddress)), __LINE__);
        }
        if (is_null($defaultSenderAddress) || (is_array($defaultSenderAddress) && empty($defaultSenderAddress))) {
            unset($this->defaultSenderAddress);
        } else {
            $this->defaultSenderAddress = $defaultSenderAddress;
        }
        return $this;
    }
    /**
     * Get default_group value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return \OXModule\StructClass\Group|null
     */
    public function getDefault_group()
    {
        return isset($this->default_group) ? $this->default_group : null;
    }
    /**
     * Set default_group value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param \OXModule\StructClass\Group $default_group
     * @return \OXModule\StructClass\User
     */
    public function setDefault_group(\OXModule\StructClass\Group $default_group = null)
    {
        if (is_null($default_group) || (is_array($default_group) && empty($default_group))) {
            unset($this->default_group);
        } else {
            $this->default_group = $default_group;
        }
        return $this;
    }
    /**
     * Get department value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDepartment()
    {
        return isset($this->department) ? $this->department : null;
    }
    /**
     * Set department value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $department
     * @return \OXModule\StructClass\User
     */
    public function setDepartment($department = null)
    {
        // validation for constraint: string
        if (!is_null($department) && !is_string($department)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($department)), __LINE__);
        }
        if (is_null($department) || (is_array($department) && empty($department))) {
            unset($this->department);
        } else {
            $this->department = $department;
        }
        return $this;
    }
    /**
     * Get display_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDisplay_name()
    {
        return isset($this->display_name) ? $this->display_name : null;
    }
    /**
     * Set display_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $display_name
     * @return \OXModule\StructClass\User
     */
    public function setDisplay_name($display_name = null)
    {
        // validation for constraint: string
        if (!is_null($display_name) && !is_string($display_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($display_name)), __LINE__);
        }
        if (is_null($display_name) || (is_array($display_name) && empty($display_name))) {
            unset($this->display_name);
        } else {
            $this->display_name = $display_name;
        }
        return $this;
    }
    /**
     * Get email1 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEmail1()
    {
        return isset($this->email1) ? $this->email1 : null;
    }
    /**
     * Set email1 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $email1
     * @return \OXModule\StructClass\User
     */
    public function setEmail1($email1 = null)
    {
        // validation for constraint: string
        if (!is_null($email1) && !is_string($email1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($email1)), __LINE__);
        }
        if (is_null($email1) || (is_array($email1) && empty($email1))) {
            unset($this->email1);
        } else {
            $this->email1 = $email1;
        }
        return $this;
    }
    /**
     * Get email2 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEmail2()
    {
        return isset($this->email2) ? $this->email2 : null;
    }
    /**
     * Set email2 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $email2
     * @return \OXModule\StructClass\User
     */
    public function setEmail2($email2 = null)
    {
        // validation for constraint: string
        if (!is_null($email2) && !is_string($email2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($email2)), __LINE__);
        }
        if (is_null($email2) || (is_array($email2) && empty($email2))) {
            unset($this->email2);
        } else {
            $this->email2 = $email2;
        }
        return $this;
    }
    /**
     * Get email3 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEmail3()
    {
        return isset($this->email3) ? $this->email3 : null;
    }
    /**
     * Set email3 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $email3
     * @return \OXModule\StructClass\User
     */
    public function setEmail3($email3 = null)
    {
        // validation for constraint: string
        if (!is_null($email3) && !is_string($email3)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($email3)), __LINE__);
        }
        if (is_null($email3) || (is_array($email3) && empty($email3))) {
            unset($this->email3);
        } else {
            $this->email3 = $email3;
        }
        return $this;
    }
    /**
     * Get employeeType value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEmployeeType()
    {
        return isset($this->employeeType) ? $this->employeeType : null;
    }
    /**
     * Set employeeType value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $employeeType
     * @return \OXModule\StructClass\User
     */
    public function setEmployeeType($employeeType = null)
    {
        // validation for constraint: string
        if (!is_null($employeeType) && !is_string($employeeType)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($employeeType)), __LINE__);
        }
        if (is_null($employeeType) || (is_array($employeeType) && empty($employeeType))) {
            unset($this->employeeType);
        } else {
            $this->employeeType = $employeeType;
        }
        return $this;
    }
    /**
     * Get fax_business value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFax_business()
    {
        return isset($this->fax_business) ? $this->fax_business : null;
    }
    /**
     * Set fax_business value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $fax_business
     * @return \OXModule\StructClass\User
     */
    public function setFax_business($fax_business = null)
    {
        // validation for constraint: string
        if (!is_null($fax_business) && !is_string($fax_business)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($fax_business)), __LINE__);
        }
        if (is_null($fax_business) || (is_array($fax_business) && empty($fax_business))) {
            unset($this->fax_business);
        } else {
            $this->fax_business = $fax_business;
        }
        return $this;
    }
    /**
     * Get fax_home value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFax_home()
    {
        return isset($this->fax_home) ? $this->fax_home : null;
    }
    /**
     * Set fax_home value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $fax_home
     * @return \OXModule\StructClass\User
     */
    public function setFax_home($fax_home = null)
    {
        // validation for constraint: string
        if (!is_null($fax_home) && !is_string($fax_home)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($fax_home)), __LINE__);
        }
        if (is_null($fax_home) || (is_array($fax_home) && empty($fax_home))) {
            unset($this->fax_home);
        } else {
            $this->fax_home = $fax_home;
        }
        return $this;
    }
    /**
     * Get fax_other value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFax_other()
    {
        return isset($this->fax_other) ? $this->fax_other : null;
    }
    /**
     * Set fax_other value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $fax_other
     * @return \OXModule\StructClass\User
     */
    public function setFax_other($fax_other = null)
    {
        // validation for constraint: string
        if (!is_null($fax_other) && !is_string($fax_other)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($fax_other)), __LINE__);
        }
        if (is_null($fax_other) || (is_array($fax_other) && empty($fax_other))) {
            unset($this->fax_other);
        } else {
            $this->fax_other = $fax_other;
        }
        return $this;
    }
    /**
     * Get folderTree value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getFolderTree()
    {
        return isset($this->folderTree) ? $this->folderTree : null;
    }
    /**
     * Set folderTree value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $folderTree
     * @return \OXModule\StructClass\User
     */
    public function setFolderTree($folderTree = null)
    {
        // validation for constraint: int
        if (!is_null($folderTree) && !is_numeric($folderTree)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($folderTree)), __LINE__);
        }
        if (is_null($folderTree) || (is_array($folderTree) && empty($folderTree))) {
            unset($this->folderTree);
        } else {
            $this->folderTree = $folderTree;
        }
        return $this;
    }
    /**
     * Get given_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getGiven_name()
    {
        return isset($this->given_name) ? $this->given_name : null;
    }
    /**
     * Set given_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $given_name
     * @return \OXModule\StructClass\User
     */
    public function setGiven_name($given_name = null)
    {
        // validation for constraint: string
        if (!is_null($given_name) && !is_string($given_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($given_name)), __LINE__);
        }
        if (is_null($given_name) || (is_array($given_name) && empty($given_name))) {
            unset($this->given_name);
        } else {
            $this->given_name = $given_name;
        }
        return $this;
    }
    /**
     * Get guiPreferencesForSoap value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return \OXModule\StructClass\SOAPStringMap|null
     */
    public function getGuiPreferencesForSoap()
    {
        return isset($this->guiPreferencesForSoap) ? $this->guiPreferencesForSoap : null;
    }
    /**
     * Set guiPreferencesForSoap value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param \OXModule\StructClass\SOAPStringMap $guiPreferencesForSoap
     * @return \OXModule\StructClass\User
     */
    public function setGuiPreferencesForSoap(\OXModule\StructClass\SOAPStringMap $guiPreferencesForSoap = null)
    {
        if (is_null($guiPreferencesForSoap) || (is_array($guiPreferencesForSoap) && empty($guiPreferencesForSoap))) {
            unset($this->guiPreferencesForSoap);
        } else {
            $this->guiPreferencesForSoap = $guiPreferencesForSoap;
        }
        return $this;
    }
    /**
     * Get gui_spam_filter_enabled value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getGui_spam_filter_enabled()
    {
        return isset($this->gui_spam_filter_enabled) ? $this->gui_spam_filter_enabled : null;
    }
    /**
     * Set gui_spam_filter_enabled value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $gui_spam_filter_enabled
     * @return \OXModule\StructClass\User
     */
    public function setGui_spam_filter_enabled($gui_spam_filter_enabled = null)
    {
        // validation for constraint: boolean
        if (!is_null($gui_spam_filter_enabled) && !is_bool($gui_spam_filter_enabled)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($gui_spam_filter_enabled)), __LINE__);
        }
        if (is_null($gui_spam_filter_enabled) || (is_array($gui_spam_filter_enabled) && empty($gui_spam_filter_enabled))) {
            unset($this->gui_spam_filter_enabled);
        } else {
            $this->gui_spam_filter_enabled = $gui_spam_filter_enabled;
        }
        return $this;
    }
    /**
     * Get id value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getId()
    {
        return isset($this->id) ? $this->id : null;
    }
    /**
     * Set id value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $id
     * @return \OXModule\StructClass\User
     */
    public function setId($id = null)
    {
        // validation for constraint: int
        if (!is_null($id) && !is_numeric($id)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($id)), __LINE__);
        }
        if (is_null($id) || (is_array($id) && empty($id))) {
            unset($this->id);
        } else {
            $this->id = $id;
        }
        return $this;
    }
    /**
     * Get imapLogin value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getImapLogin()
    {
        return isset($this->imapLogin) ? $this->imapLogin : null;
    }
    /**
     * Set imapLogin value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $imapLogin
     * @return \OXModule\StructClass\User
     */
    public function setImapLogin($imapLogin = null)
    {
        // validation for constraint: string
        if (!is_null($imapLogin) && !is_string($imapLogin)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($imapLogin)), __LINE__);
        }
        if (is_null($imapLogin) || (is_array($imapLogin) && empty($imapLogin))) {
            unset($this->imapLogin);
        } else {
            $this->imapLogin = $imapLogin;
        }
        return $this;
    }
    /**
     * Get imapPort value
     * @return int|null
     */
    public function getImapPort()
    {
        return $this->imapPort;
    }
    /**
     * Set imapPort value
     * @param int $imapPort
     * @return \OXModule\StructClass\User
     */
    public function setImapPort($imapPort = null)
    {
        // validation for constraint: int
        if (!is_null($imapPort) && !is_numeric($imapPort)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($imapPort)), __LINE__);
        }
        $this->imapPort = $imapPort;
        return $this;
    }
    /**
     * Get imapSchema value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getImapSchema()
    {
        return isset($this->imapSchema) ? $this->imapSchema : null;
    }
    /**
     * Set imapSchema value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $imapSchema
     * @return \OXModule\StructClass\User
     */
    public function setImapSchema($imapSchema = null)
    {
        // validation for constraint: string
        if (!is_null($imapSchema) && !is_string($imapSchema)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($imapSchema)), __LINE__);
        }
        if (is_null($imapSchema) || (is_array($imapSchema) && empty($imapSchema))) {
            unset($this->imapSchema);
        } else {
            $this->imapSchema = $imapSchema;
        }
        return $this;
    }
    /**
     * Get imapServer value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getImapServer()
    {
        return isset($this->imapServer) ? $this->imapServer : null;
    }
    /**
     * Set imapServer value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $imapServer
     * @return \OXModule\StructClass\User
     */
    public function setImapServer($imapServer = null)
    {
        // validation for constraint: string
        if (!is_null($imapServer) && !is_string($imapServer)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($imapServer)), __LINE__);
        }
        if (is_null($imapServer) || (is_array($imapServer) && empty($imapServer))) {
            unset($this->imapServer);
        } else {
            $this->imapServer = $imapServer;
        }
        return $this;
    }
    /**
     * Get imapServerString value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getImapServerString()
    {
        return isset($this->imapServerString) ? $this->imapServerString : null;
    }
    /**
     * Set imapServerString value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $imapServerString
     * @return \OXModule\StructClass\User
     */
    public function setImapServerString($imapServerString = null)
    {
        // validation for constraint: string
        if (!is_null($imapServerString) && !is_string($imapServerString)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($imapServerString)), __LINE__);
        }
        if (is_null($imapServerString) || (is_array($imapServerString) && empty($imapServerString))) {
            unset($this->imapServerString);
        } else {
            $this->imapServerString = $imapServerString;
        }
        return $this;
    }
    /**
     * Get info value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getInfo()
    {
        return isset($this->info) ? $this->info : null;
    }
    /**
     * Set info value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $info
     * @return \OXModule\StructClass\User
     */
    public function setInfo($info = null)
    {
        // validation for constraint: string
        if (!is_null($info) && !is_string($info)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($info)), __LINE__);
        }
        if (is_null($info) || (is_array($info) && empty($info))) {
            unset($this->info);
        } else {
            $this->info = $info;
        }
        return $this;
    }
    /**
     * Get instant_messenger1 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getInstant_messenger1()
    {
        return isset($this->instant_messenger1) ? $this->instant_messenger1 : null;
    }
    /**
     * Set instant_messenger1 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $instant_messenger1
     * @return \OXModule\StructClass\User
     */
    public function setInstant_messenger1($instant_messenger1 = null)
    {
        // validation for constraint: string
        if (!is_null($instant_messenger1) && !is_string($instant_messenger1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($instant_messenger1)), __LINE__);
        }
        if (is_null($instant_messenger1) || (is_array($instant_messenger1) && empty($instant_messenger1))) {
            unset($this->instant_messenger1);
        } else {
            $this->instant_messenger1 = $instant_messenger1;
        }
        return $this;
    }
    /**
     * Get instant_messenger2 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getInstant_messenger2()
    {
        return isset($this->instant_messenger2) ? $this->instant_messenger2 : null;
    }
    /**
     * Set instant_messenger2 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $instant_messenger2
     * @return \OXModule\StructClass\User
     */
    public function setInstant_messenger2($instant_messenger2 = null)
    {
        // validation for constraint: string
        if (!is_null($instant_messenger2) && !is_string($instant_messenger2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($instant_messenger2)), __LINE__);
        }
        if (is_null($instant_messenger2) || (is_array($instant_messenger2) && empty($instant_messenger2))) {
            unset($this->instant_messenger2);
        } else {
            $this->instant_messenger2 = $instant_messenger2;
        }
        return $this;
    }
    /**
     * Get language value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getLanguage()
    {
        return isset($this->language) ? $this->language : null;
    }
    /**
     * Set language value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $language
     * @return \OXModule\StructClass\User
     */
    public function setLanguage($language = null)
    {
        // validation for constraint: string
        if (!is_null($language) && !is_string($language)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($language)), __LINE__);
        }
        if (is_null($language) || (is_array($language) && empty($language))) {
            unset($this->language);
        } else {
            $this->language = $language;
        }
        return $this;
    }
    /**
     * Get mail_folder_confirmed_ham_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMail_folder_confirmed_ham_name()
    {
        return isset($this->mail_folder_confirmed_ham_name) ? $this->mail_folder_confirmed_ham_name : null;
    }
    /**
     * Set mail_folder_confirmed_ham_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $mail_folder_confirmed_ham_name
     * @return \OXModule\StructClass\User
     */
    public function setMail_folder_confirmed_ham_name($mail_folder_confirmed_ham_name = null)
    {
        // validation for constraint: string
        if (!is_null($mail_folder_confirmed_ham_name) && !is_string($mail_folder_confirmed_ham_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($mail_folder_confirmed_ham_name)), __LINE__);
        }
        if (is_null($mail_folder_confirmed_ham_name) || (is_array($mail_folder_confirmed_ham_name) && empty($mail_folder_confirmed_ham_name))) {
            unset($this->mail_folder_confirmed_ham_name);
        } else {
            $this->mail_folder_confirmed_ham_name = $mail_folder_confirmed_ham_name;
        }
        return $this;
    }
    /**
     * Get mail_folder_confirmed_spam_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMail_folder_confirmed_spam_name()
    {
        return isset($this->mail_folder_confirmed_spam_name) ? $this->mail_folder_confirmed_spam_name : null;
    }
    /**
     * Set mail_folder_confirmed_spam_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $mail_folder_confirmed_spam_name
     * @return \OXModule\StructClass\User
     */
    public function setMail_folder_confirmed_spam_name($mail_folder_confirmed_spam_name = null)
    {
        // validation for constraint: string
        if (!is_null($mail_folder_confirmed_spam_name) && !is_string($mail_folder_confirmed_spam_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($mail_folder_confirmed_spam_name)), __LINE__);
        }
        if (is_null($mail_folder_confirmed_spam_name) || (is_array($mail_folder_confirmed_spam_name) && empty($mail_folder_confirmed_spam_name))) {
            unset($this->mail_folder_confirmed_spam_name);
        } else {
            $this->mail_folder_confirmed_spam_name = $mail_folder_confirmed_spam_name;
        }
        return $this;
    }
    /**
     * Get mail_folder_drafts_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMail_folder_drafts_name()
    {
        return isset($this->mail_folder_drafts_name) ? $this->mail_folder_drafts_name : null;
    }
    /**
     * Set mail_folder_drafts_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $mail_folder_drafts_name
     * @return \OXModule\StructClass\User
     */
    public function setMail_folder_drafts_name($mail_folder_drafts_name = null)
    {
        // validation for constraint: string
        if (!is_null($mail_folder_drafts_name) && !is_string($mail_folder_drafts_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($mail_folder_drafts_name)), __LINE__);
        }
        if (is_null($mail_folder_drafts_name) || (is_array($mail_folder_drafts_name) && empty($mail_folder_drafts_name))) {
            unset($this->mail_folder_drafts_name);
        } else {
            $this->mail_folder_drafts_name = $mail_folder_drafts_name;
        }
        return $this;
    }
    /**
     * Get mail_folder_sent_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMail_folder_sent_name()
    {
        return isset($this->mail_folder_sent_name) ? $this->mail_folder_sent_name : null;
    }
    /**
     * Set mail_folder_sent_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $mail_folder_sent_name
     * @return \OXModule\StructClass\User
     */
    public function setMail_folder_sent_name($mail_folder_sent_name = null)
    {
        // validation for constraint: string
        if (!is_null($mail_folder_sent_name) && !is_string($mail_folder_sent_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($mail_folder_sent_name)), __LINE__);
        }
        if (is_null($mail_folder_sent_name) || (is_array($mail_folder_sent_name) && empty($mail_folder_sent_name))) {
            unset($this->mail_folder_sent_name);
        } else {
            $this->mail_folder_sent_name = $mail_folder_sent_name;
        }
        return $this;
    }
    /**
     * Get mail_folder_spam_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMail_folder_spam_name()
    {
        return isset($this->mail_folder_spam_name) ? $this->mail_folder_spam_name : null;
    }
    /**
     * Set mail_folder_spam_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $mail_folder_spam_name
     * @return \OXModule\StructClass\User
     */
    public function setMail_folder_spam_name($mail_folder_spam_name = null)
    {
        // validation for constraint: string
        if (!is_null($mail_folder_spam_name) && !is_string($mail_folder_spam_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($mail_folder_spam_name)), __LINE__);
        }
        if (is_null($mail_folder_spam_name) || (is_array($mail_folder_spam_name) && empty($mail_folder_spam_name))) {
            unset($this->mail_folder_spam_name);
        } else {
            $this->mail_folder_spam_name = $mail_folder_spam_name;
        }
        return $this;
    }
    /**
     * Get mail_folder_trash_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMail_folder_trash_name()
    {
        return isset($this->mail_folder_trash_name) ? $this->mail_folder_trash_name : null;
    }
    /**
     * Set mail_folder_trash_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $mail_folder_trash_name
     * @return \OXModule\StructClass\User
     */
    public function setMail_folder_trash_name($mail_folder_trash_name = null)
    {
        // validation for constraint: string
        if (!is_null($mail_folder_trash_name) && !is_string($mail_folder_trash_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($mail_folder_trash_name)), __LINE__);
        }
        if (is_null($mail_folder_trash_name) || (is_array($mail_folder_trash_name) && empty($mail_folder_trash_name))) {
            unset($this->mail_folder_trash_name);
        } else {
            $this->mail_folder_trash_name = $mail_folder_trash_name;
        }
        return $this;
    }
    /**
     * Get mail_folder_archive_full_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMail_folder_archive_full_name()
    {
        return isset($this->mail_folder_archive_full_name) ? $this->mail_folder_archive_full_name : null;
    }
    /**
     * Set mail_folder_archive_full_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $mail_folder_archive_full_name
     * @return \OXModule\StructClass\User
     */
    public function setMail_folder_archive_full_name($mail_folder_archive_full_name = null)
    {
        // validation for constraint: string
        if (!is_null($mail_folder_archive_full_name) && !is_string($mail_folder_archive_full_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($mail_folder_archive_full_name)), __LINE__);
        }
        if (is_null($mail_folder_archive_full_name) || (is_array($mail_folder_archive_full_name) && empty($mail_folder_archive_full_name))) {
            unset($this->mail_folder_archive_full_name);
        } else {
            $this->mail_folder_archive_full_name = $mail_folder_archive_full_name;
        }
        return $this;
    }
    /**
     * Get mailenabled value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getMailenabled()
    {
        return isset($this->mailenabled) ? $this->mailenabled : null;
    }
    /**
     * Set mailenabled value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $mailenabled
     * @return \OXModule\StructClass\User
     */
    public function setMailenabled($mailenabled = null)
    {
        // validation for constraint: boolean
        if (!is_null($mailenabled) && !is_bool($mailenabled)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($mailenabled)), __LINE__);
        }
        if (is_null($mailenabled) || (is_array($mailenabled) && empty($mailenabled))) {
            unset($this->mailenabled);
        } else {
            $this->mailenabled = $mailenabled;
        }
        return $this;
    }
    /**
     * Get manager_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getManager_name()
    {
        return isset($this->manager_name) ? $this->manager_name : null;
    }
    /**
     * Set manager_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $manager_name
     * @return \OXModule\StructClass\User
     */
    public function setManager_name($manager_name = null)
    {
        // validation for constraint: string
        if (!is_null($manager_name) && !is_string($manager_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($manager_name)), __LINE__);
        }
        if (is_null($manager_name) || (is_array($manager_name) && empty($manager_name))) {
            unset($this->manager_name);
        } else {
            $this->manager_name = $manager_name;
        }
        return $this;
    }
    /**
     * Get marital_status value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMarital_status()
    {
        return isset($this->marital_status) ? $this->marital_status : null;
    }
    /**
     * Set marital_status value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $marital_status
     * @return \OXModule\StructClass\User
     */
    public function setMarital_status($marital_status = null)
    {
        // validation for constraint: string
        if (!is_null($marital_status) && !is_string($marital_status)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($marital_status)), __LINE__);
        }
        if (is_null($marital_status) || (is_array($marital_status) && empty($marital_status))) {
            unset($this->marital_status);
        } else {
            $this->marital_status = $marital_status;
        }
        return $this;
    }
    /**
     * Get middle_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMiddle_name()
    {
        return isset($this->middle_name) ? $this->middle_name : null;
    }
    /**
     * Set middle_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $middle_name
     * @return \OXModule\StructClass\User
     */
    public function setMiddle_name($middle_name = null)
    {
        // validation for constraint: string
        if (!is_null($middle_name) && !is_string($middle_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($middle_name)), __LINE__);
        }
        if (is_null($middle_name) || (is_array($middle_name) && empty($middle_name))) {
            unset($this->middle_name);
        } else {
            $this->middle_name = $middle_name;
        }
        return $this;
    }
    /**
     * Get name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getName()
    {
        return isset($this->name) ? $this->name : null;
    }
    /**
     * Set name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $name
     * @return \OXModule\StructClass\User
     */
    public function setName($name = null)
    {
        // validation for constraint: string
        if (!is_null($name) && !is_string($name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($name)), __LINE__);
        }
        if (is_null($name) || (is_array($name) && empty($name))) {
            unset($this->name);
        } else {
            $this->name = $name;
        }
        return $this;
    }
    /**
     * Get nickname value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNickname()
    {
        return isset($this->nickname) ? $this->nickname : null;
    }
    /**
     * Set nickname value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nickname
     * @return \OXModule\StructClass\User
     */
    public function setNickname($nickname = null)
    {
        // validation for constraint: string
        if (!is_null($nickname) && !is_string($nickname)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nickname)), __LINE__);
        }
        if (is_null($nickname) || (is_array($nickname) && empty($nickname))) {
            unset($this->nickname);
        } else {
            $this->nickname = $nickname;
        }
        return $this;
    }
    /**
     * Get note value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNote()
    {
        return isset($this->note) ? $this->note : null;
    }
    /**
     * Set note value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $note
     * @return \OXModule\StructClass\User
     */
    public function setNote($note = null)
    {
        // validation for constraint: string
        if (!is_null($note) && !is_string($note)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($note)), __LINE__);
        }
        if (is_null($note) || (is_array($note) && empty($note))) {
            unset($this->note);
        } else {
            $this->note = $note;
        }
        return $this;
    }
    /**
     * Get number_of_children value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNumber_of_children()
    {
        return isset($this->number_of_children) ? $this->number_of_children : null;
    }
    /**
     * Set number_of_children value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $number_of_children
     * @return \OXModule\StructClass\User
     */
    public function setNumber_of_children($number_of_children = null)
    {
        // validation for constraint: string
        if (!is_null($number_of_children) && !is_string($number_of_children)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($number_of_children)), __LINE__);
        }
        if (is_null($number_of_children) || (is_array($number_of_children) && empty($number_of_children))) {
            unset($this->number_of_children);
        } else {
            $this->number_of_children = $number_of_children;
        }
        return $this;
    }
    /**
     * Get number_of_employee value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNumber_of_employee()
    {
        return isset($this->number_of_employee) ? $this->number_of_employee : null;
    }
    /**
     * Set number_of_employee value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $number_of_employee
     * @return \OXModule\StructClass\User
     */
    public function setNumber_of_employee($number_of_employee = null)
    {
        // validation for constraint: string
        if (!is_null($number_of_employee) && !is_string($number_of_employee)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($number_of_employee)), __LINE__);
        }
        if (is_null($number_of_employee) || (is_array($number_of_employee) && empty($number_of_employee))) {
            unset($this->number_of_employee);
        } else {
            $this->number_of_employee = $number_of_employee;
        }
        return $this;
    }
    /**
     * Get password value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPassword()
    {
        return isset($this->password) ? $this->password : null;
    }
    /**
     * Set password value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $password
     * @return \OXModule\StructClass\User
     */
    public function setPassword($password = null)
    {
        // validation for constraint: string
        if (!is_null($password) && !is_string($password)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($password)), __LINE__);
        }
        if (is_null($password) || (is_array($password) && empty($password))) {
            unset($this->password);
        } else {
            $this->password = $password;
        }
        return $this;
    }
    /**
     * Get passwordMech value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPasswordMech()
    {
        return isset($this->passwordMech) ? $this->passwordMech : null;
    }
    /**
     * Set passwordMech value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $passwordMech
     * @return \OXModule\StructClass\User
     */
    public function setPasswordMech($passwordMech = null)
    {
        // validation for constraint: string
        if (!is_null($passwordMech) && !is_string($passwordMech)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($passwordMech)), __LINE__);
        }
        if (is_null($passwordMech) || (is_array($passwordMech) && empty($passwordMech))) {
            unset($this->passwordMech);
        } else {
            $this->passwordMech = $passwordMech;
        }
        return $this;
    }
    /**
     * Get password_expired value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getPassword_expired()
    {
        return isset($this->password_expired) ? $this->password_expired : null;
    }
    /**
     * Set password_expired value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $password_expired
     * @return \OXModule\StructClass\User
     */
    public function setPassword_expired($password_expired = null)
    {
        // validation for constraint: boolean
        if (!is_null($password_expired) && !is_bool($password_expired)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($password_expired)), __LINE__);
        }
        if (is_null($password_expired) || (is_array($password_expired) && empty($password_expired))) {
            unset($this->password_expired);
        } else {
            $this->password_expired = $password_expired;
        }
        return $this;
    }
    /**
     * Get position value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPosition()
    {
        return isset($this->position) ? $this->position : null;
    }
    /**
     * Set position value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $position
     * @return \OXModule\StructClass\User
     */
    public function setPosition($position = null)
    {
        // validation for constraint: string
        if (!is_null($position) && !is_string($position)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($position)), __LINE__);
        }
        if (is_null($position) || (is_array($position) && empty($position))) {
            unset($this->position);
        } else {
            $this->position = $position;
        }
        return $this;
    }
    /**
     * Get postal_code_business value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPostal_code_business()
    {
        return isset($this->postal_code_business) ? $this->postal_code_business : null;
    }
    /**
     * Set postal_code_business value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $postal_code_business
     * @return \OXModule\StructClass\User
     */
    public function setPostal_code_business($postal_code_business = null)
    {
        // validation for constraint: string
        if (!is_null($postal_code_business) && !is_string($postal_code_business)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($postal_code_business)), __LINE__);
        }
        if (is_null($postal_code_business) || (is_array($postal_code_business) && empty($postal_code_business))) {
            unset($this->postal_code_business);
        } else {
            $this->postal_code_business = $postal_code_business;
        }
        return $this;
    }
    /**
     * Get postal_code_home value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPostal_code_home()
    {
        return isset($this->postal_code_home) ? $this->postal_code_home : null;
    }
    /**
     * Set postal_code_home value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $postal_code_home
     * @return \OXModule\StructClass\User
     */
    public function setPostal_code_home($postal_code_home = null)
    {
        // validation for constraint: string
        if (!is_null($postal_code_home) && !is_string($postal_code_home)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($postal_code_home)), __LINE__);
        }
        if (is_null($postal_code_home) || (is_array($postal_code_home) && empty($postal_code_home))) {
            unset($this->postal_code_home);
        } else {
            $this->postal_code_home = $postal_code_home;
        }
        return $this;
    }
    /**
     * Get postal_code_other value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPostal_code_other()
    {
        return isset($this->postal_code_other) ? $this->postal_code_other : null;
    }
    /**
     * Set postal_code_other value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $postal_code_other
     * @return \OXModule\StructClass\User
     */
    public function setPostal_code_other($postal_code_other = null)
    {
        // validation for constraint: string
        if (!is_null($postal_code_other) && !is_string($postal_code_other)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($postal_code_other)), __LINE__);
        }
        if (is_null($postal_code_other) || (is_array($postal_code_other) && empty($postal_code_other))) {
            unset($this->postal_code_other);
        } else {
            $this->postal_code_other = $postal_code_other;
        }
        return $this;
    }
    /**
     * Get primaryEmail value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPrimaryEmail()
    {
        return isset($this->primaryEmail) ? $this->primaryEmail : null;
    }
    /**
     * Set primaryEmail value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $primaryEmail
     * @return \OXModule\StructClass\User
     */
    public function setPrimaryEmail($primaryEmail = null)
    {
        // validation for constraint: string
        if (!is_null($primaryEmail) && !is_string($primaryEmail)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($primaryEmail)), __LINE__);
        }
        if (is_null($primaryEmail) || (is_array($primaryEmail) && empty($primaryEmail))) {
            unset($this->primaryEmail);
        } else {
            $this->primaryEmail = $primaryEmail;
        }
        return $this;
    }
    /**
     * Get profession value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getProfession()
    {
        return isset($this->profession) ? $this->profession : null;
    }
    /**
     * Set profession value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $profession
     * @return \OXModule\StructClass\User
     */
    public function setProfession($profession = null)
    {
        // validation for constraint: string
        if (!is_null($profession) && !is_string($profession)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($profession)), __LINE__);
        }
        if (is_null($profession) || (is_array($profession) && empty($profession))) {
            unset($this->profession);
        } else {
            $this->profession = $profession;
        }
        return $this;
    }
    /**
     * Get room_number value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getRoom_number()
    {
        return isset($this->room_number) ? $this->room_number : null;
    }
    /**
     * Set room_number value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $room_number
     * @return \OXModule\StructClass\User
     */
    public function setRoom_number($room_number = null)
    {
        // validation for constraint: string
        if (!is_null($room_number) && !is_string($room_number)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($room_number)), __LINE__);
        }
        if (is_null($room_number) || (is_array($room_number) && empty($room_number))) {
            unset($this->room_number);
        } else {
            $this->room_number = $room_number;
        }
        return $this;
    }
    /**
     * Get sales_volume value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSales_volume()
    {
        return isset($this->sales_volume) ? $this->sales_volume : null;
    }
    /**
     * Set sales_volume value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $sales_volume
     * @return \OXModule\StructClass\User
     */
    public function setSales_volume($sales_volume = null)
    {
        // validation for constraint: string
        if (!is_null($sales_volume) && !is_string($sales_volume)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($sales_volume)), __LINE__);
        }
        if (is_null($sales_volume) || (is_array($sales_volume) && empty($sales_volume))) {
            unset($this->sales_volume);
        } else {
            $this->sales_volume = $sales_volume;
        }
        return $this;
    }
    /**
     * Get smtpPort value
     * @return int|null
     */
    public function getSmtpPort()
    {
        return $this->smtpPort;
    }
    /**
     * Set smtpPort value
     * @param int $smtpPort
     * @return \OXModule\StructClass\User
     */
    public function setSmtpPort($smtpPort = null)
    {
        // validation for constraint: int
        if (!is_null($smtpPort) && !is_numeric($smtpPort)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($smtpPort)), __LINE__);
        }
        $this->smtpPort = $smtpPort;
        return $this;
    }
    /**
     * Get smtpSchema value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSmtpSchema()
    {
        return isset($this->smtpSchema) ? $this->smtpSchema : null;
    }
    /**
     * Set smtpSchema value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $smtpSchema
     * @return \OXModule\StructClass\User
     */
    public function setSmtpSchema($smtpSchema = null)
    {
        // validation for constraint: string
        if (!is_null($smtpSchema) && !is_string($smtpSchema)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($smtpSchema)), __LINE__);
        }
        if (is_null($smtpSchema) || (is_array($smtpSchema) && empty($smtpSchema))) {
            unset($this->smtpSchema);
        } else {
            $this->smtpSchema = $smtpSchema;
        }
        return $this;
    }
    /**
     * Get smtpServer value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSmtpServer()
    {
        return isset($this->smtpServer) ? $this->smtpServer : null;
    }
    /**
     * Set smtpServer value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $smtpServer
     * @return \OXModule\StructClass\User
     */
    public function setSmtpServer($smtpServer = null)
    {
        // validation for constraint: string
        if (!is_null($smtpServer) && !is_string($smtpServer)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($smtpServer)), __LINE__);
        }
        if (is_null($smtpServer) || (is_array($smtpServer) && empty($smtpServer))) {
            unset($this->smtpServer);
        } else {
            $this->smtpServer = $smtpServer;
        }
        return $this;
    }
    /**
     * Get smtpServerString value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSmtpServerString()
    {
        return isset($this->smtpServerString) ? $this->smtpServerString : null;
    }
    /**
     * Set smtpServerString value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $smtpServerString
     * @return \OXModule\StructClass\User
     */
    public function setSmtpServerString($smtpServerString = null)
    {
        // validation for constraint: string
        if (!is_null($smtpServerString) && !is_string($smtpServerString)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($smtpServerString)), __LINE__);
        }
        if (is_null($smtpServerString) || (is_array($smtpServerString) && empty($smtpServerString))) {
            unset($this->smtpServerString);
        } else {
            $this->smtpServerString = $smtpServerString;
        }
        return $this;
    }
    /**
     * Get spouse_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSpouse_name()
    {
        return isset($this->spouse_name) ? $this->spouse_name : null;
    }
    /**
     * Set spouse_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $spouse_name
     * @return \OXModule\StructClass\User
     */
    public function setSpouse_name($spouse_name = null)
    {
        // validation for constraint: string
        if (!is_null($spouse_name) && !is_string($spouse_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($spouse_name)), __LINE__);
        }
        if (is_null($spouse_name) || (is_array($spouse_name) && empty($spouse_name))) {
            unset($this->spouse_name);
        } else {
            $this->spouse_name = $spouse_name;
        }
        return $this;
    }
    /**
     * Get state_business value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getState_business()
    {
        return isset($this->state_business) ? $this->state_business : null;
    }
    /**
     * Set state_business value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $state_business
     * @return \OXModule\StructClass\User
     */
    public function setState_business($state_business = null)
    {
        // validation for constraint: string
        if (!is_null($state_business) && !is_string($state_business)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($state_business)), __LINE__);
        }
        if (is_null($state_business) || (is_array($state_business) && empty($state_business))) {
            unset($this->state_business);
        } else {
            $this->state_business = $state_business;
        }
        return $this;
    }
    /**
     * Get state_home value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getState_home()
    {
        return isset($this->state_home) ? $this->state_home : null;
    }
    /**
     * Set state_home value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $state_home
     * @return \OXModule\StructClass\User
     */
    public function setState_home($state_home = null)
    {
        // validation for constraint: string
        if (!is_null($state_home) && !is_string($state_home)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($state_home)), __LINE__);
        }
        if (is_null($state_home) || (is_array($state_home) && empty($state_home))) {
            unset($this->state_home);
        } else {
            $this->state_home = $state_home;
        }
        return $this;
    }
    /**
     * Get state_other value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getState_other()
    {
        return isset($this->state_other) ? $this->state_other : null;
    }
    /**
     * Set state_other value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $state_other
     * @return \OXModule\StructClass\User
     */
    public function setState_other($state_other = null)
    {
        // validation for constraint: string
        if (!is_null($state_other) && !is_string($state_other)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($state_other)), __LINE__);
        }
        if (is_null($state_other) || (is_array($state_other) && empty($state_other))) {
            unset($this->state_other);
        } else {
            $this->state_other = $state_other;
        }
        return $this;
    }
    /**
     * Get street_business value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getStreet_business()
    {
        return isset($this->street_business) ? $this->street_business : null;
    }
    /**
     * Set street_business value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $street_business
     * @return \OXModule\StructClass\User
     */
    public function setStreet_business($street_business = null)
    {
        // validation for constraint: string
        if (!is_null($street_business) && !is_string($street_business)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($street_business)), __LINE__);
        }
        if (is_null($street_business) || (is_array($street_business) && empty($street_business))) {
            unset($this->street_business);
        } else {
            $this->street_business = $street_business;
        }
        return $this;
    }
    /**
     * Get street_home value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getStreet_home()
    {
        return isset($this->street_home) ? $this->street_home : null;
    }
    /**
     * Set street_home value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $street_home
     * @return \OXModule\StructClass\User
     */
    public function setStreet_home($street_home = null)
    {
        // validation for constraint: string
        if (!is_null($street_home) && !is_string($street_home)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($street_home)), __LINE__);
        }
        if (is_null($street_home) || (is_array($street_home) && empty($street_home))) {
            unset($this->street_home);
        } else {
            $this->street_home = $street_home;
        }
        return $this;
    }
    /**
     * Get street_other value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getStreet_other()
    {
        return isset($this->street_other) ? $this->street_other : null;
    }
    /**
     * Set street_other value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $street_other
     * @return \OXModule\StructClass\User
     */
    public function setStreet_other($street_other = null)
    {
        // validation for constraint: string
        if (!is_null($street_other) && !is_string($street_other)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($street_other)), __LINE__);
        }
        if (is_null($street_other) || (is_array($street_other) && empty($street_other))) {
            unset($this->street_other);
        } else {
            $this->street_other = $street_other;
        }
        return $this;
    }
    /**
     * Get suffix value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSuffix()
    {
        return isset($this->suffix) ? $this->suffix : null;
    }
    /**
     * Set suffix value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $suffix
     * @return \OXModule\StructClass\User
     */
    public function setSuffix($suffix = null)
    {
        // validation for constraint: string
        if (!is_null($suffix) && !is_string($suffix)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($suffix)), __LINE__);
        }
        if (is_null($suffix) || (is_array($suffix) && empty($suffix))) {
            unset($this->suffix);
        } else {
            $this->suffix = $suffix;
        }
        return $this;
    }
    /**
     * Get sur_name value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSur_name()
    {
        return isset($this->sur_name) ? $this->sur_name : null;
    }
    /**
     * Set sur_name value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $sur_name
     * @return \OXModule\StructClass\User
     */
    public function setSur_name($sur_name = null)
    {
        // validation for constraint: string
        if (!is_null($sur_name) && !is_string($sur_name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($sur_name)), __LINE__);
        }
        if (is_null($sur_name) || (is_array($sur_name) && empty($sur_name))) {
            unset($this->sur_name);
        } else {
            $this->sur_name = $sur_name;
        }
        return $this;
    }
    /**
     * Get tax_id value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTax_id()
    {
        return isset($this->tax_id) ? $this->tax_id : null;
    }
    /**
     * Set tax_id value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tax_id
     * @return \OXModule\StructClass\User
     */
    public function setTax_id($tax_id = null)
    {
        // validation for constraint: string
        if (!is_null($tax_id) && !is_string($tax_id)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tax_id)), __LINE__);
        }
        if (is_null($tax_id) || (is_array($tax_id) && empty($tax_id))) {
            unset($this->tax_id);
        } else {
            $this->tax_id = $tax_id;
        }
        return $this;
    }
    /**
     * Get telephone_assistant value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_assistant()
    {
        return isset($this->telephone_assistant) ? $this->telephone_assistant : null;
    }
    /**
     * Set telephone_assistant value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_assistant
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_assistant($telephone_assistant = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_assistant) && !is_string($telephone_assistant)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_assistant)), __LINE__);
        }
        if (is_null($telephone_assistant) || (is_array($telephone_assistant) && empty($telephone_assistant))) {
            unset($this->telephone_assistant);
        } else {
            $this->telephone_assistant = $telephone_assistant;
        }
        return $this;
    }
    /**
     * Get telephone_business1 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_business1()
    {
        return isset($this->telephone_business1) ? $this->telephone_business1 : null;
    }
    /**
     * Set telephone_business1 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_business1
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_business1($telephone_business1 = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_business1) && !is_string($telephone_business1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_business1)), __LINE__);
        }
        if (is_null($telephone_business1) || (is_array($telephone_business1) && empty($telephone_business1))) {
            unset($this->telephone_business1);
        } else {
            $this->telephone_business1 = $telephone_business1;
        }
        return $this;
    }
    /**
     * Get telephone_business2 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_business2()
    {
        return isset($this->telephone_business2) ? $this->telephone_business2 : null;
    }
    /**
     * Set telephone_business2 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_business2
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_business2($telephone_business2 = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_business2) && !is_string($telephone_business2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_business2)), __LINE__);
        }
        if (is_null($telephone_business2) || (is_array($telephone_business2) && empty($telephone_business2))) {
            unset($this->telephone_business2);
        } else {
            $this->telephone_business2 = $telephone_business2;
        }
        return $this;
    }
    /**
     * Get telephone_callback value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_callback()
    {
        return isset($this->telephone_callback) ? $this->telephone_callback : null;
    }
    /**
     * Set telephone_callback value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_callback
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_callback($telephone_callback = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_callback) && !is_string($telephone_callback)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_callback)), __LINE__);
        }
        if (is_null($telephone_callback) || (is_array($telephone_callback) && empty($telephone_callback))) {
            unset($this->telephone_callback);
        } else {
            $this->telephone_callback = $telephone_callback;
        }
        return $this;
    }
    /**
     * Get telephone_car value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_car()
    {
        return isset($this->telephone_car) ? $this->telephone_car : null;
    }
    /**
     * Set telephone_car value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_car
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_car($telephone_car = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_car) && !is_string($telephone_car)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_car)), __LINE__);
        }
        if (is_null($telephone_car) || (is_array($telephone_car) && empty($telephone_car))) {
            unset($this->telephone_car);
        } else {
            $this->telephone_car = $telephone_car;
        }
        return $this;
    }
    /**
     * Get telephone_company value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_company()
    {
        return isset($this->telephone_company) ? $this->telephone_company : null;
    }
    /**
     * Set telephone_company value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_company
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_company($telephone_company = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_company) && !is_string($telephone_company)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_company)), __LINE__);
        }
        if (is_null($telephone_company) || (is_array($telephone_company) && empty($telephone_company))) {
            unset($this->telephone_company);
        } else {
            $this->telephone_company = $telephone_company;
        }
        return $this;
    }
    /**
     * Get telephone_home1 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_home1()
    {
        return isset($this->telephone_home1) ? $this->telephone_home1 : null;
    }
    /**
     * Set telephone_home1 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_home1
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_home1($telephone_home1 = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_home1) && !is_string($telephone_home1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_home1)), __LINE__);
        }
        if (is_null($telephone_home1) || (is_array($telephone_home1) && empty($telephone_home1))) {
            unset($this->telephone_home1);
        } else {
            $this->telephone_home1 = $telephone_home1;
        }
        return $this;
    }
    /**
     * Get telephone_home2 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_home2()
    {
        return isset($this->telephone_home2) ? $this->telephone_home2 : null;
    }
    /**
     * Set telephone_home2 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_home2
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_home2($telephone_home2 = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_home2) && !is_string($telephone_home2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_home2)), __LINE__);
        }
        if (is_null($telephone_home2) || (is_array($telephone_home2) && empty($telephone_home2))) {
            unset($this->telephone_home2);
        } else {
            $this->telephone_home2 = $telephone_home2;
        }
        return $this;
    }
    /**
     * Get telephone_ip value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_ip()
    {
        return isset($this->telephone_ip) ? $this->telephone_ip : null;
    }
    /**
     * Set telephone_ip value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_ip
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_ip($telephone_ip = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_ip) && !is_string($telephone_ip)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_ip)), __LINE__);
        }
        if (is_null($telephone_ip) || (is_array($telephone_ip) && empty($telephone_ip))) {
            unset($this->telephone_ip);
        } else {
            $this->telephone_ip = $telephone_ip;
        }
        return $this;
    }
    /**
     * Get telephone_isdn value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_isdn()
    {
        return isset($this->telephone_isdn) ? $this->telephone_isdn : null;
    }
    /**
     * Set telephone_isdn value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_isdn
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_isdn($telephone_isdn = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_isdn) && !is_string($telephone_isdn)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_isdn)), __LINE__);
        }
        if (is_null($telephone_isdn) || (is_array($telephone_isdn) && empty($telephone_isdn))) {
            unset($this->telephone_isdn);
        } else {
            $this->telephone_isdn = $telephone_isdn;
        }
        return $this;
    }
    /**
     * Get telephone_other value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_other()
    {
        return isset($this->telephone_other) ? $this->telephone_other : null;
    }
    /**
     * Set telephone_other value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_other
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_other($telephone_other = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_other) && !is_string($telephone_other)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_other)), __LINE__);
        }
        if (is_null($telephone_other) || (is_array($telephone_other) && empty($telephone_other))) {
            unset($this->telephone_other);
        } else {
            $this->telephone_other = $telephone_other;
        }
        return $this;
    }
    /**
     * Get telephone_pager value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_pager()
    {
        return isset($this->telephone_pager) ? $this->telephone_pager : null;
    }
    /**
     * Set telephone_pager value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_pager
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_pager($telephone_pager = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_pager) && !is_string($telephone_pager)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_pager)), __LINE__);
        }
        if (is_null($telephone_pager) || (is_array($telephone_pager) && empty($telephone_pager))) {
            unset($this->telephone_pager);
        } else {
            $this->telephone_pager = $telephone_pager;
        }
        return $this;
    }
    /**
     * Get telephone_primary value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_primary()
    {
        return isset($this->telephone_primary) ? $this->telephone_primary : null;
    }
    /**
     * Set telephone_primary value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_primary
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_primary($telephone_primary = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_primary) && !is_string($telephone_primary)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_primary)), __LINE__);
        }
        if (is_null($telephone_primary) || (is_array($telephone_primary) && empty($telephone_primary))) {
            unset($this->telephone_primary);
        } else {
            $this->telephone_primary = $telephone_primary;
        }
        return $this;
    }
    /**
     * Get telephone_radio value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_radio()
    {
        return isset($this->telephone_radio) ? $this->telephone_radio : null;
    }
    /**
     * Set telephone_radio value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_radio
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_radio($telephone_radio = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_radio) && !is_string($telephone_radio)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_radio)), __LINE__);
        }
        if (is_null($telephone_radio) || (is_array($telephone_radio) && empty($telephone_radio))) {
            unset($this->telephone_radio);
        } else {
            $this->telephone_radio = $telephone_radio;
        }
        return $this;
    }
    /**
     * Get telephone_telex value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_telex()
    {
        return isset($this->telephone_telex) ? $this->telephone_telex : null;
    }
    /**
     * Set telephone_telex value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_telex
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_telex($telephone_telex = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_telex) && !is_string($telephone_telex)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_telex)), __LINE__);
        }
        if (is_null($telephone_telex) || (is_array($telephone_telex) && empty($telephone_telex))) {
            unset($this->telephone_telex);
        } else {
            $this->telephone_telex = $telephone_telex;
        }
        return $this;
    }
    /**
     * Get telephone_ttytdd value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelephone_ttytdd()
    {
        return isset($this->telephone_ttytdd) ? $this->telephone_ttytdd : null;
    }
    /**
     * Set telephone_ttytdd value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telephone_ttytdd
     * @return \OXModule\StructClass\User
     */
    public function setTelephone_ttytdd($telephone_ttytdd = null)
    {
        // validation for constraint: string
        if (!is_null($telephone_ttytdd) && !is_string($telephone_ttytdd)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telephone_ttytdd)), __LINE__);
        }
        if (is_null($telephone_ttytdd) || (is_array($telephone_ttytdd) && empty($telephone_ttytdd))) {
            unset($this->telephone_ttytdd);
        } else {
            $this->telephone_ttytdd = $telephone_ttytdd;
        }
        return $this;
    }
    /**
     * Get timezone value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTimezone()
    {
        return isset($this->timezone) ? $this->timezone : null;
    }
    /**
     * Set timezone value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $timezone
     * @return \OXModule\StructClass\User
     */
    public function setTimezone($timezone = null)
    {
        // validation for constraint: string
        if (!is_null($timezone) && !is_string($timezone)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($timezone)), __LINE__);
        }
        if (is_null($timezone) || (is_array($timezone) && empty($timezone))) {
            unset($this->timezone);
        } else {
            $this->timezone = $timezone;
        }
        return $this;
    }
    /**
     * Get title value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTitle()
    {
        return isset($this->title) ? $this->title : null;
    }
    /**
     * Set title value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $title
     * @return \OXModule\StructClass\User
     */
    public function setTitle($title = null)
    {
        // validation for constraint: string
        if (!is_null($title) && !is_string($title)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($title)), __LINE__);
        }
        if (is_null($title) || (is_array($title) && empty($title))) {
            unset($this->title);
        } else {
            $this->title = $title;
        }
        return $this;
    }
    /**
     * Get uploadFileSizeLimit value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getUploadFileSizeLimit()
    {
        return isset($this->uploadFileSizeLimit) ? $this->uploadFileSizeLimit : null;
    }
    /**
     * Set uploadFileSizeLimit value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $uploadFileSizeLimit
     * @return \OXModule\StructClass\User
     */
    public function setUploadFileSizeLimit($uploadFileSizeLimit = null)
    {
        // validation for constraint: int
        if (!is_null($uploadFileSizeLimit) && !is_numeric($uploadFileSizeLimit)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($uploadFileSizeLimit)), __LINE__);
        }
        if (is_null($uploadFileSizeLimit) || (is_array($uploadFileSizeLimit) && empty($uploadFileSizeLimit))) {
            unset($this->uploadFileSizeLimit);
        } else {
            $this->uploadFileSizeLimit = $uploadFileSizeLimit;
        }
        return $this;
    }
    /**
     * Get uploadFileSizeLimitPerFile value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getUploadFileSizeLimitPerFile()
    {
        return isset($this->uploadFileSizeLimitPerFile) ? $this->uploadFileSizeLimitPerFile : null;
    }
    /**
     * Set uploadFileSizeLimitPerFile value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $uploadFileSizeLimitPerFile
     * @return \OXModule\StructClass\User
     */
    public function setUploadFileSizeLimitPerFile($uploadFileSizeLimitPerFile = null)
    {
        // validation for constraint: int
        if (!is_null($uploadFileSizeLimitPerFile) && !is_numeric($uploadFileSizeLimitPerFile)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($uploadFileSizeLimitPerFile)), __LINE__);
        }
        if (is_null($uploadFileSizeLimitPerFile) || (is_array($uploadFileSizeLimitPerFile) && empty($uploadFileSizeLimitPerFile))) {
            unset($this->uploadFileSizeLimitPerFile);
        } else {
            $this->uploadFileSizeLimitPerFile = $uploadFileSizeLimitPerFile;
        }
        return $this;
    }
    /**
     * Get url value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUrl()
    {
        return isset($this->url) ? $this->url : null;
    }
    /**
     * Set url value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $url
     * @return \OXModule\StructClass\User
     */
    public function setUrl($url = null)
    {
        // validation for constraint: string
        if (!is_null($url) && !is_string($url)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($url)), __LINE__);
        }
        if (is_null($url) || (is_array($url) && empty($url))) {
            unset($this->url);
        } else {
            $this->url = $url;
        }
        return $this;
    }
    /**
     * Get userAttributes value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return \OXModule\StructClass\SOAPStringMapMap|null
     */
    public function getUserAttributes()
    {
        return isset($this->userAttributes) ? $this->userAttributes : null;
    }
    /**
     * Set userAttributes value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param \OXModule\StructClass\SOAPStringMapMap $userAttributes
     * @return \OXModule\StructClass\User
     */
    public function setUserAttributes(\OXModule\StructClass\SOAPStringMapMap $userAttributes = null)
    {
        if (is_null($userAttributes) || (is_array($userAttributes) && empty($userAttributes))) {
            unset($this->userAttributes);
        } else {
            $this->userAttributes = $userAttributes;
        }
        return $this;
    }
    /**
     * Get userfield01 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield01()
    {
        return isset($this->userfield01) ? $this->userfield01 : null;
    }
    /**
     * Set userfield01 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield01
     * @return \OXModule\StructClass\User
     */
    public function setUserfield01($userfield01 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield01) && !is_string($userfield01)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield01)), __LINE__);
        }
        if (is_null($userfield01) || (is_array($userfield01) && empty($userfield01))) {
            unset($this->userfield01);
        } else {
            $this->userfield01 = $userfield01;
        }
        return $this;
    }
    /**
     * Get userfield02 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield02()
    {
        return isset($this->userfield02) ? $this->userfield02 : null;
    }
    /**
     * Set userfield02 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield02
     * @return \OXModule\StructClass\User
     */
    public function setUserfield02($userfield02 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield02) && !is_string($userfield02)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield02)), __LINE__);
        }
        if (is_null($userfield02) || (is_array($userfield02) && empty($userfield02))) {
            unset($this->userfield02);
        } else {
            $this->userfield02 = $userfield02;
        }
        return $this;
    }
    /**
     * Get userfield03 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield03()
    {
        return isset($this->userfield03) ? $this->userfield03 : null;
    }
    /**
     * Set userfield03 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield03
     * @return \OXModule\StructClass\User
     */
    public function setUserfield03($userfield03 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield03) && !is_string($userfield03)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield03)), __LINE__);
        }
        if (is_null($userfield03) || (is_array($userfield03) && empty($userfield03))) {
            unset($this->userfield03);
        } else {
            $this->userfield03 = $userfield03;
        }
        return $this;
    }
    /**
     * Get userfield04 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield04()
    {
        return isset($this->userfield04) ? $this->userfield04 : null;
    }
    /**
     * Set userfield04 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield04
     * @return \OXModule\StructClass\User
     */
    public function setUserfield04($userfield04 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield04) && !is_string($userfield04)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield04)), __LINE__);
        }
        if (is_null($userfield04) || (is_array($userfield04) && empty($userfield04))) {
            unset($this->userfield04);
        } else {
            $this->userfield04 = $userfield04;
        }
        return $this;
    }
    /**
     * Get userfield05 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield05()
    {
        return isset($this->userfield05) ? $this->userfield05 : null;
    }
    /**
     * Set userfield05 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield05
     * @return \OXModule\StructClass\User
     */
    public function setUserfield05($userfield05 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield05) && !is_string($userfield05)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield05)), __LINE__);
        }
        if (is_null($userfield05) || (is_array($userfield05) && empty($userfield05))) {
            unset($this->userfield05);
        } else {
            $this->userfield05 = $userfield05;
        }
        return $this;
    }
    /**
     * Get userfield06 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield06()
    {
        return isset($this->userfield06) ? $this->userfield06 : null;
    }
    /**
     * Set userfield06 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield06
     * @return \OXModule\StructClass\User
     */
    public function setUserfield06($userfield06 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield06) && !is_string($userfield06)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield06)), __LINE__);
        }
        if (is_null($userfield06) || (is_array($userfield06) && empty($userfield06))) {
            unset($this->userfield06);
        } else {
            $this->userfield06 = $userfield06;
        }
        return $this;
    }
    /**
     * Get userfield07 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield07()
    {
        return isset($this->userfield07) ? $this->userfield07 : null;
    }
    /**
     * Set userfield07 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield07
     * @return \OXModule\StructClass\User
     */
    public function setUserfield07($userfield07 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield07) && !is_string($userfield07)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield07)), __LINE__);
        }
        if (is_null($userfield07) || (is_array($userfield07) && empty($userfield07))) {
            unset($this->userfield07);
        } else {
            $this->userfield07 = $userfield07;
        }
        return $this;
    }
    /**
     * Get userfield08 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield08()
    {
        return isset($this->userfield08) ? $this->userfield08 : null;
    }
    /**
     * Set userfield08 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield08
     * @return \OXModule\StructClass\User
     */
    public function setUserfield08($userfield08 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield08) && !is_string($userfield08)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield08)), __LINE__);
        }
        if (is_null($userfield08) || (is_array($userfield08) && empty($userfield08))) {
            unset($this->userfield08);
        } else {
            $this->userfield08 = $userfield08;
        }
        return $this;
    }
    /**
     * Get userfield09 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield09()
    {
        return isset($this->userfield09) ? $this->userfield09 : null;
    }
    /**
     * Set userfield09 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield09
     * @return \OXModule\StructClass\User
     */
    public function setUserfield09($userfield09 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield09) && !is_string($userfield09)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield09)), __LINE__);
        }
        if (is_null($userfield09) || (is_array($userfield09) && empty($userfield09))) {
            unset($this->userfield09);
        } else {
            $this->userfield09 = $userfield09;
        }
        return $this;
    }
    /**
     * Get userfield10 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield10()
    {
        return isset($this->userfield10) ? $this->userfield10 : null;
    }
    /**
     * Set userfield10 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield10
     * @return \OXModule\StructClass\User
     */
    public function setUserfield10($userfield10 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield10) && !is_string($userfield10)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield10)), __LINE__);
        }
        if (is_null($userfield10) || (is_array($userfield10) && empty($userfield10))) {
            unset($this->userfield10);
        } else {
            $this->userfield10 = $userfield10;
        }
        return $this;
    }
    /**
     * Get userfield11 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield11()
    {
        return isset($this->userfield11) ? $this->userfield11 : null;
    }
    /**
     * Set userfield11 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield11
     * @return \OXModule\StructClass\User
     */
    public function setUserfield11($userfield11 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield11) && !is_string($userfield11)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield11)), __LINE__);
        }
        if (is_null($userfield11) || (is_array($userfield11) && empty($userfield11))) {
            unset($this->userfield11);
        } else {
            $this->userfield11 = $userfield11;
        }
        return $this;
    }
    /**
     * Get userfield12 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield12()
    {
        return isset($this->userfield12) ? $this->userfield12 : null;
    }
    /**
     * Set userfield12 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield12
     * @return \OXModule\StructClass\User
     */
    public function setUserfield12($userfield12 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield12) && !is_string($userfield12)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield12)), __LINE__);
        }
        if (is_null($userfield12) || (is_array($userfield12) && empty($userfield12))) {
            unset($this->userfield12);
        } else {
            $this->userfield12 = $userfield12;
        }
        return $this;
    }
    /**
     * Get userfield13 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield13()
    {
        return isset($this->userfield13) ? $this->userfield13 : null;
    }
    /**
     * Set userfield13 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield13
     * @return \OXModule\StructClass\User
     */
    public function setUserfield13($userfield13 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield13) && !is_string($userfield13)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield13)), __LINE__);
        }
        if (is_null($userfield13) || (is_array($userfield13) && empty($userfield13))) {
            unset($this->userfield13);
        } else {
            $this->userfield13 = $userfield13;
        }
        return $this;
    }
    /**
     * Get userfield14 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield14()
    {
        return isset($this->userfield14) ? $this->userfield14 : null;
    }
    /**
     * Set userfield14 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield14
     * @return \OXModule\StructClass\User
     */
    public function setUserfield14($userfield14 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield14) && !is_string($userfield14)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield14)), __LINE__);
        }
        if (is_null($userfield14) || (is_array($userfield14) && empty($userfield14))) {
            unset($this->userfield14);
        } else {
            $this->userfield14 = $userfield14;
        }
        return $this;
    }
    /**
     * Get userfield15 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield15()
    {
        return isset($this->userfield15) ? $this->userfield15 : null;
    }
    /**
     * Set userfield15 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield15
     * @return \OXModule\StructClass\User
     */
    public function setUserfield15($userfield15 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield15) && !is_string($userfield15)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield15)), __LINE__);
        }
        if (is_null($userfield15) || (is_array($userfield15) && empty($userfield15))) {
            unset($this->userfield15);
        } else {
            $this->userfield15 = $userfield15;
        }
        return $this;
    }
    /**
     * Get userfield16 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield16()
    {
        return isset($this->userfield16) ? $this->userfield16 : null;
    }
    /**
     * Set userfield16 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield16
     * @return \OXModule\StructClass\User
     */
    public function setUserfield16($userfield16 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield16) && !is_string($userfield16)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield16)), __LINE__);
        }
        if (is_null($userfield16) || (is_array($userfield16) && empty($userfield16))) {
            unset($this->userfield16);
        } else {
            $this->userfield16 = $userfield16;
        }
        return $this;
    }
    /**
     * Get userfield17 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield17()
    {
        return isset($this->userfield17) ? $this->userfield17 : null;
    }
    /**
     * Set userfield17 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield17
     * @return \OXModule\StructClass\User
     */
    public function setUserfield17($userfield17 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield17) && !is_string($userfield17)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield17)), __LINE__);
        }
        if (is_null($userfield17) || (is_array($userfield17) && empty($userfield17))) {
            unset($this->userfield17);
        } else {
            $this->userfield17 = $userfield17;
        }
        return $this;
    }
    /**
     * Get userfield18 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield18()
    {
        return isset($this->userfield18) ? $this->userfield18 : null;
    }
    /**
     * Set userfield18 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield18
     * @return \OXModule\StructClass\User
     */
    public function setUserfield18($userfield18 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield18) && !is_string($userfield18)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield18)), __LINE__);
        }
        if (is_null($userfield18) || (is_array($userfield18) && empty($userfield18))) {
            unset($this->userfield18);
        } else {
            $this->userfield18 = $userfield18;
        }
        return $this;
    }
    /**
     * Get userfield19 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield19()
    {
        return isset($this->userfield19) ? $this->userfield19 : null;
    }
    /**
     * Set userfield19 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield19
     * @return \OXModule\StructClass\User
     */
    public function setUserfield19($userfield19 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield19) && !is_string($userfield19)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield19)), __LINE__);
        }
        if (is_null($userfield19) || (is_array($userfield19) && empty($userfield19))) {
            unset($this->userfield19);
        } else {
            $this->userfield19 = $userfield19;
        }
        return $this;
    }
    /**
     * Get userfield20 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUserfield20()
    {
        return isset($this->userfield20) ? $this->userfield20 : null;
    }
    /**
     * Set userfield20 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $userfield20
     * @return \OXModule\StructClass\User
     */
    public function setUserfield20($userfield20 = null)
    {
        // validation for constraint: string
        if (!is_null($userfield20) && !is_string($userfield20)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($userfield20)), __LINE__);
        }
        if (is_null($userfield20) || (is_array($userfield20) && empty($userfield20))) {
            unset($this->userfield20);
        } else {
            $this->userfield20 = $userfield20;
        }
        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 \OXModule\StructClass\User
     */
    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__;
    }
}
