protected function createConfiguration(ObjectAccess $data)
    {
        $autoloadData = new ObjectAccess(
            $data->getDefault('autoload', (object) array())
        );

        return new Configuration(
            $data->getDefault('name'),
            $data->getDefault('description'),
            $data->getDefault('version'),
            $data->getDefault('type'),
            $data->getDefault('keywords'),
            $data->getDefault('homepage'),
            $this->createTime($data->getDefault('time')),
            $this->arrayize($data->getDefault('license')),
            $this->createAuthors($data->getDefault('authors')),
            $this->createSupport($data->getDefault('support')),
            $this->objectToArray($data->getDefault('require')),
            $this->objectToArray($data->getDefault('require-dev')),
            $this->objectToArray($data->getDefault('conflict')),
            $this->objectToArray($data->getDefault('replace')),
            $this->objectToArray($data->getDefault('provide')),
            $this->objectToArray($data->getDefault('suggest')),
            $this->createAutoloadPsr($autoloadData->getDefault('psr-4')),
            $this->createAutoloadPsr($autoloadData->getDefault('psr-0')),
            $autoloadData->getDefault('classmap'),
            $autoloadData->getDefault('files'),
            $data->getDefault('include-path'),
            $data->getDefault('target-dir'),
            $this->createStability($data->getDefault('minimum-stability')),
            $data->getDefault('prefer-stable'),
            $this->createRepositories((array) $data->getDefault('repositories')),
            $this->createProjectConfiguration($data->getDefault('config')),
            $this->createScripts($data->getDefault('scripts')),
            $data->getDefault('extra'),
            $data->getDefault('bin'),
            $this->createArchiveConfiguration($data->getDefault('archive')),
            $data->data()
        );
    }
protected function createConfiguration(ObjectAccess $data)
    {
        $autoloadData = new ObjectAccess(
            $data->getDefault('autoload', (object) array())
        );

        return new Configuration(
            $data->getDefault('name'),
            $data->getDefault('description'),
            $data->getDefault('version'),
            $data->getDefault('type'),
            $data->getDefault('keywords'),
            $data->getDefault('homepage'),
            $this->createTime($data->getDefault('time')),
            $this->arrayize($data->getDefault('license')),
            $this->createAuthors($data->getDefault('authors')),
            $this->createSupport($data->getDefault('support')),
            $this->objectToArray($data->getDefault('require')),
            $this->objectToArray($data->getDefault('require-dev')),
            $this->objectToArray($data->getDefault('conflict')),
            $this->objectToArray($data->getDefault('replace')),
            $this->objectToArray($data->getDefault('provide')),
            $this->objectToArray($data->getDefault('suggest')),
            $this->createAutoloadPsr($autoloadData->getDefault('psr-4')),
            $this->createAutoloadPsr($autoloadData->getDefault('psr-0')),
            $autoloadData->getDefault('classmap'),
            $autoloadData->getDefault('files'),
            $data->getDefault('include-path'),
            $data->getDefault('target-dir'),
            $this->createStability($data->getDefault('minimum-stability')),
            $data->getDefault('prefer-stable'),
            $this->createRepositories((array) $data->getDefault('repositories')),
            $this->createProjectConfiguration($data->getDefault('config')),
            $this->createScripts($data->getDefault('scripts')),
            $data->getDefault('extra'),
            $data->getDefault('bin'),
            $this->createArchiveConfiguration($data->getDefault('archive')),
            $data->data()
        );
    }
protected function createConfiguration ( ObjectAccess $ data ) { $ autoloadData = new ObjectAccess ( $ data -> getDefault ( 'autoload' , ( object ) array ( ) ) ) ; return new Configuration ( $ data -> getDefault ( 'name' ) , $ data -> getDefault ( 'description' ) , $ data -> getDefault ( 'version' ) , $ data -> getDefault ( 'type' ) , $ data -> getDefault ( 'keywords' ) , $ data -> getDefault ( 'homepage' ) , $ this -> createTime ( $ data -> getDefault ( 'time' ) ) , $ this -> arrayize ( $ data -> getDefault ( 'license' ) ) , $ this -> createAuthors ( $ data -> getDefault ( 'authors' ) ) , $ this -> createSupport ( $ data -> getDefault ( 'support' ) ) , $ this -> objectToArray ( $ data -> getDefault ( 'require' ) ) , $ this -> objectToArray ( $ data -> getDefault ( 'require-dev' ) ) , $ this -> objectToArray ( $ data -> getDefault ( 'conflict' ) ) , $ this -> objectToArray ( $ data -> getDefault ( 'replace' ) ) , $ this -> objectToArray ( $ data -> getDefault ( 'provide' ) ) , $ this -> objectToArray ( $ data -> getDefault ( 'suggest' ) ) , $ this -> createAutoloadPsr ( $ autoloadData -> getDefault ( 'psr-4' ) ) , $ this -> createAutoloadPsr ( $ autoloadData -> getDefault ( 'psr-0' ) ) , $ autoloadData -> getDefault ( 'classmap' ) , $ autoloadData -> getDefault ( 'files' ) , $ data -> getDefault ( 'include-path' ) , $ data -> getDefault ( 'target-dir' ) , $ this -> createStability ( $ data -> getDefault ( 'minimum-stability' ) ) , $ data -> getDefault ( 'prefer-stable' ) , $ this -> createRepositories ( ( array ) $ data -> getDefault ( 'repositories' ) ) , $ this -> createProjectConfiguration ( $ data -> getDefault ( 'config' ) ) , $ this -> createScripts ( $ data -> getDefault ( 'scripts' ) ) , $ data -> getDefault ( 'extra' ) , $ data -> getDefault ( 'bin' ) , $ this -> createArchiveConfiguration ( $ data -> getDefault ( 'archive' ) ) , $ data -> data ( ) ) ; }
Create a configuration object from the supplied JSON data.

@param ObjectAccess $data The parsed JSON data.

@return Configuration The newly created configuration object.
Create a configuration object from the supplied JSON data .