You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.1 KiB
99 lines
2.1 KiB
<?php |
|
|
|
/* |
|
* This file is part of the Symfony package. |
|
* |
|
* (c) Fabien Potencier <fabien@symfony.com> |
|
* |
|
* For the full copyright and license information, please view the LICENSE |
|
* file that was distributed with this source code. |
|
*/ |
|
|
|
namespace Symfony\Component\DependencyInjection\Compiler; |
|
|
|
/** |
|
* Represents an edge in your service graph. |
|
* |
|
* Value is typically a reference. |
|
* |
|
* @author Johannes M. Schmitt <schmittjoh@gmail.com> |
|
*/ |
|
class ServiceReferenceGraphEdge |
|
{ |
|
private $sourceNode; |
|
private $destNode; |
|
private $value; |
|
private $lazy; |
|
private $weak; |
|
private $byConstructor; |
|
|
|
public function __construct(ServiceReferenceGraphNode $sourceNode, ServiceReferenceGraphNode $destNode, $value = null, bool $lazy = false, bool $weak = false, bool $byConstructor = false) |
|
{ |
|
$this->sourceNode = $sourceNode; |
|
$this->destNode = $destNode; |
|
$this->value = $value; |
|
$this->lazy = $lazy; |
|
$this->weak = $weak; |
|
$this->byConstructor = $byConstructor; |
|
} |
|
|
|
/** |
|
* Returns the value of the edge. |
|
* |
|
* @return mixed |
|
*/ |
|
public function getValue() |
|
{ |
|
return $this->value; |
|
} |
|
|
|
/** |
|
* Returns the source node. |
|
* |
|
* @return ServiceReferenceGraphNode |
|
*/ |
|
public function getSourceNode() |
|
{ |
|
return $this->sourceNode; |
|
} |
|
|
|
/** |
|
* Returns the destination node. |
|
* |
|
* @return ServiceReferenceGraphNode |
|
*/ |
|
public function getDestNode() |
|
{ |
|
return $this->destNode; |
|
} |
|
|
|
/** |
|
* Returns true if the edge is lazy, meaning it's a dependency not requiring direct instantiation. |
|
* |
|
* @return bool |
|
*/ |
|
public function isLazy() |
|
{ |
|
return $this->lazy; |
|
} |
|
|
|
/** |
|
* Returns true if the edge is weak, meaning it shouldn't prevent removing the target service. |
|
* |
|
* @return bool |
|
*/ |
|
public function isWeak() |
|
{ |
|
return $this->weak; |
|
} |
|
|
|
/** |
|
* Returns true if the edge links with a constructor argument. |
|
* |
|
* @return bool |
|
*/ |
|
public function isReferencedByConstructor() |
|
{ |
|
return $this->byConstructor; |
|
} |
|
}
|
|
|