Package org.apache.tomcat.util.file

## Interface ConfigurationSource

All Known Implementing Classes:
  `CatalinaBaseConfigurationSource`

    public interface ConfigurationSource

Abstracts configuration file storage. Allows Tomcat embedding using the regular configuration style. This abstraction aims to be very simple and does not cover resource listing, which is usually used for dynamic deployments that are usually not used when embedding, as well as resource writing.

### Nested Class Summary

Nested Classes
`static class` `ConfigurationSource.Resource` Represents a resource: a stream to the resource associated with its URI.

### Field Summary

Fields
`static ConfigurationSource` `DEFAULT`

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`default ConfigurationSource.Resource` `getConfResource​(java.lang.String name)` Get a resource, based on the conf path.
`ConfigurationSource.Resource` `getResource​(java.lang.String name)` Get a resource, not based on the conf path.
`default ConfigurationSource.Resource` `getServerXml()` Returns the contents of the main conf/server.xml file.
`default ConfigurationSource.Resource` `getSharedWebXml()` Returns the contents of the shared conf/web.xml file.
`java.net.URI` `getURI​(java.lang.String name)` Get a URI to the given resource.

### Field Detail

#### DEFAULT

    static final ConfigurationSource DEFAULT

### Method Detail

#### getServerXml

    default ConfigurationSource.Resource getServerXml()
                                               throws java.io.IOException

Returns the contents of the main conf/server.xml file.

Returns:
  the server.xml as an InputStream
Throws:
  `java.io.IOException` - if an error occurs or if the resource does not exist

#### getSharedWebXml

    default ConfigurationSource.Resource getSharedWebXml()
                                                  throws java.io.IOException

Returns the contents of the shared conf/web.xml file. This usually contains the declaration of the default and JSP servlets.

Returns:
  the web.xml as an InputStream
Throws:
  `java.io.IOException` - if an error occurs or if the resource does not exist

#### getConfResource

    default ConfigurationSource.Resource getConfResource​(java.lang.String name)
                                                  throws java.io.IOException

Get a resource, based on the conf path.

Parameters:
  `name` - The resource name
Returns:
  the resource as an InputStream
Throws:
  `java.io.IOException` - if an error occurs or if the resource does not exist

#### getResource

    ConfigurationSource.Resource getResource​(java.lang.String name)
                                      throws java.io.IOException

Get a resource, not based on the conf path.

Parameters:
  `name` - The resource name
Returns:
  the resource
Throws:
  `java.io.IOException` - if an error occurs or if the resource does not exist

#### getURI

    java.net.URI getURI​(java.lang.String name)

Get a URI to the given resource. Unlike getResource, this will also return URIs to locations where no resource exists.

Parameters:
  `name` - The resource name
Returns:
  a URI representing the resource location