1 22 package org.jboss.test.aop.scoped; 23 24 import java.lang.reflect.Constructor ; 25 import java.lang.reflect.Field ; 26 import java.lang.reflect.Method ; 27 28 import javassist.CtConstructor; 29 import javassist.CtField; 30 import javassist.CtMethod; 31 32 import org.jboss.aop.Advisor; 33 import org.jboss.aop.metadata.ClassMetaDataBinding; 34 import org.jboss.aop.metadata.ClassMetaDataLoader; 35 import org.jboss.aop.util.XmlHelper; 36 import org.w3c.dom.Element ; 37 38 43 public class ScopedMetadataLoader implements ClassMetaDataLoader 44 { 45 public ClassMetaDataBinding importMetaData(Element element, String name, String tag, String classExpr) throws Exception  46 { 47 ScopedMetadataBinding data = new ScopedMetadataBinding(this, name, tag, classExpr); 48 String value = XmlHelper.getOptionalChildContent(element, "data"); 49 data.setData(value); 50 51 return data; 52 } 53 54 public void bind(Advisor advisor, ClassMetaDataBinding data, CtMethod[] methods, CtField[] fields, CtConstructor[] constructors) throws Exception  55 { 56 for (int i = 0 ; i < methods.length ; i++) 57 { 58 advisor.getMethodMetaData().addMethodMetaData(methods[i], "custom", "data", ((ScopedMetadataBinding)data).getData()); 59 } 60 for (int i = 0 ; i < constructors.length ; i++) 61 { 62 advisor.getConstructorMetaData().addConstructorMetaData(constructors[i], "custom", "data", ((ScopedMetadataBinding)data).getData()); 63 } 64 } 65 66 public void bind(Advisor advisor, ClassMetaDataBinding data, Method [] methods, Field [] fields, Constructor [] constructors) throws Exception  67 { 68 for (int i = 0 ; i < methods.length ; i++) 69 { 70 advisor.getMethodMetaData().addMethodMetaData(methods[i], "custom", "data", ((ScopedMetadataBinding)data).getData()); 71 } 72 for (int i = 0 ; i < constructors.length ; i++) 73 { 74 advisor.getConstructorMetaData().addConstructorMetaData(constructors[i], "custom", "data", ((ScopedMetadataBinding)data).getData()); 75 } 76 } 77 78 79 80 } 81 | Popular Tags |