Factory   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 1
dl 0
loc 29
c 0
b 0
f 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A createProxy() 0 8 1
1
<?php
2
3
namespace Isolate\LazyObjects\Proxy\Adapter\OcramiusProxyManager;
4
5
use Isolate\LazyObjects\Object\PropertyAccessor;
6
use Isolate\LazyObjects\Object\Value\AssemblerFactory;
7
use Isolate\LazyObjects\Proxy\Adapter\OcramiusProxyManager\Factory\LazyObjectsFactory;
8
use Isolate\LazyObjects\Proxy\Definition;
9
use Isolate\LazyObjects\Proxy\Factory as BaseFactory;
10
11
class Factory implements BaseFactory
12
{
13
    /**
14
     * @var LazyObjectsFactory
15
     */
16
    private $lazyObjectsFactory;
17
18
    /**
19
     * @param LazyObjectsFactory $lazyObjectFactory
20
     */
21
    public function __construct(LazyObjectsFactory $lazyObjectFactory)
22
    {
23
        $this->lazyObjectsFactory = $lazyObjectFactory;
24
    }
25
26
    /**
27
     * @param $object
28
     * @param Definition $definition
29
     * @return \Isolate\LazyObjects\WrappedObject $object
30
     */
31
    public function createProxy($object, Definition $definition)
32
    {
33
        return $this->lazyObjectsFactory->createProxy(
34
            $object,
35
            $definition->getLazyProperties(),
36
            $definition->getMethodReplacements()
37
        );
38
    }
39
}
40