source code formatting.
[utils] / system / general / src / main / java / org / wamblee / system / adapters / DefaultContainer.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.adapters;
17
18 import org.wamblee.system.container.Container;
19 import org.wamblee.system.core.Component;
20 import org.wamblee.system.core.ProvidedInterface;
21 import org.wamblee.system.core.RequiredInterface;
22
23
24 /**
25  * DOCUMENT ME!
26  *
27  * @author $author$
28  * @version $Revision$
29   */
30 public class DefaultContainer extends Container {
31     /**
32      * Creates a new DefaultContainer object.
33      *
34      * @param aName DOCUMENT ME!
35      */
36     public DefaultContainer(String aName) {
37         super(aName);
38     }
39
40     /**
41      * DOCUMENT ME!
42      *
43      * @param aComponent DOCUMENT ME!
44      *
45      * @return DOCUMENT ME!
46      */
47     @Override
48     public DefaultContainer addComponent(Component aComponent) {
49         super.addComponent(aComponent);
50
51         return this;
52     }
53
54     /**
55      * DOCUMENT ME!
56      *
57      * @param aName DOCUMENT ME!
58      * @param aConfiguration DOCUMENT ME!
59      *
60      * @return DOCUMENT ME!
61      */
62     public DefaultContainer addComponent(String aName,
63         ClassConfiguration aConfiguration) {
64         return addComponent(new ClassAdapter(aName, aConfiguration));
65     }
66
67     /**
68      * DOCUMENT ME!
69      *
70      * @param aName DOCUMENT ME!
71      * @param aObject DOCUMENT ME!
72      * @param aConfiguration DOCUMENT ME!
73      *
74      * @return DOCUMENT ME!
75      */
76     public DefaultContainer addComponent(String aName, Object aObject,
77         ObjectConfiguration aConfiguration) {
78         if (!aConfiguration.appliesTo(aObject)) {
79             throw new IllegalArgumentException("Configuration '"
80                 + aConfiguration + "' does nto applu to '" + aObject + "'");
81         }
82
83         return addComponent(new ObjectAdapter(aName, aObject, aConfiguration));
84     }
85
86     /**
87      * DOCUMENT ME!
88      *
89      * @param aRequired DOCUMENT ME!
90      *
91      * @return DOCUMENT ME!
92      */
93     @Override
94     public DefaultContainer addRequiredInterface(RequiredInterface aRequired) {
95         super.addRequiredInterface(aRequired);
96
97         return this;
98     }
99
100     /**
101      * DOCUMENT ME!
102      *
103      * @param aProvided DOCUMENT ME!
104      *
105      * @return DOCUMENT ME!
106      */
107     @Override
108     public DefaultContainer addProvidedInterface(ProvidedInterface aProvided) {
109         super.addProvidedInterface(aProvided);
110
111         return this;
112     }
113 }