7b67cc4219ddcc29d44ab33f290d068a56bfb26c
[utils] / system / spring / src / test / java / org / wamblee / system / spring / SubSpringComponent2.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.spring;
17
18 import java.util.Map;
19
20 import org.wamblee.system.core.DefaultRequiredInterface;
21 import org.wamblee.system.core.ProvidedInterface;
22 import org.wamblee.system.core.RequiredInterface;
23 import org.wamblee.system.core.Scope;
24
25 public class SubSpringComponent2 extends SpringComponent {
26     
27     private static RequiredInterface REQUIRED = new DefaultRequiredInterface("required", Float.class); 
28
29     public SubSpringComponent2(String aName, String[] aConfigFiles,
30             Map<String, ProvidedInterface> aProvided,
31             Map<RequiredInterface, String> aRequired) { 
32         super(aName, aConfigFiles, aProvided, aRequired);
33         addRequiredInterface(REQUIRED);
34     }
35     
36     @Override
37     protected Scope doStart(Scope aExternalScope) {
38         
39         Scope scope = super.doStart(aExternalScope);
40      
41         float value = aExternalScope.getInterfaceImplementation(REQUIRED.getProvider(), Float.class);
42         scope.put("floatValue", value);
43         return scope;
44     }
45 }