aboutsummaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorlimpbizkit <limpbizkit@d779f126-a31b-0410-b53b-1d3aecad763e>2008-06-19 07:57:55 +0000
committerlimpbizkit <limpbizkit@d779f126-a31b-0410-b53b-1d3aecad763e>2008-06-19 07:57:55 +0000
commit6663d02af7c384ce351a76928d1b6c929224b582 (patch)
tree6429f63bda3f73043662f38f72aa237e9b0a9fdb /extensions
parent9532e6267f55105992301add5accfb5c62fdeed8 (diff)
downloadguice-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.java16
-rw-r--r--extensions/multibindings/src/com/google/inject/multibindings/Multibinder.java16
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)));
}
/**