Package org.apache.tapestry.ioc

Examples of org.apache.tapestry.ioc.ObjectProvider


        Alias alias = new AliasImpl(manager, mode, overridesManager);

        // Do not assume that infra and provider are the same;
        // that's an implementation choice.

        ObjectProvider provider = alias.getObjectProvider();

        // Run through a couple of times to ensure that values are cached.
        for (int i = 0; i < 2; i++)
        {
            Runnable actual = provider.provide(Runnable.class, annotationProvider, locator);

            assertSame(actual, r);
        }

        verify();
View Full Code Here


        replay();

        Alias alias = new AliasImpl(manager, mode, overridesManager);

        ObjectProvider provider = alias.getObjectProvider();

        Runnable actual = provider.provide(Runnable.class, annotationProvider, locator);

        assertSame(actual, override);

        verify();
    }
View Full Code Here

        Alias alias = new AliasImpl(manager, mode, overridesManager);

        // Do not assume that infra and provider are the same;
        // that's an implementation choice.

        ObjectProvider provider = alias.getObjectProvider();

        assertNull(provider.provide(Runnable.class, annotationProvider, locator));

        verify();

    }
View Full Code Here

    public <T> T getObject(String reference, Class<T> objectType, ServiceLocator locator)
    {
        _lock.check();

        ObjectProvider masterProvider = getService(
                IOCConstants.MASTER_OBJECT_PROVIDER_SERVICE_ID,
                ObjectProvider.class);

        return masterProvider.provide(reference, objectType, locator);
    }
View Full Code Here

        int colonx = expanded.indexOf(':');
        if (colonx < 0) { return _typeCoercer.coerce(expanded, objectType); }

        String prefix = expanded.substring(0, colonx);

        ObjectProvider provider = _configuration.get(prefix);

        if (provider == null)
            throw new RuntimeException(ServiceMessages.unknownObjectProvider(prefix, expanded));

        String expression = expanded.substring(colonx + 1);

        return provider.provide(expression, objectType, locator);
    }
View Full Code Here

        train_getAnnotation(annotationProvider, Path.class, null);

        replay();

        ObjectProvider provider = new AssetObjectProvider(source, typeCoercer, symbolSource);

        assertNull(provider.provide(Asset.class, annotationProvider, locator));

        verify();
    }
View Full Code Here

        train_findAsset(source, null, expanded, null, asset);
        train_coerce(typeCoercer, asset, Asset.class, asset);

        replay();

        ObjectProvider provider = new AssetObjectProvider(source, typeCoercer, symbolSource);

        Asset result = provider.provide(Asset.class, annotationProvider, locator);

        assertSame(result, asset);

        verify();
    }
View Full Code Here

    private static final String WEBREQUEST_CLASS_NAME = Request.class.getName();

    @Test
    public void annotation_has_value()
    {
        ObjectProvider provider = mockObjectProvider();
        ObjectLocator locator = mockObjectLocator();
        Inject annotation = newMock(Inject.class);
        ClassTransformation ct = mockClassTransformation();
        MutableComponentModel model = mockMutableComponentModel();
        Request injected = mockRequest();

        train_findFieldsWithAnnotation(ct, Inject.class, "myfield");
        train_getFieldAnnotation(ct, "myfield", Inject.class, annotation);

        train_getFieldType(ct, "myfield", WEBREQUEST_CLASS_NAME);
        train_toClass(ct, WEBREQUEST_CLASS_NAME, Request.class);

        expect(provider.provide(eq(Request.class), isA(AnnotationProvider.class), eq(locator)))
                .andReturn(injected);

        ct.injectField("myfield", injected);

        ct.claimField("myfield", annotation);
View Full Code Here

    }

    @Test
    public void provide_object_fails()
    {
        ObjectProvider provider = mockObjectProvider();
        ObjectLocator locator = mockObjectLocator();
        Inject annotation = newMock(Inject.class);
        ClassTransformation ct = mockClassTransformation();
        MutableComponentModel model = mockMutableComponentModel();
        Throwable cause = new RuntimeException("Injection failed.");

        train_findFieldsWithAnnotation(ct, Inject.class, "myfield");
        train_getFieldAnnotation(ct, "myfield", Inject.class, annotation);

        train_getFieldType(ct, "myfield", WEBREQUEST_CLASS_NAME);
        train_toClass(ct, WEBREQUEST_CLASS_NAME, Request.class);

        expect(provider.provide(eq(Request.class), isA(AnnotationProvider.class), eq(locator)))
                .andThrow(cause);
        train_getClassName(ct, "foo.pages.Bar");

        replay();
View Full Code Here

        Alias alias = new AliasImpl(manager, overridesManager);

        // Do not assume that alias and provider are the same;
        // that's an implementation choice.

        ObjectProvider provider = alias.getObjectProvider();

        try
        {
            provider.provide(Runnable.class, annotationProvider, locator);
            unreachable();
        }
        catch (RuntimeException ex)
        {
            assertEquals(ex.getMessage(), ServicesMessages.aliasModeNotSet());
View Full Code Here

TOP

Related Classes of org.apache.tapestry.ioc.ObjectProvider

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.