* @license MIT */ class NullObjectFactory extends AbstractBaseFactory { /** * @var \ProxyManager\ProxyGenerator\NullObjectGenerator|null */ private $generator; /** * @param object $instanceOrClassName the object to be wrapped or interface to transform to null object * * @return \ProxyManager\Proxy\NullobjectInterface */ public function createProxy($instanceOrClassName) { $className = is_object($instanceOrClassName) ? get_class($instanceOrClassName) : $instanceOrClassName; $proxyClassName = $this->generateProxy($className); return new $proxyClassName(); } /** * {@inheritDoc} */ protected function getGenerator() { return $this->generator ?: $this->generator = new NullObjectGenerator(); } }