org.springframework.core.io
Class DefaultResourceLoader

java.lang.Object
  extended byorg.springframework.core.io.DefaultResourceLoader
All Implemented Interfaces:
ResourceLoader
Direct Known Subclasses:
AbstractApplicationContext, FileSystemResourceLoader, ServletContextResourceLoader

public class DefaultResourceLoader
extends Object
implements ResourceLoader

Default implementation of the ResourceLoader interface. Used by ResourceEditor, but also suitable for standalone usage.

Will return an UrlResource if the location value is a URL, and a ClassPathResource if it is a non-URL path or a "classpath:" pseudo-URL.

Since:
10.03.2004
Author:
Juergen Hoeller
See Also:
ResourceLoader.CLASSPATH_URL_PREFIX, ResourceEditor, UrlResource, ClassPathResource

Field Summary
 
Fields inherited from interface org.springframework.core.io.ResourceLoader
CLASSPATH_URL_PREFIX
 
Constructor Summary
DefaultResourceLoader()
          Create a new DefaultResourceLoader.
DefaultResourceLoader(ClassLoader classLoader)
          Create a new DefaultResourceLoader.
 
Method Summary
 ClassLoader getClassLoader()
          Return the ClassLoader to load classpath resources with, or null if using the thread context class loader on actual access (applying to the thread that does ClassPathResource calls).
 Resource getResource(String location)
          Return a Resource handle for the specified resource.
protected  Resource getResourceByPath(String path)
          Return a Resource handle for the resource at the given path.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultResourceLoader

public DefaultResourceLoader()
Create a new DefaultResourceLoader.

ClassLoader access will happen via the thread context class loader on actual access (applying to the thread that does ClassPathResource calls).


DefaultResourceLoader

public DefaultResourceLoader(ClassLoader classLoader)
Create a new DefaultResourceLoader.

Parameters:
classLoader - the ClassLoader to load classpath resources with, or null if using the thread context class loader on actual access (applying to the thread that does ClassPathResource calls)
Method Detail

getClassLoader

public ClassLoader getClassLoader()
Return the ClassLoader to load classpath resources with, or null if using the thread context class loader on actual access (applying to the thread that does ClassPathResource calls).

Will get passed to ClassPathResource's constructor for all ClassPathResource objects created by this resource loader.

See Also:
ClassPathResource

getResource

public Resource getResource(String location)
Description copied from interface: ResourceLoader
Return a Resource handle for the specified resource. The handle should always be a reusable resource descriptor, allowing for multiple getInputStream calls.

Note that a Resource handle does not imply an existing resource; you need to invoke Resource's "exists" to check for existence.

Specified by:
getResource in interface ResourceLoader
Parameters:
location - the resource location
Returns:
a corresponding Resource handle
See Also:
ResourceLoader.CLASSPATH_URL_PREFIX, Resource.exists(), InputStreamSource.getInputStream()

getResourceByPath

protected Resource getResourceByPath(String path)
Return a Resource handle for the resource at the given path.

Default implementation supports class path locations. This should be appropriate for standalone implementations but can be overridden, e.g. for implementations targeted at a Servlet container.

Parameters:
path - path to the resource
Returns:
Resource handle
See Also:
ClassPathResource, FileSystemXmlApplicationContext.getResourceByPath(java.lang.String), AbstractRefreshableWebApplicationContext.getResourceByPath(java.lang.String)


Copyright (C) 2003-2004 The Spring Framework Project.