1 15 package org.apache.tapestry.annotations; 16 17 import java.lang.reflect.Method ; 18 19 import org.apache.hivemind.Location; 20 import org.apache.tapestry.enhance.EnhancementOperation; 21 import org.apache.tapestry.enhance.InjectObjectWorker; 22 import org.apache.tapestry.services.InjectedValueProvider; 23 import org.apache.tapestry.spec.IComponentSpecification; 24 25 34 35 public class InjectObjectAnnotationWorker implements MethodAnnotationEnhancementWorker 36 { 37 final InjectObjectWorker _delegate; 38 39 public InjectObjectAnnotationWorker() 40 { 41 this(new InjectObjectWorker()); 42 } 43 44 InjectObjectAnnotationWorker(InjectObjectWorker delegate) 45 { 46 _delegate = delegate; 47 } 48 49 public void performEnhancement(EnhancementOperation op, IComponentSpecification spec, 50 Method method, Location location) 51 { 52 InjectObject io = method.getAnnotation(InjectObject.class); 53 54 String object = io.value(); 55 56 String propertyName = AnnotationUtils.getPropertyName(method); 57 58 _delegate.injectObject(op, object, propertyName, null); 59 } 60 61 public void setProvider(InjectedValueProvider provider) 62 { 63 _delegate.setProvider(provider); 64 } 65 } 66 | Popular Tags |