## org.hibernate.service.classloading.spi
Interface ClassLoaderService

All Superinterfaces:
  Serializable, Service

All Known Implementing Classes:
  ClassLoaderServiceImpl

    public interface ClassLoaderService

extends Service

A service for interacting with class loaders

Method Summary

`

`<T> Class<T>`

`

`classForName(String className)`
Locate a class by name

`

`<S> LinkedHashSet<S>`

`

`loadJavaServices(Class<S> serviceContract)`
Discovers and instantiates implementations of the named service contract.

`URL` `locateResource(String name)` Locate a resource by name (classpath lookup)
`List<URL>` `locateResources(String name)` Locate a series of resource by name (classpath lookup)
`InputStream` `locateResourceStream(String name)` Locate a resource by name (classpath lookup) and gets its stream

Method Detail

### classForName

    <T> Class<T> classForName(String className)

  Locate a class by name

  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)

  Parameters:
    `name` - The resource name.
  Returns:
    The located URL; may return `null` to indicate the resource was not found

### locateResourceStream

    InputStream locateResourceStream(String name)

  Locate a resource by name (classpath lookup) and gets its stream

  Parameters:
    `name` - The resource name.
  Returns:
    The stream of the located resource; may return `null` to 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 `null` to indicate the resource was not found

### loadJavaServices

    <S> LinkedHashSet<S> loadJavaServices(Class<S> serviceContract)

  Discovers and instantiates implementations of the named service contract.

  NOTE : the terms service here is used differently than `Service`. Instead here we are talking about services as defined by `ServiceLoader`.

  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.

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.