Package 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
  Description
  `DataSourceCompositeResolver(DataSourceResolver[] dataSourceResolvers)`
  Constructs a new instance.
  `DataSourceCompositeResolver(DataSourceResolver[] dataSourceResolvers, boolean isLenient)`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DataSourceResolver[]`
  `getDataSourceResolvers()`
  Gets 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 Details

  - ### DataSourceCompositeResolver

    public DataSourceCompositeResolver(DataSourceResolver[] dataSourceResolvers)
    Constructs a new instance.
    Parameters:
      `dataSourceResolvers` - a list of resolvers being used

  - ### DataSourceCompositeResolver

    public DataSourceCompositeResolver(DataSourceResolver[] dataSourceResolvers, boolean isLenient)
    Constructs a new instance.
    Parameters:
      `dataSourceResolvers` - a list of resolvers being used
      `isLenient` - shall we ignore resources not found or throw an exception?

- ## Method Details

  - ### getDataSourceResolvers

    public DataSourceResolver[] getDataSourceResolvers()
    Gets 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