Class DefaultPackageScanClassResolver

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.CamelContextAware, org.apache.camel.NonManagedService, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.PackageScanClassResolver, org.apache.camel.StatefulService, org.apache.camel.StaticService, org.apache.camel.SuspendableService
    Direct Known Subclasses:
    WebSpherePackageScanClassResolver

    public class DefaultPackageScanClassResolver
    extends BasePackageScanResolver
    implements org.apache.camel.spi.PackageScanClassResolver, org.apache.camel.NonManagedService
    Default implement of PackageScanClassResolver
    • Constructor Detail

      • DefaultPackageScanClassResolver

        public DefaultPackageScanClassResolver()
    • Method Detail

      • addFilter

        public void addFilter​(org.apache.camel.spi.PackageScanFilter filter)
        Specified by:
        addFilter in interface org.apache.camel.spi.PackageScanClassResolver
      • removeFilter

        public void removeFilter​(org.apache.camel.spi.PackageScanFilter filter)
        Specified by:
        removeFilter in interface org.apache.camel.spi.PackageScanClassResolver
      • findAnnotated

        public Set<Class<?>> findAnnotated​(Class<? extends Annotation> annotation,
                                           String... packageNames)
        Specified by:
        findAnnotated in interface org.apache.camel.spi.PackageScanClassResolver
      • findAnnotated

        public Set<Class<?>> findAnnotated​(Set<Class<? extends Annotation>> annotations,
                                           String... packageNames)
        Specified by:
        findAnnotated in interface org.apache.camel.spi.PackageScanClassResolver
      • findImplementations

        public Set<Class<?>> findImplementations​(Class<?> parent,
                                                 String... packageNames)
        Specified by:
        findImplementations in interface org.apache.camel.spi.PackageScanClassResolver
      • findByFilter

        public Set<Class<?>> findByFilter​(org.apache.camel.spi.PackageScanFilter filter,
                                          String... packageNames)
        Specified by:
        findByFilter in interface org.apache.camel.spi.PackageScanClassResolver
      • find

        protected void find​(org.apache.camel.spi.PackageScanFilter test,
                            String packageName,
                            Set<Class<?>> classes)
      • find

        protected void find​(org.apache.camel.spi.PackageScanFilter test,
                            String packageName,
                            ClassLoader loader,
                            Set<Class<?>> classes)
      • doLoadJarClassEntries

        protected List<String> doLoadJarClassEntries​(InputStream stream,
                                                     String urlPath)
        Loads all the class entries from the JAR.
        Parameters:
        stream - the inputstream of the jar file to be examined for classes
        urlPath - the url of the jar file to be examined for classes
        Returns:
        all the .class entries from the JAR
      • addIfMatching

        protected void addIfMatching​(org.apache.camel.spi.PackageScanFilter test,
                                     String fqn,
                                     Set<Class<?>> classes)
        Add the class designated by the fully qualified class name provided to the set of resolved classes if and only if it is approved by the Test supplied.
        Parameters:
        test - the test used to determine if the class matches
        fqn - the fully qualified name of a class
      • clearCache

        public void clearCache()
        Specified by:
        clearCache in interface org.apache.camel.spi.PackageScanClassResolver
      • doStop

        protected void doStop()
                       throws Exception
        Overrides:
        doStop in class org.apache.camel.support.service.BaseService
        Throws:
        Exception