1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.onami.autobind.scanner.asm.example.startupmodule;
17
18 import org.apache.onami.autobind.annotations.Bind;
19 import org.apache.onami.autobind.annotations.GuiceModule;
20 import org.apache.onami.autobind.annotations.features.AutoBindingFeature;
21 import org.apache.onami.autobind.annotations.features.ModuleBindingFeature;
22 import org.apache.onami.autobind.configuration.StartupModule;
23 import org.apache.onami.autobind.scanner.ClasspathScanner;
24 import org.apache.onami.autobind.scanner.PackageFilter;
25 import org.apache.onami.autobind.scanner.features.ScannerFeature;
26
27 import com.google.inject.Binder;
28 import com.google.inject.CreationException;
29 import com.google.inject.multibindings.Multibinder;
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public class ExampleStartupModule extends StartupModule {
44
45 public ExampleStartupModule(Class<? extends ClasspathScanner> scanner, PackageFilter... packages) {
46 super(scanner, packages);
47 }
48
49 @Override
50 protected Multibinder<ScannerFeature> bindFeatures(Binder binder) {
51 Multibinder<ScannerFeature> listeners = Multibinder.newSetBinder(binder,
52 ScannerFeature.class);
53 listeners.addBinding().to(ModuleBindingFeature.class);
54 return listeners;
55 }
56
57 }