/** * Process annotations. * * @param unit the deployment unit * @param finder the annotation finder * @param classes the candidate classes */ protected void processJBossMetaData(VFSDeploymentUnit unit, AnnotationFinder<AnnotatedElement> finder, Collection<Class<?>> classes) { // Create the metadata model from the annotations JBoss50Creator creator = new JBoss50Creator(finder); JBossMetaData annotationMetaData = creator.create(classes); if(annotationMetaData != null) unit.addAttachment(EJB_ANNOTATED_ATTACHMENT_NAME, annotationMetaData, JBossMetaData.class); }
/** * Create the meta data for a set of annotated classes. * * @param classes */ public JBoss50MetaData create(Collection<Class<?>> classes) { // Don't create meta data for a empty collection if ((classes == null || classes.isEmpty()) && (ejbJarMetaData == null || ejbJarMetaData.getEnterpriseBeans() == null || ejbJarMetaData .getEnterpriseBeans().isEmpty())) return null; // Create meta data JBoss50MetaData metaData = create(); // Process classes specified in the xml without top-level annotations processClassesWithoutTopLevelAnnotations(metaData, classes); // Process annotations processMetaData(classes, metaData); return metaData; }
/** * Process jboss meta data. * * @param unit the deployment unit * @param finder the finder */ protected void processJBossMetaData(VFSDeploymentUnit unit, AnnotationFinder<AnnotatedElement> finder) { // Create the metadata model from the annotations EjbJarMetaData ejbJarMetaData = unit.getAttachment(EjbJarMetaData.class); JBoss50Creator creator = new JBoss50Creator(ejbJarMetaData, unit.getClassLoader(), finder); Collection<Class<?>> classes = getClasses(unit, creator); JBossMetaData annotationMetaData = creator.create(classes); if(annotationMetaData != null) unit.addAttachment(EJB_ANNOTATED_ATTACHMENT_NAME, annotationMetaData, JBossMetaData.class); }