diff options
author | limpbizkit <limpbizkit@d779f126-a31b-0410-b53b-1d3aecad763e> | 2008-06-19 07:57:55 +0000 |
---|---|---|
committer | limpbizkit <limpbizkit@d779f126-a31b-0410-b53b-1d3aecad763e> | 2008-06-19 07:57:55 +0000 |
commit | 6663d02af7c384ce351a76928d1b6c929224b582 (patch) | |
tree | 6429f63bda3f73043662f38f72aa237e9b0a9fdb /extensions | |
parent | 9532e6267f55105992301add5accfb5c62fdeed8 (diff) | |
download | guice-6663d02af7c384ce351a76928d1b6c929224b582.tar.gz |
Axing SourceProviders and SourceProvider in favour of Binder.withSource and Binder.skipSources
git-svn-id: https://google-guice.googlecode.com/svn/trunk@526 d779f126-a31b-0410-b53b-1d3aecad763e
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/multibindings/src/com/google/inject/multibindings/MapBinder.java | 16 | ||||
-rw-r--r-- | extensions/multibindings/src/com/google/inject/multibindings/Multibinder.java | 16 |
2 files changed, 14 insertions, 18 deletions
diff --git a/extensions/multibindings/src/com/google/inject/multibindings/MapBinder.java b/extensions/multibindings/src/com/google/inject/multibindings/MapBinder.java index 7be7f28e..3fac36f6 100644 --- a/extensions/multibindings/src/com/google/inject/multibindings/MapBinder.java +++ b/extensions/multibindings/src/com/google/inject/multibindings/MapBinder.java @@ -26,7 +26,6 @@ import com.google.inject.Provider; import com.google.inject.TypeLiteral; import com.google.inject.binder.LinkedBindingBuilder; import com.google.inject.multibindings.Multibinder.RealMultibinder; -import com.google.inject.spi.SourceProvider; import com.google.inject.util.Types; import java.lang.annotation.Annotation; import java.lang.reflect.Type; @@ -94,9 +93,6 @@ import java.util.Set; public abstract class MapBinder<K, V> { private MapBinder() {} - private static final SourceProvider sourceProvider - = new SourceProvider(MapBinder.class, RealMapBinder.class); - /** * Returns a new mapbinder that collects entries of {@code keyType}/{@code * valueType} in a {@link Map} that is itself bound with no binding @@ -104,6 +100,7 @@ public abstract class MapBinder<K, V> { */ public static <K, V> MapBinder<K, V> newMapBinder(Binder binder, Type keyType, Type valueType) { + binder = binder.skipSources(MapBinder.class, RealMapBinder.class); return newMapBinder(binder, valueType, Key.get(MapBinder.<K, V>mapOf(keyType, valueType)), Key.get(MapBinder.<K, V>mapOfProviderOf(keyType, valueType)), @@ -117,6 +114,7 @@ public abstract class MapBinder<K, V> { */ public static <K, V> MapBinder<K, V> newMapBinder(Binder binder, Type keyType, Type valueType, Annotation annotation) { + binder = binder.skipSources(MapBinder.class, RealMapBinder.class); return newMapBinder(binder, valueType, Key.get(MapBinder.<K, V>mapOf(keyType, valueType), annotation), Key.get(MapBinder.<K, V>mapOfProviderOf(keyType, valueType), annotation), @@ -130,6 +128,7 @@ public abstract class MapBinder<K, V> { */ public static <K, V> MapBinder<K, V> newMapBinder(Binder binder, Type keyType, Type valueType, Class<? extends Annotation> annotationType) { + binder = binder.skipSources(MapBinder.class, RealMapBinder.class); return newMapBinder(binder, valueType, Key.get(MapBinder.<K, V>mapOf(keyType, valueType), annotationType), Key.get(MapBinder.<K, V>mapOfProviderOf(keyType, valueType), annotationType), @@ -156,9 +155,9 @@ public abstract class MapBinder<K, V> { private static <K, V> MapBinder<K, V> newMapBinder(Binder binder, Type valueType, Key<Map<K, V>> mapKey, Key<Map<K, Provider<V>>> providerMapKey, Multibinder<Entry<K, Provider<V>>> entrySetBinder) { - RealMapBinder<K, V> mapBinder = new RealMapBinder<K, V>(binder, + RealMapBinder<K, V> mapBinder = new RealMapBinder<K, V>(binder, valueType, mapKey, providerMapKey, entrySetBinder); - binder.withSource(sourceProvider.get()).install(mapBinder); + binder.install(mapBinder); return mapBinder; } @@ -225,13 +224,12 @@ public abstract class MapBinder<K, V> { @Override public LinkedBindingBuilder<V> addBinding(K key) { checkNotNull(key, "key"); checkState(!isInitialized(), "MapBinder was already initialized"); - Object source = sourceProvider.get(); @SuppressWarnings("unchecked") Key<V> valueKey = (Key<V>) Key.get(valueType, new RealElement(entrySetBinder.getSetName())); entrySetBinder.addBinding().toInstance(new MapEntry<K, Provider<V>>(key, - binder.withSource(source).getProvider(valueKey))); - return binder.withSource(source).bind(valueKey); + binder.getProvider(valueKey))); + return binder.bind(valueKey); } public void configure(Binder binder) { diff --git a/extensions/multibindings/src/com/google/inject/multibindings/Multibinder.java b/extensions/multibindings/src/com/google/inject/multibindings/Multibinder.java index 90682464..6f480d57 100644 --- a/extensions/multibindings/src/com/google/inject/multibindings/Multibinder.java +++ b/extensions/multibindings/src/com/google/inject/multibindings/Multibinder.java @@ -27,7 +27,6 @@ import com.google.inject.Module; import com.google.inject.Provider; import com.google.inject.TypeLiteral; import com.google.inject.binder.LinkedBindingBuilder; -import com.google.inject.spi.SourceProvider; import com.google.inject.util.Types; import java.lang.annotation.Annotation; import java.lang.reflect.Type; @@ -85,17 +84,15 @@ import java.util.Set; public abstract class Multibinder<T> { private Multibinder() {} - private static final SourceProvider sourceProvider - = new SourceProvider(RealMultibinder.class, Multibinder.class); - /** * Returns a new multibinder that collects instances of {@code type} in a * {@link Set} that is itself bound with no binding annotation. */ public static <T> Multibinder<T> newSetBinder(Binder binder, Type type) { + binder = binder.skipSources(RealMultibinder.class, Multibinder.class); RealMultibinder<T> result = new RealMultibinder<T>(binder, type, "", Key.get(Multibinder.<T>setOf(type))); - binder.withSource(sourceProvider.get()).install(result); + binder.install(result); return result; } @@ -104,9 +101,10 @@ public abstract class Multibinder<T> { * {@link Set} that is itself bound with {@code annotation}. */ public static <T> Multibinder<T> newSetBinder(Binder binder, Type type, Annotation annotation) { + binder = binder.skipSources(RealMultibinder.class, Multibinder.class); RealMultibinder<T> result = new RealMultibinder<T>(binder, type, annotation.toString(), Key.get(Multibinder.<T>setOf(type), annotation)); - binder.withSource(sourceProvider.get()).install(result); + binder.install(result); return result; } @@ -116,9 +114,10 @@ public abstract class Multibinder<T> { */ public static <T> Multibinder<T> newSetBinder(Binder binder, Type type, Class<? extends Annotation> annotationType) { + binder = binder.skipSources(RealMultibinder.class, Multibinder.class); RealMultibinder<T> result = new RealMultibinder<T>(binder, type, "@" + annotationType.getName(), Key.get(Multibinder.<T>setOf(type), annotationType)); - binder.withSource(sourceProvider.get()).install(result); + binder.install(result); return result; } @@ -193,8 +192,7 @@ public abstract class Multibinder<T> { @Override public LinkedBindingBuilder<T> addBinding() { checkState(!isInitialized(), "Multibinder was already initialized"); - return binder.withSource(sourceProvider.get()) - .bind((Key<T>) Key.get(elementType, new RealElement(setName))); + return binder.bind((Key<T>) Key.get(elementType, new RealElement(setName))); } /** |