1 22 package org.jboss.classadapter.plugins; 23 24 import java.util.List ; 25 26 import org.jboss.classadapter.spi.ClassAdapter; 27 import org.jboss.classadapter.spi.ClassAdapterFactory; 28 import org.jboss.classadapter.spi.DependencyBuilder; 29 import org.jboss.joinpoint.spi.JoinpointFactory; 30 import org.jboss.joinpoint.spi.JoinpointFactoryBuilder; 31 import org.jboss.reflect.spi.ClassInfo; 32 import org.jboss.repository.spi.MetaDataContext; 33 import org.jboss.repository.spi.MetaDataContextFactory; 34 import org.jboss.util.JBossObject; 35 36 41 public class BasicClassAdapter extends JBossObject implements ClassAdapter 42 { 43 44 protected ClassAdapterFactory classAdapterFactory; 45 46 47 protected ClassInfo classInfo; 48 49 50 protected MetaDataContext metaDataContext; 51 52 58 public BasicClassAdapter(ClassAdapterFactory factory, ClassInfo classInfo) 59 { 60 this.classAdapterFactory = factory; 61 this.classInfo = classInfo; 62 } 63 64 public ClassInfo getClassInfo() 65 { 66 return classInfo; 67 } 68 69 public ClassAdapter getInstanceAdapter(ClassInfo classInfo) 70 { 71 BasicClassAdapter clone = (BasicClassAdapter) clone(); 72 clone.classInfo = classInfo; 73 return clone; 74 } 75 76 public List <Object > getDependencies() 77 { 78 DependencyBuilder builder = classAdapterFactory.getConfiguration().getDependencyBuilder(); 79 return builder.getDependencies(this); 80 } 81 82 public JoinpointFactory getJoinpointFactory() 83 { 84 JoinpointFactoryBuilder builder = classAdapterFactory.getConfiguration().getJoinpointFactoryBuilder(); 85 return builder.createJoinpointFactory(classInfo, metaDataContext); 86 } 87 88 public ClassLoader getClassLoader() 89 { 90 return classInfo.getType().getClassLoader(); 91 } 92 93 public MetaDataContextFactory getMetaDataContextFactory() 94 { 95 return classAdapterFactory.getConfiguration().getMetaDataContextFactory(); 96 } 97 98 99 public MetaDataContext getMetaDataContext() 100 { 101 return metaDataContext; 102 } 103 104 public void setMetaDataContext(MetaDataContext metaCtx) 105 { 106 metaDataContext = metaCtx; 107 } 108 } 109 | Popular Tags |