# 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
Modifier and Type
Interface
Description
`static class`
`ConfigurationSource.Resource`
Represents a resource: a stream to the resource associated with its URI.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final ConfigurationSource`
`DEFAULT`
The default implementation that resolves resources relative to the current working directory.

## Method Summary

Modifier and Type
Method
Description
`default ConfigurationSource.Resource`
`getConfResource(String name)`
Get a resource, based on the conf path.
`ConfigurationSource.Resource`
`getResource(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.
`URI`
`getURI(String name)`
Get a URI to the given resource.

## Field Details

### DEFAULT

static final ConfigurationSource DEFAULT
The default implementation that resolves resources relative to the current working directory.

## Method Details

### getServerXml

default ConfigurationSource.Resource getServerXml() throws IOException
Returns the contents of the main conf/server.xml file.

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

### getSharedWebXml

default ConfigurationSource.Resource getSharedWebXml() throws 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:
  `IOException` - if an error occurs or if the resource does not exist

### getConfResource

default ConfigurationSource.Resource getConfResource(String name) throws IOException
Get a resource, based on the conf path.

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

### getResource

ConfigurationSource.Resource getResource(String name) throws IOException
Get a resource, not based on the conf path.

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

### getURI

URI getURI(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