io.undertow.server.handlers.resource

## Interface ResourceManager

All Superinterfaces:
  AutoCloseable, Closeable

All Known Implementing Classes:
  CachingResourceManager, ClassPathResourceManager, FileResourceManager, PathResourceManager

    public interface ResourceManager
    extends Closeable

Representation of a resource manager. A resource manager knows how to obtain a resource for a given path.

Author:
  Stuart Douglas

### Field Summary

Fields
`static ResourceManager` `EMPTY_RESOURCE_MANAGER`

### Method Summary

All Methods Instance Methods Abstract Methods
`Resource` `getResource(String path)` Returns a resource for the given path.
`boolean` `isResourceChangeListenerSupported()`
`void` `registerResourceChangeListener(ResourceChangeListener listener)` Registers a resource change listener, if the underlying resource manager support it
`void` `removeResourceChangeListener(ResourceChangeListener listener)` Removes a resource change listener

### Methods inherited from interface java.io.Closeable

`close`

### Field Detail

#### EMPTY_RESOURCE_MANAGER

    static final ResourceManager EMPTY_RESOURCE_MANAGER

### Method Detail

#### getResource

    Resource getResource(String path)
                  throws IOException

Returns a resource for the given path. It is the responsibility of the called to make sure that the path in Canonicalised.

Parameters:
  `path` - The path
Returns:
  The resource representing the path, or null if no resource was found.
Throws:
  `IOException`

#### isResourceChangeListenerSupported

    boolean isResourceChangeListenerSupported()

Returns:
  `true` if a resource change listener is supported

#### registerResourceChangeListener

    void registerResourceChangeListener(ResourceChangeListener listener)

Registers a resource change listener, if the underlying resource manager support it

Parameters:
  `listener` - The listener to register
Throws:
  `IllegalArgumentException` - If resource change listeners are not supported

#### removeResourceChangeListener

    void removeResourceChangeListener(ResourceChangeListener listener)

Removes a resource change listener

Parameters:
  `listener` -