# DataSourceCompositeResolver (Apache Commons Email 1.5 API)

org.apache.commons.mail.resolver

## Class DataSourceCompositeResolver

- java.lang.Object
- - org.apache.commons.mail.resolver.DataSourceBaseResolver
  - - org.apache.commons.mail.resolver.DataSourceCompositeResolver

All Implemented Interfaces:
  DataSourceResolver

    public class DataSourceCompositeResolver
    extends DataSourceBaseResolver

A composite data source resolver. It allows to resolve data sources coming from multiple locations such as the classpath, the file system or an URL.

Since:
  1.3

### Constructor Summary

Constructors
Constructor and Description
`DataSourceCompositeResolver(DataSourceResolver[] dataSourceResolvers)` Constructor.
`DataSourceCompositeResolver(DataSourceResolver[] dataSourceResolvers, boolean isLenient)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`DataSourceResolver[]` `getDataSourceResolvers()` Get the underlying data source resolvers.
`DataSource` `resolve(String resourceLocation)` Resolves the given resource location to a `DataSource`.
`DataSource` `resolve(String resourceLocation, boolean isLenient)` Resolves the given resource location to a `DataSource`.

### Methods inherited from class org.apache.commons.mail.resolver.DataSourceBaseResolver

`isCid, isFileUrl, isHttpUrl, isLenient`

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

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

### Constructor Detail

#### DataSourceCompositeResolver

    public DataSourceCompositeResolver(DataSourceResolver[] dataSourceResolvers)

Constructor.

Parameters:
  `dataSourceResolvers` - a list of of resolvers being used

#### DataSourceCompositeResolver

    public DataSourceCompositeResolver(DataSourceResolver[] dataSourceResolvers,
                                       boolean isLenient)

Constructor.

Parameters:
  `dataSourceResolvers` - a list of of resolvers being used
  `isLenient` - shall we ignore resources not found or throw an exception?

### Method Detail

#### getDataSourceResolvers

    public DataSourceResolver[] getDataSourceResolvers()

Get the underlying data source resolvers.

Returns:
  underlying data source resolvers

#### resolve

    public DataSource resolve(String resourceLocation)
                       throws IOException

Resolves the given resource location to a `DataSource`.

Parameters:
  `resourceLocation` - the location of the resource
Returns:
  the `DataSource`
Throws:
  `IOException` - the resource was not found

#### resolve

    public DataSource resolve(String resourceLocation,
                              boolean isLenient)
                       throws IOException

Resolves the given resource location to a `DataSource`.

Parameters:
  `resourceLocation` - the location of the resource
  `isLenient` - shall we ignore resources not found or complain with an exception?
Returns:
  the data source containing the resource or null if the resource was not found in lenient mode
Throws:
  `IOException` - resolving the resource failed