Package org.apache.tapestry5.ioc

Examples of org.apache.tapestry5.ioc.AnnotationProvider


        final Object[] annotations = descriptor.getAnnotations();

        if (annotations != null)
        {
            AnnotationProvider provider = new AnnotationProvider()
            {
                public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
                {
                    for (Object a : annotations)
                    {
                        if (annotationClass.isInstance(a)) return annotationClass.cast(a);
                    }

                    return null;
                }
            };

            if (provider.getAnnotation(Inject.class) != null || provider.getAnnotation(InjectService.class) != null)
                return registry.getObject(objectType, provider);
        }

        return super.resolveDependency(descriptor, beanName, autowiredBeanNames, typeConverter);
    }
View Full Code Here


    public void found_match_first()
    {
        ObjectProvider prov1 = mockObjectProvider();
        ObjectProvider prov2 = mockObjectProvider();
        Class type = Runnable.class;
        AnnotationProvider ap = mockAnnotationProvider();
        ObjectLocator locator = mockObjectLocator();
        Object expected = mockRunnable();

        train_provide(prov1, type, ap, locator, expected);
View Full Code Here

    public void found_later_match()
    {
        ObjectProvider prov1 = mockObjectProvider();
        ObjectProvider prov2 = mockObjectProvider();
        Class type = Runnable.class;
        AnnotationProvider ap = mockAnnotationProvider();
        ObjectLocator locator = mockObjectLocator();
        Object expected = mockRunnable();

        train_provide(prov1, type, ap, locator, null);
        train_provide(prov2, type, ap, locator, expected);
View Full Code Here

    public void no_match_but_optional()
    {
        ObjectProvider prov1 = mockObjectProvider();
        ObjectProvider prov2 = mockObjectProvider();
        Class type = Runnable.class;
        AnnotationProvider ap = mockAnnotationProvider();
        ObjectLocator locator = mockObjectLocator();

        train_provide(prov1, type, ap, locator, null);
        train_provide(prov2, type, ap, locator, null);
View Full Code Here

    public void no_match_and_required()
    {
        ObjectProvider prov1 = mockObjectProvider();
        ObjectProvider prov2 = mockObjectProvider();
        Class type = Runnable.class;
        AnnotationProvider ap = mockAnnotationProvider();
        ObjectLocator locator = mockObjectLocator();
        Object expected = mockRunnable();

        train_provide(prov1, type, ap, locator, null);
        train_provide(prov2, type, ap, locator, null);
View Full Code Here

        return defaultProvider.defaultTranslatorBinding("value", resources);
    }

    final AnnotationProvider defaultAnnotationProvider()
    {
        return new AnnotationProvider()
        {
            public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
            {
                return resources.getParameterAnnotation("value", annotationClass);
            }
View Full Code Here

  @SuppressWarnings("rawtypes")
  public boolean provideInjection(final PlasticField field, final ObjectLocator locator, final MutableComponentModel componentModel) {
    Class type = cache.forName(field.getTypeName());
    if(InternalUtils.isManagedByTapestry(
        type,
        new AnnotationProvider(){


          public <T extends Annotation> T getAnnotation(
              Class<T> annotationClass) {
            return field.getAnnotation(annotationClass);
          }},
        locator)){
      logger.debug("Field "+field.getName()+" of type "+field.getTypeName()+" is managed by Tapestry");
      return false;
    }

    logger.debug("Field "+field.getName()+" of type "+field.getTypeName()+" will be managed by CDI");
    final Class<?> fieldClass = load(field.getTypeName());
    final Annotation[] qualifiers =
        InternalUtils.getFieldQualifiers(type, new AnnotationProvider(){

          public <T extends Annotation> T getAnnotation(
              Class<T> annotationClass) {
            return field.getAnnotation(annotationClass);
          }});
View Full Code Here

        return defaultProvider.defaultTranslatorBinding("value", resources);
    }

    final AnnotationProvider defaultAnnotationProvider()
    {
        return new AnnotationProvider()
        {
            public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
            {
                return resources.getParameterAnnotation("value", annotationClass);
            }
View Full Code Here

        return defaultProvider.defaultTranslator("value", resources);
    }

    final AnnotationProvider defaultAnnotationProvider()
    {
        return new AnnotationProvider()
        {
            public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
            {
                return resources.getParameterAnnotation("value", annotationClass);
            }
View Full Code Here

        String description = String.format("PropertyConduit[%s %s]", rootClass.getName(), expression);

        Class conduitClass = classFab.createClass();

        AnnotationProvider provider = new AnnotationProvider()
        {
            public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
            {
                T result = readInfo == null ? null : readInfo.getAnnotation(annotationClass);
View Full Code Here

TOP

Related Classes of org.apache.tapestry5.ioc.AnnotationProvider

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.