Class ServiceLoader


  • public class ServiceLoader
    extends Object
    Internal utility class that Tika uses to look up service providers.
    Since:
    Apache Tika 0.9
    • Method Detail

      • setContextClassLoader

        public static void setContextClassLoader​(ClassLoader loader)
        Sets the context class loader to use for all threads that access this class. Used for example in an OSGi environment to avoid problems with the default context class loader.
        Parameters:
        loader - default context class loader, or null to automatically pick the loader
      • isDynamic

        public boolean isDynamic()
        Returns if the service loader is static or dynamic
        Returns:
        dynamic or static loading
        Since:
        Apache Tika 1.10
      • getLoadErrorHandler

        public LoadErrorHandler getLoadErrorHandler()
        Returns the load error handler used by this loader.
        Returns:
        load error handler
        Since:
        Apache Tika 1.3
      • getInitializableProblemHandler

        public InitializableProblemHandler getInitializableProblemHandler()
        Returns the handler for problems with initializables
        Returns:
        handler for problems with initializables
        Since:
        Apache Tika 1.15.1
      • getResourceAsStream

        public InputStream getResourceAsStream​(String name)
        Returns an input stream for reading the specified resource from the configured class loader.
        Parameters:
        name - resource name
        Returns:
        input stream, or null if the resource was not found
        Since:
        Apache Tika 1.1
        See Also:
        ClassLoader.getResourceAsStream(String)
      • findServiceResources

        public Enumeration<URL> findServiceResources​(String filePattern)
        Returns all the available service resources matching the given pattern, such as all instances of tika-mimetypes.xml on the classpath, or all org.apache.tika.parser.Parser service files.
      • loadServiceProviders

        public <T> List<T> loadServiceProviders​(Class<T> iface)
        Returns all the available service providers of the given type. As of versions after 2.4.1, this removes duplicate classes
        Parameters:
        iface - service provider interface
        Returns:
        available service providers
      • loadDynamicServiceProviders

        public <T> List<T> loadDynamicServiceProviders​(Class<T> iface)
        Returns the available dynamic service providers of the given type. The returned list is newly allocated and may be freely modified by the caller.
        Parameters:
        iface - service provider interface
        Returns:
        dynamic service providers
        Since:
        Apache Tika 1.2
      • identifyStaticServiceProviders

        protected <T> List<String> identifyStaticServiceProviders​(Class<T> iface)
        Returns the defined static service providers of the given type, without attempting to load them. The providers are loaded using the service provider mechanism using the configured class loader (if any).
        Parameters:
        iface - service provider interface
        Returns:
        static list of uninitialised service providers
        Since:
        Apache Tika 1.6
      • loadStaticServiceProviders

        public <T> List<T> loadStaticServiceProviders​(Class<T> iface)
      • loadStaticServiceProviders

        public <T> List<T> loadStaticServiceProviders​(Class<T> iface,
                                                      Collection<Class<? extends T>> excludes)
        Returns the available static service providers of the given type. The providers are loaded using the service provider mechanism using the configured class loader (if any). The returned list is newly allocated and may be freely modified by the caller.
        Parameters:
        iface - service provider interface
        excludes - -- do not load these classes
        Returns:
        static service providers
        Since:
        Apache Tika 1.2