59fcb4034af8d72af6b0e339a01a1ea25e694662
[utils] / system / general / src / main / java / org / wamblee / system / graph / component / ExternalRequiredInterfaceNode.java
1 /*
2  * Copyright 2008 the original author or authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.wamblee.system.graph.component;
17
18 import org.wamblee.system.core.Component;
19 import org.wamblee.system.core.RequiredInterface;
20 import org.wamblee.system.graph.Node;
21
22
23 /**
24  * Represents an externally required interface of a container.
25  *
26  * @author Erik Brakkee
27  */
28 public class ExternalRequiredInterfaceNode implements Node {
29     /**
30      * DOCUMENT ME!
31      */
32     private Component component;
33
34     /**
35      * DOCUMENT ME!
36      */
37     private RequiredInterface required;
38
39     /**
40      * Creates a new ExternalRequiredInterfaceNode object.
41      *
42      * @param aComponent DOCUMENT ME!
43      * @param aRequired DOCUMENT ME!
44      */
45     public ExternalRequiredInterfaceNode(Component aComponent,
46         RequiredInterface aRequired) {
47         component     = aComponent;
48         required      = aRequired;
49     }
50
51     /**
52      * DOCUMENT ME!
53      *
54      * @return DOCUMENT ME!
55      */
56     @Override
57     public String getName() {
58         return required.getName();
59     }
60
61     /**
62      * DOCUMENT ME!
63      *
64      * @return DOCUMENT ME!
65      */
66     public Component getComponent() {
67         return component;
68     }
69
70     /**
71      * DOCUMENT ME!
72      *
73      * @return DOCUMENT ME!
74      */
75     public RequiredInterface getRequired() {
76         return required;
77     }
78
79     /**
80      * DOCUMENT ME!
81      *
82      * @return DOCUMENT ME!
83      */
84     @Override
85     public String toString() {
86         return component.getQualifiedName() + ":" + required;
87     }
88 }