1
2
3
4
5
6
7
8
9
10 package org.mule.module.guice;
11
12 import org.mule.api.transformer.Transformer;
13 import org.mule.tck.testmodels.fruit.BananaFactory;
14 import org.mule.tck.testmodels.mule.TestAgent;
15
16 import com.google.inject.AbstractModule;
17 import com.google.inject.Provides;
18 import com.google.inject.name.Named;
19
20
21
22
23 public class ConfigServiceModule extends AbstractModule
24 {
25 protected void configure()
26 {
27
28 this.bind(AutoTransformServiceInterface.class).to(DefaultAutoTransformService.class);
29
30
31 this.bind(BananaServiceInterface.class).to(BananaInjectionService.class);
32
33
34
35
36 }
37
38
39 @Provides
40 BananaFactory provideBananaFactory()
41 {
42 return new BananaFactory();
43 }
44
45 @Provides
46 TestAgent provideTestAgent()
47 {
48 return new TestAgent();
49 }
50
51 @Provides @Named("orange-to-apple")
52 Transformer providesOrangetoAppleTransformer()
53 {
54 return new OrangetoAppleTransformer();
55 }
56 }