<?php

namespace Eurostop\Products;

class SubmittedProductAnalysisValueCustom extends SubmittedDataItemOfSubmittedProductAnalysisValueDtoVNxenGD6Custom
{

    /**
     * @var string $AnalysisTypeIdentifier
     */
    protected $AnalysisTypeIdentifier = null;

    /**
     * @var AnalysisTypeIdentifierType $AnalysisTypeIdentifierType
     */
    protected $AnalysisTypeIdentifierType = null;

    /**
     * @var string $AnalysisValueIdentifier
     */
    protected $AnalysisValueIdentifier = null;

    /**
     * @var AnalysisValueIdentifierType $AnalysisValueIdentifierType
     */
    protected $AnalysisValueIdentifierType = null;

    /**
     * @var boolean $CreateAnalysisValueIfMissing
     */
    protected $CreateAnalysisValueIfMissing = null;

    /**
     * @param AnalysisTypeIdentifierType $AnalysisTypeIdentifierType
     * @param AnalysisValueIdentifierType $AnalysisValueIdentifierType
     * @param boolean $CreateAnalysisValueIfMissing
     */
    public function __construct($AnalysisTypeIdentifierType, $AnalysisValueIdentifierType, $CreateAnalysisValueIfMissing)
    {
      parent::__construct();
      $this->AnalysisTypeIdentifierType = $AnalysisTypeIdentifierType;
      $this->AnalysisValueIdentifierType = $AnalysisValueIdentifierType;
      $this->CreateAnalysisValueIfMissing = $CreateAnalysisValueIfMissing;
    }

    /**
     * @return string
     */
    public function getAnalysisTypeIdentifier()
    {
      return $this->AnalysisTypeIdentifier;
    }

    /**
     * @param string $AnalysisTypeIdentifier
     * @return \Eurostop\Products\SubmittedProductAnalysisValue
     */
    public function setAnalysisTypeIdentifier($AnalysisTypeIdentifier)
    {
      $this->AnalysisTypeIdentifier = $AnalysisTypeIdentifier;
      return $this;
    }

    /**
     * @return AnalysisTypeIdentifierType
     */
    public function getAnalysisTypeIdentifierType()
    {
      return $this->AnalysisTypeIdentifierType;
    }

    /**
     * @param AnalysisTypeIdentifierType $AnalysisTypeIdentifierType
     * @return \Eurostop\Products\SubmittedProductAnalysisValue
     */
    public function setAnalysisTypeIdentifierType($AnalysisTypeIdentifierType)
    {
      $this->AnalysisTypeIdentifierType = $AnalysisTypeIdentifierType;
      return $this;
    }

    /**
     * @return string
     */
    public function getAnalysisValueIdentifier()
    {
      return $this->AnalysisValueIdentifier;
    }

    /**
     * @param string $AnalysisValueIdentifier
     * @return \Eurostop\Products\SubmittedProductAnalysisValue
     */
    public function setAnalysisValueIdentifier($AnalysisValueIdentifier)
    {
      $this->AnalysisValueIdentifier = $AnalysisValueIdentifier;
      return $this;
    }

    /**
     * @return AnalysisValueIdentifierType
     */
    public function getAnalysisValueIdentifierType()
    {
      return $this->AnalysisValueIdentifierType;
    }

    /**
     * @param AnalysisValueIdentifierType $AnalysisValueIdentifierType
     * @return \Eurostop\Products\SubmittedProductAnalysisValue
     */
    public function setAnalysisValueIdentifierType($AnalysisValueIdentifierType)
    {
      $this->AnalysisValueIdentifierType = $AnalysisValueIdentifierType;
      return $this;
    }

    /**
     * @return boolean
     */
    public function getCreateAnalysisValueIfMissing()
    {
      return $this->CreateAnalysisValueIfMissing;
    }

    /**
     * @param boolean $CreateAnalysisValueIfMissing
     * @return \Eurostop\Products\SubmittedProductAnalysisValue
     */
    public function setCreateAnalysisValueIfMissing($CreateAnalysisValueIfMissing)
    {
      $this->CreateAnalysisValueIfMissing = $CreateAnalysisValueIfMissing;
      return $this;
    }

}
