org.glassfish.jersey.server

## Interface ResourceFinder

All Superinterfaces:
  AutoCloseable, Iterator<String>

    public interface ResourceFinder
    extends Iterator<String>, AutoCloseable

An interface used for finding and opening (loading) new resources.

`ResourceConfig` will use all registered finders to obtain classes to be used as resource classes and/or providers. Method `open()` doesn't need to be called on all returned resource names, `ResourceConfig` can ignore some of them.

Currently, all resource names ending with ".class" will be accepted and processed (opened).

Extends `AutoCloseable` since version 2.19. The `close()` method is used to release allocated/opened resources (such as streams). When a resource finder is closed no other method should be invoked on it.

Author:
  Pavel Bucek

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `close()` Release allocated/opened resources (such as streams).
`InputStream` `open()` Open current resource.
`void` `remove()` This operation is not supported by `ResourceFinder` & throws `UnsupportedOperationException` when invoked.
`void` `reset()` Reset the `ResourceFinder` instance.

### Methods inherited from interface java.util.Iterator

`forEachRemaining, hasNext, next`

### Method Detail

#### open

    InputStream open()

Open current resource.

Returns:
  input stream from which current resource can be loaded.

#### close

    void close()

Release allocated/opened resources (such as streams). When the resource finder is closed no other method should be invoked on it.

Specified by:
  `close` in interface `AutoCloseable`
Since:
  2.19

#### reset

    void reset()

Reset the `ResourceFinder` instance.

Upon calling this method the implementing class MUST reset its internal state to the initial state.

#### remove

    void remove()

This operation is not supported by `ResourceFinder` & throws `UnsupportedOperationException` when invoked.

Specified by:
  `remove` in interface `Iterator<String>`