Package org.codehaus.commons.compiler.util.resource

# Class ResourceFinder

java.lang.Object
org.codehaus.commons.compiler.util.resource.ResourceFinder

Direct Known Subclasses:
  `ListableResourceFinder`, `ZipFileResourceFinder`

public abstract class ResourceFinder extends Object
Finds a resource by name.

Notice that there is a symmetrical concept `ResourceCreator` that creates resources for writing.

See Also:
  - `findResource(String)`
  - `findResourceAsStream(String)`
  - `ResourceCreator`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final ListableResourceFinder`
`EMPTY_RESOURCE_FINDER`
This one's useful when a resource finder is required, but cannot be created for some reason.

## Constructor Summary

Constructors
Constructor
Description
`ResourceFinder()`

## Method Summary

Modifier and Type
Method
Description
`abstract Resource`
`findResource(String resourceName)`
Finds a resource by name and return it as a `Resource` object.
`final InputStream`
`findResourceAsStream(String resourceName)`
Finds a resource by name and open it for reading.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### EMPTY_RESOURCE_FINDER

public static final ListableResourceFinder EMPTY_RESOURCE_FINDER
This one's useful when a resource finder is required, but cannot be created for some reason.

## Constructor Details

### ResourceFinder

public ResourceFinder()

## Method Details

### findResourceAsStream

@Nullable public final InputStream findResourceAsStream(String resourceName) throws IOException
Finds a resource by name and open it for reading.

Parameters:
  `resourceName` - Designates the resource; typically structured by slashes ("/") like "`com/foo/pkg/Bar.class`"
Returns:
  `null` if the resource could not be found
Throws:
  `IOException` - The resource was found, but there are problems opening it

### findResource

@Nullable public abstract Resource findResource(String resourceName)
Finds a resource by name and return it as a `Resource` object.

Parameters:
  `resourceName` - Designates the resource; typically structured by slashes ("/") like "`com/foo/pkg/Bar.class`"
Returns:
  `null` if the resource could not be found