Goetas\Xsd\XsdToPhp\Php\ClassGenerator::handleProperty PHP Method

handleProperty() private method

private handleProperty ( ClassGenerator $class, Goetas\Xsd\XsdToPhp\Php\Structure\PHPProperty $prop )
$class Zend\Code\Generator\ClassGenerator
$prop Goetas\Xsd\XsdToPhp\Php\Structure\PHPProperty
    private function handleProperty(Generator\ClassGenerator $class, PHPProperty $prop)
    {
        $generatedProp = new PropertyGenerator($prop->getName());
        $generatedProp->setVisibility(PropertyGenerator::VISIBILITY_PRIVATE);
        $class->addPropertyFromGenerator($generatedProp);
        if ($prop->getType() && (!$prop->getType()->getNamespace() && $prop->getType()->getName() == "array")) {
            // $generatedProp->setDefaultValue(array(), PropertyValueGenerator::TYPE_AUTO, PropertyValueGenerator::OUTPUT_SINGLE_LINE);
        }
        $docBlock = new DocBlockGenerator();
        $generatedProp->setDocBlock($docBlock);
        if ($prop->getDoc()) {
            $docBlock->setLongDescription($prop->getDoc());
        }
        $tag = new PropertyTag($prop->getName(), 'mixed');
        $type = $prop->getType();
        if ($type && $type instanceof PHPClassOf) {
            $tt = $type->getArg()->getType();
            $tag->setTypes($this->getPhpType($tt) . "[]");
            if ($p = $this->isOneType($tt)) {
                if ($t = $p->getType()) {
                    $tag->setTypes($this->getPhpType($t) . "[]");
                }
            }
        } elseif ($type) {
            if ($this->isNativeType($type)) {
                $tag->setTypes($this->getPhpType($type));
            } elseif (($p = $this->isOneType($type)) && ($t = $p->getType())) {
                $tag->setTypes($this->getPhpType($t));
            } else {
                $tag->setTypes($this->getPhpType($prop->getType()));
            }
        }
        $docBlock->setTag($tag);
    }