We now have Guice 2.0, nice things..

http://code.google.com/p/google-guice/wiki/Guice20
This allows some nice things like the following code snippet.  Does anyone
want to come up with what changes we'd like to see in the way shindig uses
Guice and especially how we interact with integrators...


@@ -66,14 +68,17 @@ public class SocialApiTestsGuiceModule extends
AbstractModule {

bind(BeanConverter.class).annotatedWith(Names.named("shindig.bean.converter.json")).to(
         BeanJsonConverter.class);

-    bind(new TypeLiteral<Set<Object>>(){}).annotatedWith(
-        Names.named("org.apache.shindig.social.handlers"))
-        .toInstance(ImmutableSet.<Object>of(ActivityHandler.class,
AppDataHandler.class,
-            PersonHandler.class, MessageHandler.class));
-
     bind(String.class).annotatedWith(
         Names.named("shindig.containers.default"))
         .toInstance("res://containers/default/container.js");
     bind(ContainerConfig.class).to(JsonContainerConfig.class);
   }
+
+  @Provides
+  @Singleton
+  @Named("org.apache.shindig.social.handlers")
+  Set<Object> getHandlers() {
+    return ImmutableSet.<Object>of(ActivityHandler.class,
AppDataHandler.class, PersonHandler.class, MessageHandler.class);
+  }
+
 }

Reply via email to