Coverage Report - org.apache.tapestry.annotations.InjectObjectAnnotationWorker
 
Classes in this File Line Coverage Branch Coverage Complexity
InjectObjectAnnotationWorker
0%
0/12
N/A
1
 
 1  
 // Copyright 2005 The Apache Software Foundation
 2  
 //
 3  
 // Licensed under the Apache License, Version 2.0 (the "License");
 4  
 // you may not use this file except in compliance with the License.
 5  
 // You may obtain a copy of the License at
 6  
 //
 7  
 //     http://www.apache.org/licenses/LICENSE-2.0
 8  
 //
 9  
 // Unless required by applicable law or agreed to in writing, software
 10  
 // distributed under the License is distributed on an "AS IS" BASIS,
 11  
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 12  
 // See the License for the specific language governing permissions and
 13  
 // limitations under the License.
 14  
 
 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  
 /**
 26  
  * Performs injection of objects, in much the same way as the <inject> element in a
 27  
  * specification.
 28  
  * 
 29  
  * @author Howard M. Lewis Ship
 30  
  * @since 4.0
 31  
  * @see org.apache.tapestry.enhance.InjectObjectWorker
 32  
  * @see org.apache.tapestry.annotations.InjectObject
 33  
  */
 34  
 
 35  
 public class InjectObjectAnnotationWorker implements MethodAnnotationEnhancementWorker
 36  
 {
 37  
     final InjectObjectWorker _delegate;
 38  
 
 39  
     public InjectObjectAnnotationWorker()
 40  
     {
 41  0
         this(new InjectObjectWorker());
 42  0
     }
 43  
 
 44  
     InjectObjectAnnotationWorker(InjectObjectWorker delegate)
 45  0
     {
 46  0
         _delegate = delegate;
 47  0
     }
 48  
 
 49  
     public void performEnhancement(EnhancementOperation op, IComponentSpecification spec,
 50  
             Method method, Location location)
 51  
     {
 52  0
         InjectObject io = method.getAnnotation(InjectObject.class);
 53  
 
 54  0
         String object = io.value();
 55  
 
 56  0
         String propertyName = AnnotationUtils.getPropertyName(method);
 57  
 
 58  0
         _delegate.injectObject(op, object, propertyName, location);
 59  0
     }
 60  
 
 61  
     public void setProvider(InjectedValueProvider provider)
 62  
     {
 63  0
         _delegate.setProvider(provider);
 64  0
     }
 65  
 }