Package com.google.inject

Examples of com.google.inject.Injector


    }

    @Test(dataProvider = "builders")
    public void circle(LifecycleInjectorBuilder lifecycleInjectorBuilder) throws Exception
    {
        Injector injector = lifecycleInjectorBuilder.createInjector();

        injector.getInstance(Service.class);
        LifecycleManager manager = injector.getInstance(LifecycleManager.class);
        manager.start();
    }
View Full Code Here


    }

    @Test(dataProvider = "builders")
    public void     testInjectedLifecycleListener(LifecycleInjectorBuilder lifecycleInjectorBuilder) throws Exception
    {
        Injector injector = lifecycleInjectorBuilder
            .withBootstrapModule
            (
                new BootstrapModule()
                {
                    @Override
                    public void configure(BootstrapBinder binder)
                    {
                        TestInterface instance = new TestInterface()
                        {
                            @Override
                            public String getValue()
                            {
                                return "a is a";
                            }
                        };
                        binder.bind(TestInterface.class).toInstance(instance);
                        binder.bindLifecycleListener().to(MyListener.class);
                    }
                }
            )
            .createInjector();

        LifecycleManager                manager = injector.getInstance(LifecycleManager.class);
        Collection<LifecycleListener>   listeners = manager.getListeners();
        Assert.assertEquals(listeners.size(), 1);
        Assert.assertTrue(listeners.iterator().next() instanceof MyListener);
        Assert.assertEquals(((MyListener)listeners.iterator().next()).getTestInterface().getValue(), "a is a");
    }
View Full Code Here

    private static final String PACKAGES = "com.netflix.governator.guice.mocks";

    @Test(dataProvider = "builders")
    public void     testAutoBindSingletonToGenericInterface(LifecycleInjectorBuilder lifecycleInjectorBuilder) throws Exception
    {
        Injector    injector = lifecycleInjectorBuilder
            .usingBasePackages("com.netflix.governator.guice.mocks")
            .createInjector();

        Key<SimpleGenericInterface<String>>     key = Key.get(new TypeLiteral<SimpleGenericInterface<String>>(){});
        SimpleGenericInterface<String>          simple = injector.getInstance(key);

        Assert.assertEquals(simple.getValue(), "a is a");

        ObjectWithGenericInterface              obj = injector.getInstance(ObjectWithGenericInterface.class);
        Assert.assertEquals(obj.getObj().getValue(), "a is a");
    }
View Full Code Here

    }

    @Test(dataProvider = "builders")
    public void     testAutoBindSingletonToInterface(LifecycleInjectorBuilder lifecycleInjectorBuilder) throws Exception
    {
        Injector    injector = lifecycleInjectorBuilder
            .usingBasePackages("com.netflix.governator.guice.mocks")
            .createInjector();
        SimpleInterface     simple = injector.getInstance(SimpleInterface.class);

        Assert.assertEquals(simple.getValue(), 1234);
    }
View Full Code Here

    }

    @Test(dataProvider = "builders")
    public void     testAutoBindModules(LifecycleInjectorBuilder lifecycleInjectorBuilder) throws Exception
    {
        Injector    injector = lifecycleInjectorBuilder
            .usingBasePackages("com.netflix.governator.guice.modules")
            .createInjector();
        ObjectA objectA = injector.getInstance(ObjectA.class);
        ObjectB objectB = injector.getInstance(ObjectB.class);

        Assert.assertEquals(objectA.getColor(), "blue");
        Assert.assertEquals(objectB.getSize(), "large");
    }
View Full Code Here

    }

    @Test(dataProvider = "builders")
    public void testUsingAnnotation(LifecycleInjectorBuilder lifecycleInjectorBuilder)
    {
        Injector    injector = lifecycleInjectorBuilder.createInjector();

        Assert.assertEquals(AnnotatedLazySingletonObject.constructorCount.get(), 0);
        Assert.assertEquals(AnnotatedLazySingletonObject.postConstructCount.get(), 0);

        AnnotatedLazySingletonObject instance = injector.getInstance(AnnotatedLazySingletonObject.class);
        Assert.assertEquals(AnnotatedLazySingletonObject.constructorCount.get(), 1);
        Assert.assertEquals(AnnotatedLazySingletonObject.postConstructCount.get(), 1);

        AnnotatedLazySingletonObject instance2 = injector.getInstance(AnnotatedLazySingletonObject.class);
        Assert.assertEquals(AnnotatedLazySingletonObject.constructorCount.get(), 1);
        Assert.assertEquals(AnnotatedLazySingletonObject.postConstructCount.get(), 1);

        Assert.assertSame(instance, instance2);
    }
