Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), 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

    @java.lang.Override
    public boolean equals(java.lang.Object obj)

  This implementation compares the underlying class path locations.

### exists

    @java.lang.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

    @java.lang.Override
    public int hashCode()

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

Groovy Documentation