Interface ClassLoaderService
-
- All Superinterfaces:
ResourceLocator,ResourceStreamLocator,Serializable,Service,Stoppable
- All Known Implementing Classes:
ClassLoaderServiceImpl,ClassLoaderServiceTestingImpl,ExtraJavaServicesClassLoaderService
public interface ClassLoaderService extends ResourceLocator, ResourceStreamLocator, Service, Stoppable
A service for interacting with class loaders.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceClassLoaderService.Work<T>
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description <T> Class<T>classForName(String className)Locate a class by name.default <T> Class<T>classForTypeName(String className)<T> TgenerateProxy(InvocationHandler handler, Class... interfaces)<S> Collection<S>loadJavaServices(Class<S> serviceContract)Discovers and instantiates implementations of the named service contract.URLlocateResource(String name)Locate a resource by name (classpath lookup).List<URL>locateResources(String name)Locate a series of resource by name (classpath lookup).InputStreamlocateResourceStream(String name)Locate a resource by name (classpath lookup) and gets its stream.PackagepackageForNameOrNull(String packageName)Loading a Package from the ClassLoader.<T> TworkWithClassLoader(ClassLoaderService.Work<T> work)
-
-
-
Method Detail
-
classForName
<T> Class<T> classForName(String className)
Locate a class by name.- Type Parameters:
T- The returned class type.- Parameters:
className- The name of the class to locate- Returns:
- The class reference
- Throws:
ClassLoadingException- Indicates the class could not be found
-
locateResource
URL locateResource(String name)
Locate a resource by name (classpath lookup).- Specified by:
locateResourcein interfaceResourceLocator- Parameters:
name- The resource name.- Returns:
- The located URL; may return
nullto indicate the resource was not found
-
locateResourceStream
InputStream locateResourceStream(String name)
Locate a resource by name (classpath lookup) and gets its stream.- Specified by:
locateResourceStreamin interfaceResourceStreamLocator- Parameters:
name- The resource name.- Returns:
- The stream of the located resource; may return
nullto indicate the resource was not found
-
locateResources
List<URL> locateResources(String name)
Locate a series of resource by name (classpath lookup).- Parameters:
name- The resource name.- Returns:
- The list of URL matching; may return
nullto indicate the resource was not found
-
loadJavaServices
<S> Collection<S> loadJavaServices(Class<S> serviceContract)
Discovers and instantiates implementations of the named service contract.- Type Parameters:
S- The type of the service contract- Parameters:
serviceContract- The java type defining the service contract- Returns:
- The ordered set of discovered services.
- See Also:
JavaServiceLoadable- API Note:
- The term "service" here does not refer to a
Service. Here it refers to a JavaServiceLoader.
-
generateProxy
<T> T generateProxy(InvocationHandler handler, Class... interfaces)
-
packageForNameOrNull
Package packageForNameOrNull(String packageName)
Loading a Package from the ClassLoader.- Returns:
- The Package.
nullif no such Package is found, or if the ClassLoader call leads to an exception (LinkageError, e.g.).
-
workWithClassLoader
<T> T workWithClassLoader(ClassLoaderService.Work<T> work)
-
-