org.apache.camel.spi
Interface ClassResolver

All Known Implementing Classes:
DefaultClassResolver

public interface ClassResolver

A class resolver for loading classes in a loosly coupled manner to cater for different platforms such as standalone, web container, j2ee container and OSGi platforms.


Method Summary
 java.io.InputStream loadResourceAsStream(java.lang.String uri)
          Loads the given resource as a stream
 java.net.URL loadResourceAsURL(java.lang.String uri)
          Loads the given resource as a URL
 java.lang.Class<?> resolveClass(java.lang.String name)
          Resolves the given class by its name
<T> java.lang.Class<T>
resolveClass(java.lang.String name, java.lang.Class<T> type)
          Resolves the given class by its name
<T> java.lang.Class<T>
resolveClass(java.lang.String name, java.lang.Class<T> type, java.lang.ClassLoader loader)
          Resolves the given class by its name
 java.lang.Class<?> resolveClass(java.lang.String name, java.lang.ClassLoader loader)
          Resolves the given class by its name
 java.lang.Class<?> resolveMandatoryClass(java.lang.String name)
          Resolves the given class by its name
<T> java.lang.Class<T>
resolveMandatoryClass(java.lang.String name, java.lang.Class<T> type)
          Resolves the given class by its name
<T> java.lang.Class<T>
resolveMandatoryClass(java.lang.String name, java.lang.Class<T> type, java.lang.ClassLoader loader)
          Resolves the given class by its name
 java.lang.Class<?> resolveMandatoryClass(java.lang.String name, java.lang.ClassLoader loader)
          Resolves the given class by its name
 

Method Detail

resolveClass

java.lang.Class<?> resolveClass(java.lang.String name)
Resolves the given class by its name

Parameters:
name - full qualified name of class
Returns:
the class if resolved, null if not found.

resolveClass

<T> java.lang.Class<T> resolveClass(java.lang.String name,
                                    java.lang.Class<T> type)
Resolves the given class by its name

Parameters:
name - full qualified name of class
type - the expected type of the class
Returns:
the class if resolved, null if not found.

resolveClass

java.lang.Class<?> resolveClass(java.lang.String name,
                                java.lang.ClassLoader loader)
Resolves the given class by its name

Parameters:
name - full qualified name of class
loader - use the provided class loader
Returns:
the class if resolved, null if not found.

resolveClass

<T> java.lang.Class<T> resolveClass(java.lang.String name,
                                    java.lang.Class<T> type,
                                    java.lang.ClassLoader loader)
Resolves the given class by its name

Parameters:
name - full qualified name of class
type - the expected type of the class
loader - use the provided class loader
Returns:
the class if resolved, null if not found.

resolveMandatoryClass

java.lang.Class<?> resolveMandatoryClass(java.lang.String name)
                                         throws java.lang.ClassNotFoundException
Resolves the given class by its name

Parameters:
name - full qualified name of class
Returns:
the class if resolved, null if not found.
Throws:
java.lang.ClassNotFoundException - is thrown if class not found

resolveMandatoryClass

<T> java.lang.Class<T> resolveMandatoryClass(java.lang.String name,
                                             java.lang.Class<T> type)
                                         throws java.lang.ClassNotFoundException
Resolves the given class by its name

Parameters:
name - full qualified name of class
type - the expected type of the class
Returns:
the class if resolved, null if not found.
Throws:
java.lang.ClassNotFoundException - is thrown if class not found

resolveMandatoryClass

java.lang.Class<?> resolveMandatoryClass(java.lang.String name,
                                         java.lang.ClassLoader loader)
                                         throws java.lang.ClassNotFoundException
Resolves the given class by its name

Parameters:
name - full qualified name of class
loader - use the provided class loader
Returns:
the class if resolved, null if not found.
Throws:
java.lang.ClassNotFoundException - is thrown if class not found

resolveMandatoryClass

<T> java.lang.Class<T> resolveMandatoryClass(java.lang.String name,
                                             java.lang.Class<T> type,
                                             java.lang.ClassLoader loader)
                                         throws java.lang.ClassNotFoundException
Resolves the given class by its name

Parameters:
name - full qualified name of class
type - the expected type of the class
loader - use the provided class loader
Returns:
the class if resolved, null if not found.
Throws:
java.lang.ClassNotFoundException - is thrown if class not found

loadResourceAsStream

java.io.InputStream loadResourceAsStream(java.lang.String uri)
Loads the given resource as a stream

Parameters:
uri - the uri of the resource
Returns:
as a stream

loadResourceAsURL

java.net.URL loadResourceAsURL(java.lang.String uri)
Loads the given resource as a URL

Parameters:
uri - the uri of the resource
Returns:
as a URL


Apache CAMEL