You are here

class ServiceReferenceGraphNode in Service Container 7

Same name and namespace in other branches
  1. 7.2 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphNode.php \Symfony\Component\DependencyInjection\Compiler\ServiceReferenceGraphNode

Represents a node in your service graph.

Value is typically a definition, or an alias.

@author Johannes M. Schmitt <schmittjoh@gmail.com>

Hierarchy

Expanded class hierarchy of ServiceReferenceGraphNode

File

modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphNode.php, line 24

Namespace

Symfony\Component\DependencyInjection\Compiler
View source
class ServiceReferenceGraphNode {
  private $id;
  private $inEdges = array();
  private $outEdges = array();
  private $value;

  /**
   * Constructor.
   *
   * @param string $id    The node identifier
   * @param mixed  $value The node value
   */
  public function __construct($id, $value) {
    $this->id = $id;
    $this->value = $value;
  }

  /**
   * Adds an in edge to this node.
   *
   * @param ServiceReferenceGraphEdge $edge
   */
  public function addInEdge(ServiceReferenceGraphEdge $edge) {
    $this->inEdges[] = $edge;
  }

  /**
   * Adds an out edge to this node.
   *
   * @param ServiceReferenceGraphEdge $edge
   */
  public function addOutEdge(ServiceReferenceGraphEdge $edge) {
    $this->outEdges[] = $edge;
  }

  /**
   * Checks if the value of this node is an Alias.
   *
   * @return bool True if the value is an Alias instance
   */
  public function isAlias() {
    return $this->value instanceof Alias;
  }

  /**
   * Checks if the value of this node is a Definition.
   *
   * @return bool True if the value is a Definition instance
   */
  public function isDefinition() {
    return $this->value instanceof Definition;
  }

  /**
   * Returns the identifier.
   *
   * @return string
   */
  public function getId() {
    return $this->id;
  }

  /**
   * Returns the in edges.
   *
   * @return array The in ServiceReferenceGraphEdge array
   */
  public function getInEdges() {
    return $this->inEdges;
  }

  /**
   * Returns the out edges.
   *
   * @return array The out ServiceReferenceGraphEdge array
   */
  public function getOutEdges() {
    return $this->outEdges;
  }

  /**
   * Returns the value of this Node.
   *
   * @return mixed The value
   */
  public function getValue() {
    return $this->value;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ServiceReferenceGraphNode::$id private property
ServiceReferenceGraphNode::$inEdges private property
ServiceReferenceGraphNode::$outEdges private property
ServiceReferenceGraphNode::$value private property
ServiceReferenceGraphNode::addInEdge public function Adds an in edge to this node.
ServiceReferenceGraphNode::addOutEdge public function Adds an out edge to this node.
ServiceReferenceGraphNode::getId public function Returns the identifier.
ServiceReferenceGraphNode::getInEdges public function Returns the in edges.
ServiceReferenceGraphNode::getOutEdges public function Returns the out edges.
ServiceReferenceGraphNode::getValue public function Returns the value of this Node.
ServiceReferenceGraphNode::isAlias public function Checks if the value of this node is an Alias.
ServiceReferenceGraphNode::isDefinition public function Checks if the value of this node is a Definition.
ServiceReferenceGraphNode::__construct public function Constructor.