Groovy Documentation

org.codehaus.groovy.grails.io.support
[Java] Class ClassPathResource

java.lang.Object
  org.codehaus.groovy.grails.io.support.AbstractFileResolvingResource
      org.codehaus.groovy.grails.io.support.ClassPathResource

public class ClassPathResource
extends AbstractFileResolvingResource

Resource implementation for class path resources. Uses either a given ClassLoader or a given Class for loading resources.

Supports resolution as java.io.File if the class path resource resides in the file system, but not for resources in a JAR. Always supports resolution as URL.

Authors:
Juergen Hoeller
See Also:
java.lang.ClassLoader#getResourceAsStream(String)
java.lang.Class#getResourceAsStream(String)
Since:
28.12.2003


Constructor Summary
ClassPathResource(java.lang.String path)

Create a new ClassPathResource for ClassLoader usage.

ClassPathResource(java.lang.String path, java.lang.ClassLoader classLoader)

Create a new ClassPathResource for ClassLoader usage.

ClassPathResource(java.lang.String path, java.lang.Class clazz)

Create a new ClassPathResource for Class usage.

protected ClassPathResource(java.lang.String path, java.lang.ClassLoader classLoader, java.lang.Class clazz)

Create a new ClassPathResource with optional ClassLoader and Class.

 
Method Summary
Resource createRelative(java.lang.String relativePath)

This implementation creates a ClassPathResource, applying the given path relative to the path of the underlying resource of this descriptor.

boolean equals(java.lang.Object obj)

This implementation compares the underlying class path locations.

boolean exists()

This implementation checks for the resolution of a resource URL.

java.lang.ClassLoader getClassLoader()

Return the ClassLoader that this resource will be obtained from.

java.lang.String getDescription()

This implementation returns a description that includes the class path location.

java.lang.String getFilename()

This implementation returns the name of the file that this class path resource refers to.

java.io.InputStream getInputStream()

This implementation opens an InputStream for the given class path resource.

java.lang.String getPath()

Return the path for this resource (as resource path within the class path).

java.net.URI getURI()

java.net.URL getURL()

This implementation returns a URL for the underlying class path resource.

int hashCode()

This implementation returns the hash code of the underlying class path location.

 
Methods inherited from class AbstractFileResolvingResource
contentLength, exists, getFile, getFile, getFileForLastModifiedCheck, isReadable, lastModified
 
Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Constructor Detail

ClassPathResource

public ClassPathResource(java.lang.String path)
Create a new ClassPathResource for ClassLoader usage. A leading slash will be removed, as the ClassLoader resource access methods will not accept it.

The thread context class loader will be used for loading the resource.

Parameters:
path - the absolute path within the class path
See Also:
java.lang.ClassLoader#getResourceAsStream(String)


ClassPathResource

public ClassPathResource(java.lang.String path, java.lang.ClassLoader classLoader)
Create a new ClassPathResource for ClassLoader usage. A leading slash will be removed, as the ClassLoader resource access methods will not accept it.
Parameters:
path - the absolute path within the classpath
classLoader - the class loader to load the resource with, or null for the thread context class loader
See Also:
java.lang.ClassLoader#getResourceAsStream(String)


ClassPathResource

public ClassPathResource(java.lang.String path, java.lang.Class clazz)
Create a new ClassPathResource for Class usage. The path can be relative to the given class, or absolute within the classpath via a leading slash.
Parameters:
path - relative or absolute path within the class path
clazz - the class to load resources with
See Also:
java.lang.Class#getResourceAsStream


ClassPathResource

protected ClassPathResource(java.lang.String path, java.lang.ClassLoader classLoader, java.lang.Class clazz)
Create a new ClassPathResource with optional ClassLoader and Class. Only for internal usage.
Parameters:
path - relative or absolute path within the classpath
classLoader - the class loader to load the resource with, if any
clazz - the class to load resources with, if any


 
Method Detail

createRelative

public Resource createRelative(java.lang.String relativePath)
This implementation creates a ClassPathResource, applying the given path relative to the path of the underlying resource of this descriptor.


equals

@Override
public boolean equals(java.lang.Object obj)
This implementation compares the underlying class path locations.


exists

@Override
public boolean exists()
This implementation checks for the resolution of a resource URL.
See Also:
java.lang.ClassLoader#getResource(String)
java.lang.Class#getResource(String)


getClassLoader

public final java.lang.ClassLoader getClassLoader()
Return the ClassLoader that this resource will be obtained from.


getDescription

public java.lang.String getDescription()
This implementation returns a description that includes the class path location.


getFilename

public java.lang.String getFilename()
This implementation returns the name of the file that this class path resource refers to.


getInputStream

public java.io.InputStream getInputStream()
This implementation opens an InputStream for the given class path resource.
See Also:
java.lang.ClassLoader#getResourceAsStream(String)
java.lang.Class#getResourceAsStream(String)


getPath

public final java.lang.String getPath()
Return the path for this resource (as resource path within the class path).


getURI

public java.net.URI getURI()


getURL

public java.net.URL getURL()
This implementation returns a URL for the underlying class path resource.
See Also:
java.lang.ClassLoader#getResource(String)
java.lang.Class#getResource(String)


hashCode

@Override
public int hashCode()
This implementation returns the hash code of the underlying class path location.


 

Groovy Documentation