Code

< 40 %
40-60 %
> 60 %
1
<?php
2
3
namespace CfdiUtils\Validate;
4
5
use CfdiUtils\CadenaOrigen\XsltBuilderPropertyInterface;
6
use CfdiUtils\CadenaOrigen\XsltBuilderPropertyTrait;
7
use CfdiUtils\Validate\Contracts\RequireXmlResolverInterface;
8
use CfdiUtils\Validate\Contracts\RequireXmlStringInterface;
9
use CfdiUtils\Validate\Contracts\RequireXsltBuilderInterface;
10
use CfdiUtils\Validate\Contracts\ValidatorInterface;
11
use CfdiUtils\Validate\Traits\XmlStringPropertyTrait;
12
use CfdiUtils\XmlResolver\XmlResolverPropertyInterface;
13
use CfdiUtils\XmlResolver\XmlResolverPropertyTrait;
14
15
class Hydrater implements XmlResolverPropertyInterface, XsltBuilderPropertyInterface
16
{
17
    use XmlResolverPropertyTrait;
18
    use XmlStringPropertyTrait;
19
    use XsltBuilderPropertyTrait;
20
21 109
    public function hydrate(ValidatorInterface $validator)
22
    {
23 109
        if ($validator instanceof RequireXmlStringInterface) {
24 73
            $validator->setXmlString($this->getXmlString());
25
        }
26 109
        if ($this->hasXmlResolver() && $validator instanceof RequireXmlResolverInterface) {
27 93
            $validator->setXmlResolver($this->getXmlResolver());
28
        }
29 109
        if ($validator instanceof RequireXsltBuilderInterface) {
30 91
            $validator->setXsltBuilder($this->getXsltBuilder());
31
        }
32
    }
33
}
34