Package org.springframework.core.type

Examples of org.springframework.core.type.ClassMetadata


            classNames.put(type, new HashSet<String>());
        }

        try {
            for (Resource resource : resResolver.getResources("classpath*:**/*.class")) {
                ClassMetadata metadata = factory.getMetadataReader(resource).getClassMetadata();

                try {
                    Class<?> clazz = ClassUtils.forName(metadata.getClassName(), ClassUtils.getDefaultClassLoader());
                    Set<Class> interfaces = ClassUtils.getAllInterfacesForClassAsSet(clazz);

                    if (interfaces.contains(Reportlet.class) && !metadata.isAbstract()) {
                        classNames.get(Type.REPORTLET).add(clazz.getName());
                    }

                    if ((interfaces.contains(Job.class))
                            && !metadata.isAbstract() && !SyncJob.class.getName().equals(metadata.getClassName())
                            && !ReportJob.class.getName().equals(metadata.getClassName())
                            && !NotificationJob.class.getName().equals(metadata.getClassName())) {

                        classNames.get(Type.JOB).add(metadata.getClassName());
                    }

                    if (interfaces.contains(SyncActions.class) && !metadata.isAbstract()) {
                        classNames.get(Type.SYNC_ACTIONS).add(metadata.getClassName());
                    }

                    if (interfaces.contains(SyncCorrelationRule.class) && !metadata.isAbstract()) {
                        classNames.get(Type.SYNC_CORRELATION_RULES).add(metadata.getClassName());
                    }

                    if (interfaces.contains(PropagationActions.class) && !metadata.isAbstract()) {
                        classNames.get(Type.PROPAGATION_ACTIONS).add(metadata.getClassName());
                    }

                    if (interfaces.contains(Validator.class) && !metadata.isAbstract()) {
                        classNames.get(Type.VALIDATOR).add(metadata.getClassName());
                    }
                } catch (ClassNotFoundException e) {
                    LOG.warn("Could not load class {}", metadata.getClassName());
                } catch (LinkageError e) {
                    LOG.warn("Could not link class {}", metadata.getClassName());
                }
            }
        } catch (IOException e) {
            LOG.error("While searching for implementatiom classes", e);
        }