View Full Code Here

            @Override
            public void stateChanged(Object obj, LifecycleState newState)
            {
            }
        };
        Injector    injector = lifecycleInjectorBuilder
            .usingBasePackages(PACKAGES)
            .withBootstrapModule
            (
                new BootstrapModule()
                {
                    @Override
                    public void configure(BootstrapBinder binder)
                    {
                        binder.bindLifecycleListener().toInstance(new FilteredLifecycleListener(listener, PACKAGES));
                    }
                }
            )
            .createInjector();

        Assert.assertNull
        (
            Iterables.find
            (
                objects,
                new Predicate<Object>()
                {
                    @Override
                    public boolean apply(Object obj)
                    {
                        return obj instanceof UnreferencedSingleton;
                    }
                },
                null
            )
        );
        Assert.assertNotNull
        (
            Iterables.find
                (
                    objects,
                    new Predicate<Object>()
                    {
                        @Override
                        public boolean apply(Object obj)
                        {
                            return obj instanceof SimpleEagerSingleton;
                        }
                    },
                    null
                )
        );

        injector.getInstance(UnreferencedSingleton.class);
        Assert.assertNotNull
        (
            Iterables.find
                (
                    objects,
View Full Code Here

    }

    @Test(dataProvider = "builders")
    public void testUsingInWithProviderAndAnnotation(LifecycleInjectorBuilder lifecycleInjectorBuilder)
    {
        Injector    injector = lifecycleInjectorBuilder.createInjector();

        Assert.assertEquals(AnnotatedLazySingletonObject.constructorCount.get(), 0);
        Assert.assertEquals(AnnotatedLazySingletonObject.postConstructCount.get(), 0);

        InjectedAnnotatedProvider injectedProvider = injector.getInstance(InjectedAnnotatedProvider.class);
        Assert.assertEquals(AnnotatedLazySingletonObject.constructorCount.get(), 0);
        Assert.assertEquals(AnnotatedLazySingletonObject.postConstructCount.get(), 0);

        AnnotatedLazySingletonObject instance = injectedProvider.provider.get();
        Assert.assertEquals(AnnotatedLazySingletonObject.constructorCount.get(), 1);
View Full Code Here

    }

    @Test
    public void     testSimpleProvider() throws Exception
    {
        Injector                injector = Guice.createInjector
        (
            new AbstractModule()
            {
                @Override
                protected void configure()
                {
                    ProviderBinderUtil.bind(binder(), SimpleProvider.class, Scopes.SINGLETON);
                    ProviderBinderUtil.bind(binder(), SimpleProviderAlt.class, Scopes.SINGLETON);
                }
            }
        );

        SimplePojo pojo = injector.getInstance(SimplePojo.class);
        Assert.assertEquals(pojo.getI(), 1);
        Assert.assertEquals(pojo.getS(), "one");

        SimplePojoAlt pojoAlt = injector.getInstance(SimplePojoAlt.class);
        Assert.assertEquals(pojoAlt.getL(), 3);
        Assert.assertEquals(pojoAlt.getD(), 4.5);
    }
View Full Code Here

    }

    @Test(dataProvider = "builders")
    public void testUsingIn(LifecycleInjectorBuilder lifecycleInjectorBuilder)
    {
        Injector    injector = lifecycleInjectorBuilder
            .withModules
            (
                new Module()
                {
                    @Override
                    public void configure(Binder binder)
                    {
                        binder.bind(LazySingletonObject.class).in(LazySingletonScope.get());
                    }
                }
            )
            .createInjector();

        Assert.assertEquals(LazySingletonObject.constructorCount.get(), 0);
        Assert.assertEquals(LazySingletonObject.postConstructCount.get(), 0);

        LazySingletonObject instance = injector.getInstance(LazySingletonObject.class);
        Assert.assertEquals(LazySingletonObject.constructorCount.get(), 1);
        Assert.assertEquals(LazySingletonObject.postConstructCount.get(), 1);

        LazySingletonObject instance2 = injector.getInstance(LazySingletonObject.class);
        Assert.assertEquals(LazySingletonObject.constructorCount.get(), 1);
        Assert.assertEquals(LazySingletonObject.postConstructCount.get(), 1);

        Assert.assertSame(instance, instance2);
    }
View Full Code Here

TOP

Related Classes of com.google.inject.Injector

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.