Package org.springframework.core.type.classreading

Examples of org.springframework.core.type.classreading.MetadataReaderFactory


   */
  @SuppressWarnings("all")
  public static List<String> scanPackages(String basePackages) throws IllegalArgumentException{
    Assert.notNull(basePackages,"'basePakcages' must be not null");
    ResourcePatternResolver rl = new PathMatchingResourcePatternResolver();
    MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(rl);
    List result = new ArrayList();
    String[] arrayPackages = basePackages.split(",");
    try {
      for(int j = 0; j < arrayPackages.length; j++) {
        String packageToScan = arrayPackages[j];
        String packagePart = packageToScan.replace('.', '/');
        String classPattern = "classpath*:/" + packagePart + "/**/*.class";
        Resource[] resources = rl.getResources(classPattern);
        for (int i = 0; i < resources.length; i++) {
          Resource resource = resources[i];
          MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);  
          String className = metadataReader.getClassMetadata().getClassName();
          result.add(className);
        }
      }
    }catch(Exception e) {
View Full Code Here


    this.logger = logger;
  }

  @Override
  protected void findAllClasses(String packageName, ClassLoader loader) {
    MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(
        loader);
    try {
      Resource[] resources = scan(loader, packageName);
      for (Resource resource : resources) {
        Class<?> clazz = loadClass(loader, metadataReaderFactory, resource);
View Full Code Here

        // use set to avoi duplications or null elements
        final Set<EventCategoryTO> events = new HashSet<EventCategoryTO>();

        try {
            final ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
            final MetadataReaderFactory metadataReaderFactory =
                    new CachingMetadataReaderFactory(resourcePatternResolver);

            final String packageSearchPath =
                    ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
                    + ClassUtils.convertClassNameToResourcePath(
                    SystemPropertyUtils.resolvePlaceholders(this.getClass().getPackage().getName()))
                    + "/" + "**/*.class";

            final Resource[] resources = resourcePatternResolver.getResources(packageSearchPath);
            for (Resource resource : resources) {
                if (resource.isReadable()) {
                    final MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);
                    final Class<?> clazz = Class.forName(metadataReader.getClassMetadata().getClassName());

                    if (clazz.isAnnotationPresent(Component.class)
                            && AbstractController.class.isAssignableFrom(clazz)) {
                        final EventCategoryTO eventCategoryTO = new EventCategoryTO();
View Full Code Here

   */
  public List<Class<?>> getAnnotatedMatches(Class<? extends Annotation> annotation,
    boolean includeSubclasses)
  {
    List<Class<?>> matches = new ArrayList<Class<?>>();
    MetadataReaderFactory f = new SimpleMetadataReaderFactory();
    for (Resource r : resources)
    {
      MetadataReader meta = null;
      try
      {
        meta = f.getMetadataReader(r);
      }
      catch (IOException e)
      {
        throw new RuntimeException("Unable to get MetadataReader for " + r, e);
      }
View Full Code Here

      try {
        for (String pkg : this.packagesToScan) {
          String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX +
              ClassUtils.convertClassNameToResourcePath(pkg) + RESOURCE_PATTERN;
          Resource[] resources = this.resourcePatternResolver.getResources(pattern);
          MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory(this.resourcePatternResolver);
          for (Resource resource : resources) {
            if (resource.isReadable()) {
              MetadataReader reader = readerFactory.getMetadataReader(resource);
              String className = reader.getClassMetadata().getClassName();
              if (matchesFilter(reader, readerFactory)) {
                config.addAnnotatedClass(this.resourcePatternResolver.getClassLoader().loadClass(className));
              }
            }
View Full Code Here

  private void scann() throws Exception {
    for(String pkg : packages) {
      String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX +
          ClassUtils.convertClassNameToResourcePath(pkg) + RESOURCE_PATTERN;
      Resource[] resources = this.resourcePatternResolver.getResources(pattern);
      MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory(this.resourcePatternResolver);
      for (Resource resource : resources) {
        if (resource.isReadable()) {
          MetadataReader reader = readerFactory.getMetadataReader(resource);
          String className = reader.getClassMetadata().getClassName();
          Class<?> clazz = this.resourcePatternResolver.getClassLoader().loadClass(className);
         
          Field[] fields = clazz.getDeclaredFields();
          EntityMetadata entityMetadata = new EntityMetadata();
View Full Code Here

   */
  private List<Class<? extends Report>> findReportBeans(String basePackage)
      throws IOException, ClassNotFoundException {

    ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
    MetadataReaderFactory metadataReaderFactory =
        new CachingMetadataReaderFactory(resourcePatternResolver);

    List<Class<? extends Report>> candidates = new ArrayList<Class<? extends Report>>();

    String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
View Full Code Here

TOP

Related Classes of org.springframework.core.type.classreading.MetadataReaderFactory

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.