2 * <h1>Graph component package </h1>
4 * The graph component package provides the representation of a number of
5 * components {@link Component}
6 * their required and provided interfaces ({@link RequiredInterface} and
7 * {@link ProvidedInterface}), and how these are connected together.
9 * This package provides the bridge between the component model and the
10 * representation of the components and their connections in a graph.
11 * The component package provides various algorithms, filters, and
12 * validations that are required for the implementation of a container.
14 * The main abstractions are:
16 * <li> {@link ComponentGraph}: A graph of components. This provides the logic
17 * for creating a graph based on components. </li>
18 * <li> {@link ComponentNode}: A node representing a component. </li>
19 * <li> {@link RequiredInterfaceNode}: A node representing a required interface of a component. </li>
20 * <li> {@link ProvidedInterfaceNode}: A node repesenting a provided interface of a component. </li>
21 * <li> {@link ExternalRequiredInterfaceNode}: A node representing a required interface of a container </li>
22 * <li> {@link ExternalProvidedInterfaceNode}: A node representing a provided interface of a container </li>
26 package org.wamblee.system.graph.component;
28 import org.wamblee.system.core.Component;
29 import org.wamblee.system.core.ProvidedInterface;
30 import org.wamblee.system.core.RequiredInterface;