Package com.google.inject.spi

Examples of com.google.inject.spi.TypeListener


    @Override
    public void configure() {
        bindListener(
            Matchers.any(),
            new TypeListener(){
                @Override
                public <T> void hear(final TypeLiteral<T> type, TypeEncounter<T> encounter) {
                    encounter.register(
                        new InjectionListener<T>() {
                            @Override
View Full Code Here


  public void testToConstructorSpiData() throws NoSuchMethodException {
    final Set<TypeLiteral<?>> heardTypes = Sets.newHashSet();

    final Constructor<D> constructor = D.class.getConstructor(Stage.class);
    final TypeListener listener = new TypeListener() {
      public <I> void hear(TypeLiteral<I> type, TypeEncounter<I> encounter) {
        if (!heardTypes.add(type)) {
          fail("Heard " + type + " multiple times!");
        }
      }
View Full Code Here

                bind(ActorRef.class).annotatedWith(Names.named("ProcessCPOCsvEntry"))
                        .toProvider(new TypeLiteral<ActorProvider<ProcessCPOCsvEntry>>() {
                        });

                // start/stop services after injection and on shutdown of the Play app
                bindListener(MoreMatchers.subclassesOf(Service.class), new TypeListener() {
                    @Override
                    public <I> void hear(TypeLiteral<I> typeLiteral, TypeEncounter<I> typeEncounter) {
                        typeEncounter.register(new InjectionListener<I>() {
                            @Override
                            public void afterInjection(final I i) {
View Full Code Here

      bindListener(new AbstractMatcher<TypeLiteral<?>>() {
        @Override
        public boolean matches(TypeLiteral<?> o) {
          return o.getRawType().isAnnotationPresent(Service.class);
        }
      }, new TypeListener() {
        @Override
        public <I> void hear(TypeLiteral<I> type, TypeEncounter<I> encounter) {
          final Provider<ServerAnnotationProcessor> processor =
                  encounter.getProvider(ServerAnnotationProcessor.class);
          encounter.register(new InjectionListener<I>() {
            @Override
            public void afterInjection(I injectee) {
              processor.get().process(injectee);
            }
          });
        }
      });
      // automatically add extensions
      bindListener(new AbstractMatcher<TypeLiteral<?>>() {
        @Override
        public boolean matches(TypeLiteral<?> o) {
          return BayeuxServer.Extension.class.isAssignableFrom(o.getRawType());
        }
      }, new TypeListener() {
        @Override
        public <I> void hear(TypeLiteral<I> type, TypeEncounter<I> encounter) {
          final Provider<BayeuxServer> server = encounter.getProvider(BayeuxServer.class);
          encounter.register(new InjectionListener<I>() {
            @Override
            public void afterInjection(I injectee) {
              server.get().addExtension(BayeuxServer.Extension.class.cast(injectee));
            }
          });
        }
      });
      // automatically add session listeners
      bindListener(new AbstractMatcher<TypeLiteral<?>>() {
        @Override
        public boolean matches(TypeLiteral<?> o) {
          return BayeuxServer.BayeuxServerListener.class.isAssignableFrom(o.getRawType());
        }
      }, new TypeListener() {
        @Override
        public <I> void hear(TypeLiteral<I> type, TypeEncounter<I> encounter) {
          final Provider<BayeuxServer> server = encounter.getProvider(BayeuxServer.class);
          encounter.register(new InjectionListener<I>() {
            @Override
View Full Code Here

public class WinkGuiceModule extends AbstractModule {

    @Override
    protected void configure() {
        bindListener(Matchers.any(), new TypeListener() {

            public <I> void hear(TypeLiteral<I> typeLiteral, TypeEncounter<I> encounter) {
                ClassMetadata classMetaData = collectClassMetadata(typeLiteral.getRawType());
                if (classMetaData == null) {
                    return;
View Full Code Here

    @Override
    protected final void configure()
    {

        bindListener(Matchers.any(), new TypeListener()
        {
            public <I> void hear(TypeLiteral<I> iTypeLiteral, TypeEncounter<I> iTypeEncounter)
            {
                //iTypeEncounter.register(new MuleRegistryInjectionLister());
                iTypeEncounter.register(new MuleContextAwareInjector<I>());
View Full Code Here

     protected void configure()
     {
         super.configure();
         bindListener(Matchers.any(), new TypeListener()
         {
             public <I> void hear(TypeLiteral<I> injectableType, TypeEncounter<I> encounter)
             {
                 encounter.register(new InjectionListener<I>()
View Full Code Here

         return in.isAnnotationPresent(PostConstruct.class);
      }
   };

   protected void bindPostInjectionInvoke(final Closer closer, final ExecutionList list) {
      bindListener(any(), new TypeListener() {
         public <I> void hear(TypeLiteral<I> injectableType, TypeEncounter<I> encounter) {
            Collection<? extends Invokable<? super I, Object>> methods = methods(injectableType.getRawType());
            for (final Invokable<? super I, Object> method : filter(methods, isPostConstruct)) {
               encounter.register(new InjectionListener<I>() {
                  public void afterInjection(final I injectee) {
View Full Code Here

      binder.bind(target).toProvider((TypeLiteral) TypeLiteral.get(adapterType));
    }
  }
  private <T> void registerListType(Class<T> type, Binder binder) {
    final AllImplementationsProvider<T> provider = new AllImplementationsProvider<T>();
    binder.bindListener(VRaptorAbstractModule.type(Matchers.subclassesOf(type)), new TypeListener() {
      public void hear(TypeLiteral literal, TypeEncounter encounter) {
        provider.addType(literal.getRawType());
      }
    });
    binder.bind(TypeLiteral.get(Types.listOf(type))).toProvider((Provider)provider);
View Full Code Here

public class WinkGuiceModule extends AbstractModule {

    @Override
    protected void configure() {
        bindListener(Matchers.any(), new TypeListener() {

            public <I> void hear(TypeLiteral<I> typeLiteral, TypeEncounter<I> encounter) {
                ClassMetadata classMetaData = collectClassMetadata(typeLiteral.getRawType());
                if (classMetaData == null) {
                    return;
View Full Code Here

TOP

Related Classes of com.google.inject.spi.TypeListener

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.