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.hivemind.Resource; 21 import org.apache.hivemind.impl.LocationImpl; 22 import org.apache.tapestry.enhance.EnhancementOperation; 23 import org.apache.tapestry.spec.AssetSpecification; 24 import org.apache.tapestry.spec.IAssetSpecification; 25 import org.apache.tapestry.spec.IComponentSpecification; 26 27 35 public class AssetAnnotationWorker implements MethodAnnotationEnhancementWorker 36 { 37 38 public void performEnhancement(EnhancementOperation op, IComponentSpecification spec, 39 Method method, Location location) 40 { 41 Asset asset = method.getAnnotation(Asset.class); 42 String propertyName = AnnotationUtils.getPropertyName(method); 43 44 IAssetSpecification as = new AssetSpecification(); 45 as.setPath(asset.value()); 46 as.setPropertyName(propertyName); 47 48 51 Resource specResource = spec.getSpecificationLocation(); 52 Location assetLocation = new AnnotationLocation(specResource, location.toString()); 53 54 as.setLocation(assetLocation); 55 56 spec.addAsset(propertyName, as); 57 } 58 59 } 60 | Popular Tags |