View Full Code Here


            // always exclude interfaces with no methods
            addExcludeFilter(new TypeFilter() {
                public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory)
                        throws IOException {
                    ClassMetadata classMetadata = metadataReader.getClassMetadata();
                    Class<?> candidateClass = null;

                    try {
                        candidateClass = getClass().getClassLoader().loadClass(classMetadata.getClassName());
                    } catch (ClassNotFoundException ex) {
                        return false;
                    }

                    if (candidateClass.getMethods().length == 0) {
View Full Code Here

    // This method optimizes avoiding unnecessary creation of ClassReaders
    // as well as visiting over those readers.
    if (matchSelf(metadataReader)) {
      return true;
    }
    ClassMetadata metadata = metadataReader.getClassMetadata();
    if (matchClassName(metadata.getClassName())) {
      return true;
    }

    if (!this.considerInherited) {
      return false;
    }
    if (metadata.hasSuperClass()) {
      // Optimization to avoid creating ClassReader for super class.
      Boolean superClassMatch = matchSuperClass(metadata.getSuperClassName());
      if (superClassMatch != null) {
        if (superClassMatch.booleanValue()) {
          return true;
        }
      }
      else {
        // Need to read super class to determine a match...
        if (match(metadata.getSuperClassName(), metadataReaderFactory)) {
          return true;
        }
      }
    }

    if (!this.considerInterfaces) {
      return false;
    }
    for (String ifc : metadata.getInterfaceNames()) {
      // Optimization to avoid creating ClassReader for super class
      Boolean interfaceMatch = matchInterface(ifc);
      if (interfaceMatch != null) {
        if (interfaceMatch.booleanValue()) {
          return true;
View Full Code Here

    // This method optimizes avoiding unnecessary creation of ClassReaders
    // as well as visiting over those readers.
    if (matchSelf(metadataReader)) {
      return true;
    }
    ClassMetadata metadata = metadataReader.getClassMetadata();
    if (matchClassName(metadata.getClassName())) {
      return true;
    }

    if (!this.considerInherited) {
      return false;
    }
    if (metadata.hasSuperClass()) {
      // Optimization to avoid creating ClassReader for super class.
      Boolean superClassMatch = matchSuperClass(metadata.getSuperClassName());
      if (superClassMatch != null) {
        if (superClassMatch.booleanValue()) {
          return true;
        }
      }
      else {
        // Need to read super class to determine a match...
        if (match(metadata.getSuperClassName(), metadataReaderFactory)) {
          return true;
        }
      }
    }

    if (!this.considerInterfaces) {
      return false;
    }
    for (String ifc : metadata.getInterfaceNames()) {
      // Optimization to avoid creating ClassReader for super class
      Boolean interfaceMatch = matchInterface(ifc);
      if (interfaceMatch != null) {
        if (interfaceMatch.booleanValue()) {
          return true;
View Full Code Here

            classNames.put(type, new HashSet<String>());
        }

        try {
            for (Resource resource : resResolver.getResources("classpath*:**/*.class")) {
                ClassMetadata metadata = factory.getMetadataReader(resource).getClassMetadata();

                try {
                    Class<?> clazz = ClassUtils.forName(metadata.getClassName(), ClassUtils.getDefaultClassLoader());
                    Set<Class> interfaces = ClassUtils.getAllInterfacesForClassAsSet(clazz);

                    if (interfaces.contains(Reportlet.class) && !metadata.isAbstract()) {
                        classNames.get(Type.REPORTLET).add(clazz.getName());
                    }

                    if ((interfaces.contains(TaskJob.class))
                            && !metadata.isAbstract() && !SyncJob.class.getName().equals(metadata.getClassName())) {

                        classNames.get(Type.TASKJOB).add(metadata.getClassName());
                    }

                    if (interfaces.contains(SyncActions.class) && !metadata.isAbstract()) {
                        classNames.get(Type.SYNC_ACTIONS).add(metadata.getClassName());
                    }

                    if (interfaces.contains(SyncCorrelationRule.class) && !metadata.isAbstract()) {
                        classNames.get(Type.SYNC_CORRELATION_RULES).add(metadata.getClassName());
                    }

                    if (interfaces.contains(PropagationActions.class) && !metadata.isAbstract()) {
                        classNames.get(Type.PROPAGATION_ACTIONS).add(metadata.getClassName());
                    }

                    if (interfaces.contains(Validator.class) && !metadata.isAbstract()) {
                        classNames.get(Type.VALIDATOR).add(metadata.getClassName());
                    }
                } catch (ClassNotFoundException e) {
                    LOG.warn("Could not load class {}", metadata.getClassName());
                } catch (LinkageError e) {
                    LOG.warn("Could not link class {}", metadata.getClassName());
                }
            }
        } catch (IOException e) {
            LOG.error("While searching for implementatiom classes", e);
        }
View Full Code Here

            if (resource.isReadable()) {
                MetadataReader metadataReader = metadataReaderFactory
                        .getMetadataReader(resource);
                AnnotationMetadata annotationMetadata = metadataReader
                        .getAnnotationMetadata();
                ClassMetadata classMetadata = metadataReader.getClassMetadata();
                if (classMetadata.isInterface()
                        && annotationMetadata.getAnnotationTypes().contains(
                                EntryPoints.class.getName())) {
                    Class<?> klass = Class
                            .forName(classMetadata.getClassName());
                    if (klass.isInterface()) {
                        accumulatedResult.add(klass);
                    }
                }
            }
View Full Code Here

            classNames.put(type, new HashSet<String>());
        }

        try {
            for (Resource resource : resResolver.getResources("classpath*:**/*.class")) {
                ClassMetadata metadata = factory.getMetadataReader(resource).getClassMetadata();

                try {
                    Class clazz = ClassUtils.forName(metadata.getClassName(), ClassUtils.getDefaultClassLoader());
                    Set<Class> interfaces = ClassUtils.getAllInterfacesForClassAsSet(clazz);

                    if (interfaces.contains(Reportlet.class) && !metadata.isAbstract()) {
                        classNames.get(Type.REPORTLET).add(clazz.getName());
                    }

                    if ((interfaces.contains(Job.class) || interfaces.contains(StatefulJob.class))
                            && !metadata.isAbstract() && !SyncJob.class.getName().equals(metadata.getClassName())
                            && !ReportJob.class.getName().equals(metadata.getClassName())
                            && !NotificationJob.class.getName().equals(metadata.getClassName())) {

                        classNames.get(Type.JOB).add(metadata.getClassName());
                    }

                    if (interfaces.contains(SyncJobActions.class) && !metadata.isAbstract()) {
                        classNames.get(Type.JOB_ACTIONS).add(metadata.getClassName());
                    }

                    if (interfaces.contains(Validator.class) && !metadata.isAbstract()) {
                        classNames.get(Type.VALIDATOR).add(metadata.getClassName());
                    }
                } catch (ClassNotFoundException e) {
                    LOG.warn("Could not load class {}", metadata.getClassName());
                } catch (LinkageError e) {
                    LOG.warn("Could not link class {}", metadata.getClassName());
                }
            }
        } catch (IOException e) {
            LOG.error("While searching for class implementing {}", Reportlet.class.getName(), e);
        }
View Full Code Here

  private AnnotationMetadata getAnnotationMetadataIfServlet(MetadataReader metadataReader,
                                MetadataReaderFactory factory,
                                PathMatchingResourcePatternResolver resourceResolver)
  {
    ClassMetadata classMetadata = metadataReader.getClassMetadata();

    try {
      if (classMetadata.isConcrete() && extendsRemoteServlet(classMetadata, factory, resourceResolver)) {
        for (String i : metadataReader.getClassMetadata().getInterfaceNames()) {
          MetadataReader r = getMetadataReader(i, factory, resourceResolver);
          if (r != null && r.getAnnotationMetadata()
            .hasAnnotation( RemoteServiceRelativePath.class.getName() )) {
            return r.getAnnotationMetadata();
View Full Code Here

    // This method optimizes avoiding unnecessary creation of ClassReaders
    // as well as visiting over those readers.
    if (matchSelf(metadataReader)) {
      return true;
    }
    ClassMetadata metadata = metadataReader.getClassMetadata();
    if (matchClassName(metadata.getClassName())) {
      return true;
    }

    if (this.considerInherited) {
      if (metadata.hasSuperClass()) {
        // Optimization to avoid creating ClassReader for super class.
        Boolean superClassMatch = matchSuperClass(metadata.getSuperClassName());
        if (superClassMatch != null) {
          if (superClassMatch.booleanValue()) {
            return true;
          }
        }
        else {
          // Need to read super class to determine a match...
          try {
            if (match(metadata.getSuperClassName(), metadataReaderFactory)) {
              return true;
            }
          }
          catch (IOException ex) {
            logger.debug("Could not read super class [" + metadata.getSuperClassName() +
                "] of type-filtered class [" + metadata.getClassName() + "]");
          }
         }
      }
    }

    if (this.considerInterfaces) {
      for (String ifc : metadata.getInterfaceNames()) {
        // Optimization to avoid creating ClassReader for super class
        Boolean interfaceMatch = matchInterface(ifc);
        if (interfaceMatch != null) {
          if (interfaceMatch.booleanValue()) {
            return true;
          }
        }
        else {
          // Need to read interface to determine a match...
          try {
            if (match(ifc, metadataReaderFactory)) {
              return true;
            }
          }
          catch (IOException ex) {
            logger.debug("Could not read interface [" + ifc + "] for type-filtered class [" +
                metadata.getClassName() + "]");
          }
        }
      }
    }
View Full Code Here

        metadataReader = METADATA_READER_FACTORY.getMetadataReader(resource);
      } catch (IOException e) {
        logger.warn(e.getMessage());
        continue;
      }
      ClassMetadata classMetadata = metadataReader.getClassMetadata();
      if (classMetadata == null || !classMetadata.isConcrete())
        continue;
      Class<?> clazz;
      try {
        clazz = ClassUtils.forName(classMetadata.getClassName(), null);
      } catch (ClassNotFoundException e) {
        logger.warn(e.getMessage());
        continue;
      } catch (LinkageError e) {
        logger.warn(e.getMessage());
View Full Code Here

TOP

Related Classes of org.springframework.core.type.ClassMetadata

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.