Goetas\Xsd\XsdToPhp\Jms\YamlConverter::handleClassExtension PHP Method

handleClassExtension() private method

private handleClassExtension ( &$class, &$data, GoetasWebservices\XML\XSDReader\Schema\Type\Type $type, $parentName )
$type GoetasWebservices\XML\XSDReader\Schema\Type\Type
    private function handleClassExtension(&$class, &$data, Type $type, $parentName)
    {
        if ($alias = $this->getTypeAlias($type)) {
            $property = array();
            $property["expose"] = true;
            $property["xml_value"] = true;
            $property["access_type"] = "public_method";
            $property["accessor"]["getter"] = "value";
            $property["accessor"]["setter"] = "value";
            $property["type"] = $alias;
            $data["properties"]["__value"] = $property;
        } else {
            $extension = $this->visitType($type, true);
            if (isset($extension['properties']['__value']) && count($extension['properties']) === 1) {
                $data["properties"]["__value"] = $extension['properties']['__value'];
            } else {
                if ($type instanceof SimpleType) {
                    // @todo ?? basta come controllo?
                    $property = array();
                    $property["expose"] = true;
                    $property["xml_value"] = true;
                    $property["access_type"] = "public_method";
                    $property["accessor"]["getter"] = "value";
                    $property["accessor"]["setter"] = "value";
                    if ($valueProp = $this->typeHasValue($type, $class, $parentName)) {
                        $property["type"] = $valueProp;
                    } else {
                        $property["type"] = key($extension);
                    }
                    $data["properties"]["__value"] = $property;
                }
            }
        }
    }