List of usage examples for org.springframework.core.type AnnotationMetadata hasAnnotation
default boolean hasAnnotation(String annotationName)
From source file:org.wallride.tools.Hbm2ddl.java
public static void main(String[] args) throws Exception { String locationPattern = "classpath:/org/wallride/domain/*"; final BootstrapServiceRegistry registry = new BootstrapServiceRegistryBuilder().build(); final MetadataSources metadataSources = new MetadataSources(registry); final StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder(registry); registryBuilder.applySetting(AvailableSettings.DIALECT, ExtendedMySQL5InnoDBDialect.class.getCanonicalName()); registryBuilder.applySetting(AvailableSettings.GLOBALLY_QUOTED_IDENTIFIERS, true); registryBuilder.applySetting(AvailableSettings.PHYSICAL_NAMING_STRATEGY, PhysicalNamingStrategySnakeCaseImpl.class); final PathMatchingResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); final Resource[] resources = resourcePatternResolver.getResources(locationPattern); final SimpleMetadataReaderFactory metadataReaderFactory = new SimpleMetadataReaderFactory(); for (Resource resource : resources) { MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource); AnnotationMetadata metadata = metadataReader.getAnnotationMetadata(); if (metadata.hasAnnotation(Entity.class.getName())) { metadataSources.addAnnotatedClass(Class.forName(metadata.getClassName())); }// w ww . j a v a 2 s.co m } final StandardServiceRegistryImpl registryImpl = (StandardServiceRegistryImpl) registryBuilder.build(); final MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder(registryImpl); new SchemaExport().setHaltOnError(true).setDelimiter(";").create(EnumSet.of(TargetType.STDOUT), metadataBuilder.build()); }
From source file:com.reactivetechnologies.platform.datagrid.util.EntityFinder.java
/** * //ww w. ja v a2s . c o m * @param basePkg * @return * @throws ClassNotFoundException */ public static Collection<Class<?>> findEntityClasses(String basePkg) throws ClassNotFoundException { ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( false); provider.addIncludeFilter(new TypeFilter() { @Override public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException { AnnotationMetadata aMeta = metadataReader.getAnnotationMetadata(); return aMeta.hasAnnotation(HzMapConfig.class.getName()); } }); //consider the finder class to be in the root package Set<BeanDefinition> beans = null; try { beans = provider.findCandidateComponents(StringUtils.hasText(basePkg) ? basePkg : EntityFinder.class.getName().substring(0, EntityFinder.class.getName().lastIndexOf("."))); } catch (Exception e) { throw new IllegalArgumentException("Unable to scan for entities under base package", e); } Set<Class<?>> classes = new HashSet<>(); if (beans != null && !beans.isEmpty()) { classes = new HashSet<>(beans.size()); for (BeanDefinition bd : beans) { classes.add(Class.forName(bd.getBeanClassName())); } } else { log.warn(">> Did not find any key value entities under the given base scan package [" + basePkg + "]"); } return classes; }
From source file:com.reactive.hzdfs.utils.EntityFinder.java
/** * // w ww . ja v a2 s . c o m * @param basePkg * @return * @throws ClassNotFoundException */ public static Collection<Class<?>> findMapEntityClasses(String basePkg) throws ClassNotFoundException { ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( false); provider.addIncludeFilter(new TypeFilter() { @Override public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException { AnnotationMetadata aMeta = metadataReader.getAnnotationMetadata(); return aMeta.hasAnnotation(IMapConfig.class.getName()); } }); return findComponents(provider, basePkg); }
From source file:com.reactivetechnologies.platform.utils.EntityFinder.java
/** * //from ww w. j a va 2 s .c om * @param basePkg * @return * @throws ClassNotFoundException */ public static Collection<Class<?>> findMapEntityClasses(String basePkg) throws ClassNotFoundException { ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( false); provider.addIncludeFilter(new TypeFilter() { @Override public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException { AnnotationMetadata aMeta = metadataReader.getAnnotationMetadata(); return aMeta.hasAnnotation(HzMapConfig.class.getName()); } }); //consider the finder class to be in the root package Set<BeanDefinition> beans = null; try { beans = provider.findCandidateComponents(StringUtils.hasText(basePkg) ? basePkg : EntityFinder.class.getName().substring(0, EntityFinder.class.getName().lastIndexOf("."))); } catch (Exception e) { throw new IllegalArgumentException("Unable to scan for entities under base package", e); } Set<Class<?>> classes = new HashSet<>(); if (beans != null && !beans.isEmpty()) { classes = new HashSet<>(beans.size()); for (BeanDefinition bd : beans) { classes.add(Class.forName(bd.getBeanClassName())); } } else { log.warn(">> Did not find any key value entities under the given base scan package [" + basePkg + "]"); } return classes; }
From source file:com.reactivetechnologies.platform.utils.EntityFinder.java
/** * Scans for JAX RS classes under given (comma delimited) packages * @param basePkg/*from w w w. ja v a 2 s .c o m*/ * @return * @throws ClassNotFoundException * @throws IllegalAccessException */ public static List<Class<?>> findJaxRsClasses(String basePkg) throws ClassNotFoundException, IllegalAccessException { if (basePkg.contains(",")) { List<Class<?>> allPkgClasses = new ArrayList<>(); String[] pkgs = basePkg.split(","); for (String pkg : pkgs) { allPkgClasses.addAll(findJaxRsClasses(pkg)); } return allPkgClasses; } ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( false); provider.addIncludeFilter(new TypeFilter() { @Override public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException { AnnotationMetadata aMeta = metadataReader.getAnnotationMetadata(); return aMeta.hasAnnotation(Path.class.getName()) || (aMeta.hasAnnotatedMethods(GET.class.getName()) || aMeta.hasAnnotatedMethods(POST.class.getName()) || aMeta.hasAnnotatedMethods(DELETE.class.getName()) || aMeta.hasAnnotatedMethods(Path.class.getName())); } }); Set<BeanDefinition> beans = null; try { beans = provider.findCandidateComponents(StringUtils.hasText(basePkg) ? basePkg : EntityFinder.class.getName().substring(0, EntityFinder.class.getName().lastIndexOf("."))); } catch (Exception e) { throw new BeanInitializationException("Unable to scan for JAX-RS annotated classes under base package", e); } List<Class<?>> classes = new ArrayList<Class<?>>(); if (beans != null && !beans.isEmpty()) { Class<?> restletClass; for (BeanDefinition bd : beans) { restletClass = Class.forName(bd.getBeanClassName()); classes.add(restletClass); } } else { log.warn("** Did not find any JAX-RS annotated classes under the given base scan package [" + basePkg + "]. No REST requests will be served **"); } return classes; }
From source file:org.jfaster.mango.plugin.spring.MangoDaoScanner.java
private List<Class<?>> findMangoDaoClasses() { try {/*from w w w .jav a 2 s .co m*/ List<Class<?>> daos = new ArrayList<Class<?>>(); ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resourcePatternResolver); for (String locationPattern : locationPatterns) { Resource[] rs = resourcePatternResolver.getResources(locationPattern); for (Resource r : rs) { MetadataReader reader = metadataReaderFactory.getMetadataReader(r); AnnotationMetadata annotationMD = reader.getAnnotationMetadata(); if (annotationMD.hasAnnotation(DB.class.getName())) { ClassMetadata clazzMD = reader.getClassMetadata(); daos.add(Class.forName(clazzMD.getClassName())); } } } return daos; } catch (Exception e) { throw new IllegalStateException(e.getMessage(), e); } }
From source file:br.com.caelum.vraptor.ioc.spring.ComponentTypeFilter.java
public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException { AnnotationMetadata metadata = metadataReader.getAnnotationMetadata(); for (Class<? extends Annotation> annotationType : annotationTypes) { if (metadata.hasAnnotation(annotationType.getName())) { return true; }/*w w w .jav a 2 s. co m*/ } return metadata.hasMetaAnnotation(Stereotype.class.getName()); }
From source file:br.com.caelum.vraptor.ioc.spring.VRaptorScopeResolver.java
public ScopeMetadata resolveScopeMetadata(BeanDefinition definition) { AnnotationMetadata metadata = ((AnnotatedBeanDefinition) definition).getMetadata(); for (Map.Entry<String, String> scope : scopes.entrySet()) { if (metadata.hasAnnotation(scope.getKey())) { ScopeMetadata scopeMetadata = new ScopeMetadata(); scopeMetadata.setScopeName(scope.getValue()); return scopeMetadata; }/*ww w. j a v a 2s . c o m*/ } return requestScopeAsDefault(); }
From source file:org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport.java
/** * Determines whether the given {@link AnnotationMetadata type meta-data} for a particular {@link Class} * is annotated with the given {@link Annotation} defined by {@link String name}. * * @param importingClassMetadata {@link AnnotationMetadata type meta-data} for a particular {@link Class}. * @param annotationName {@link String name} of the {@link Annotation} of interests. * @return a boolean indicating whether the particular {@link Class} is annotated with * the given {@link Annotation} defined by {@link String name}. * @see org.springframework.core.type.AnnotationMetadata *//* www . j a va 2s . c om*/ protected boolean isAnnotationPresent(AnnotationMetadata importingClassMetadata, String annotationName) { return importingClassMetadata.hasAnnotation(annotationName); }