Package org.springframework.jdbc.datasource.lookup

# Class MapDataSourceLookup

java.lang.Object
org.springframework.jdbc.datasource.lookup.MapDataSourceLookup

All Implemented Interfaces:
  `DataSourceLookup`

public class MapDataSourceLookup extends Object implements DataSourceLookup
Simple `DataSourceLookup` implementation that relies on a map for doing lookups.

Useful for testing environments or applications that need to match arbitrary `String` names to target `DataSource` objects.

Since:
  2.0
Author:
  Costin Leau, Juergen Hoeller, Rick Evans

## Constructor Summary

Constructors
Constructor
Description
`MapDataSourceLookup()`
Create a new instance of the `MapDataSourceLookup` class.
`MapDataSourceLookup(String dataSourceName, DataSource dataSource)`
Create a new instance of the `MapDataSourceLookup` class.
`MapDataSourceLookup(Map<String,DataSource> dataSources)`
Create a new instance of the `MapDataSourceLookup` class.

## Method Summary

Modifier and Type
Method
Description
`void`
`addDataSource(String dataSourceName, DataSource dataSource)`
Add the supplied `DataSource` to the map of `DataSources` maintained by this object.
`DataSource`
`getDataSource(String dataSourceName)`
Retrieve the DataSource identified by the given name.
`Map<String,DataSource>`
`getDataSources()`
Get the `Map` of `DataSources` maintained by this object.
`void`
`setDataSources(Map<String,DataSource> dataSources)`
Set the `Map` of `DataSources`; the keys are `Strings`, the values are actual `DataSource` instances.

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

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

## Constructor Details

### MapDataSourceLookup

public MapDataSourceLookup()
Create a new instance of the `MapDataSourceLookup` class.

### MapDataSourceLookup

public MapDataSourceLookup(Map<String,DataSource> dataSources)
Create a new instance of the `MapDataSourceLookup` class.

Parameters:
  `dataSources` - the `Map` of `DataSources`; the keys are `Strings`, the values are actual `DataSource` instances.

### MapDataSourceLookup

public MapDataSourceLookup(String dataSourceName, DataSource dataSource)
Create a new instance of the `MapDataSourceLookup` class.

Parameters:
  `dataSourceName` - the name under which the supplied `DataSource` is to be added
  `dataSource` - the `DataSource` to be added

## Method Details

### setDataSources

public void setDataSources(@Nullable Map<String,DataSource> dataSources)
Set the `Map` of `DataSources`; the keys are `Strings`, the values are actual `DataSource` instances.

If the supplied `Map` is `null`, then this method call effectively has no effect.

Parameters:
  `dataSources` - said `Map` of `DataSources`

### getDataSources

public Map<String,DataSource> getDataSources()
Get the `Map` of `DataSources` maintained by this object.

The returned `Map` is `unmodifiable`.

Returns:
  said `Map` of `DataSources` (never `null`)

### addDataSource

public void addDataSource(String dataSourceName, DataSource dataSource)
Add the supplied `DataSource` to the map of `DataSources` maintained by this object.

Parameters:
  `dataSourceName` - the name under which the supplied `DataSource` is to be added
  `dataSource` - the `DataSource` to be so added

### getDataSource

public DataSource getDataSource(String dataSourceName) throws DataSourceLookupFailureException
Description copied from interface: `DataSourceLookup`
Retrieve the DataSource identified by the given name.

Specified by:
  `getDataSource` in interface `DataSourceLookup`
Parameters:
  `dataSourceName` - the name of the DataSource
Returns:
  the DataSource (never `null`)
Throws:
  `DataSourceLookupFailureException` - if the lookup failed