Add bean name filters to GuiceModule

This commit is contained in:
Dave Syer
2014-04-17 11:32:14 -07:00
parent 81ac3999f9
commit 16172b9f6e
6 changed files with 198 additions and 25 deletions

View File

@@ -45,6 +45,18 @@ public class GuiceModuleAnnotationTests {
assertNotNull(injector.getBinding(Service.class));
}
@Test
public void includesNames() throws Exception {
Injector injector = createInjector(TestConfig.class, MetadataIncludeNamesConfig.class);
assertNotNull(injector.getBinding(Service.class));
}
@Test
public void includesPatterns() throws Exception {
Injector injector = createInjector(TestConfig.class, MetadataIncludePatternsConfig.class);
assertNotNull(injector.getBinding(Service.class));
}
@Test
public void excludes() throws Exception {
Injector injector = createInjector(TestConfig.class, MetadataExcludesConfig.class);
@@ -85,11 +97,26 @@ public class GuiceModuleAnnotationTests {
protected static class MetadataExcludesConfig {
}
@Configuration
@GuiceModule(excludePatterns=".*")
protected static class MetadataExcludesNameConfig {
}
@Configuration
@GuiceModule(includeFilters=@Filter(type=FilterType.ASSIGNABLE_TYPE, value=Service.class))
protected static class MetadataIncludesConfig {
}
@Configuration
@GuiceModule(includeNames="*service") // Bean name filter
protected static class MetadataIncludeNamesConfig {
}
@Configuration
@GuiceModule(includePatterns=".*service") // Bean name filter
protected static class MetadataIncludePatternsConfig {
}
@Configuration
@GuiceModule(includeFilters=@Filter(type=FilterType.ASSIGNABLE_TYPE, value=Foo.class))
protected static class MetadataMoreIncludesConfig {