* @author Christoph Aßmann * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * @link http://www.temando.com/ */ class Active extends Value { /** * @var CredentialsValidator */ private $validationRules; /** * @param Context $context * @param Registry $registry * @param ScopeConfigInterface $config * @param TypeListInterface $cacheTypeList * @param CredentialsValidator $validationRules * @param AbstractResource|null $resource * @param AbstractDb|null $resourceCollection * @param array $data */ public function __construct( Context $context, Registry $registry, ScopeConfigInterface $config, TypeListInterface $cacheTypeList, CredentialsValidator $validationRules, AbstractResource $resource = null, AbstractDb $resourceCollection = null, array $data = [] ) { $this->validationRules = $validationRules; parent::__construct($context, $registry, $config, $cacheTypeList, $resource, $resourceCollection, $data); } /** * Obtain validation rules for establishing the api connection * * @return \Zend\Validator\ValidatorInterface|null */ protected function _getValidationRulesBeforeSave() { $inputValidator = $this->validationRules->getInputValidator(); $uriValidator = $this->validationRules->getUriEndpointValidator(); $authenticationValidator = $this->validationRules->getAuthenticationValidator(); $validatorChain = new \Zend\Validator\ValidatorChain(); $validatorChain->attach($inputValidator, true); $validatorChain->attach($uriValidator, true); $validatorChain->attach($authenticationValidator, true); return $validatorChain; } }