File: /home/petsclubcc/magento/vendor/magento/framework/ObjectManager/Config/Compiled.php
<?php
/**
*
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\ObjectManager\Config;
use Magento\Framework\ObjectManager\ConfigCacheInterface;
use Magento\Framework\ObjectManager\RelationsInterface;
class Compiled implements \Magento\Framework\ObjectManager\ConfigInterface
{
/**
* @var array
*/
private $arguments;
/**
* @var array
*/
private $virtualTypes;
/**
* @var array
*/
private $preferences;
/**
* @param array $data
*/
public function __construct($data)
{
$this->arguments = $data['arguments'];
$this->virtualTypes = $data['instanceTypes'];
$this->preferences = $data['preferences'];
}
/**
* Set class relations
*
* @param RelationsInterface $relations
*
* @return void
*
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function setRelations(RelationsInterface $relations)
{
}
/**
* Set configuration cache instance
*
* @param ConfigCacheInterface $cache
*
* @return void
*
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function setCache(ConfigCacheInterface $cache)
{
}
/**
* Retrieve list of arguments per type
*
* @param string $type
* @return array
*/
public function getArguments($type)
{
if (isset($this->arguments[$type])) {
if (is_string($this->arguments[$type])) {
$this->arguments[$type] = unserialize($this->arguments[$type]);
}
return $this->arguments[$type];
} else {
return [['_i_' => 'Magento\Framework\ObjectManagerInterface']];
}
}
/**
* Check whether type is shared
*
* @param string $type
* @return bool
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function isShared($type)
{
return true;
}
/**
* Retrieve instance type
*
* @param string $instanceName
* @return mixed
*/
public function getInstanceType($instanceName)
{
if (isset($this->virtualTypes[$instanceName])) {
return $this->virtualTypes[$instanceName];
}
return $instanceName;
}
/**
* Retrieve preference for type
*
* @param string $type
* @return string
* @throws \LogicException
*/
public function getPreference($type)
{
if (isset($this->preferences[$type])) {
return $this->preferences[$type];
}
return $type;
}
/**
* Extend configuration
*
* @param array $configuration
* @return void
*/
public function extend(array $configuration)
{
$this->arguments = $configuration['arguments'];
$this->virtualTypes = $configuration['instanceTypes'];
$this->preferences = $configuration['preferences'];
}
/**
* Retrieve all virtual types
*
* @return string
*/
public function getVirtualTypes()
{
return $this->virtualTypes;
}
/**
* Returns list on preferences
*
* @return array
*/
public function getPreferences()
{
return $this->preferences;
}
}