org.apache.naming.factory

## Class DataSourceLinkFactory

- java.lang.Object
- - org.apache.naming.factory.ResourceLinkFactory
  - - org.apache.naming.factory.DataSourceLinkFactory

All Implemented Interfaces:
  ObjectFactory

    public class DataSourceLinkFactory
    extends ResourceLinkFactory

Object factory for resource links for shared data sources.

Author:
  Filip Hanik

### Nested Class Summary

Nested Classes
`static class` `DataSourceLinkFactory.DataSourceHandler` Simple wrapper class that will allow a user to configure a ResourceLink for a data source so that when `DataSource.getConnection()` is called, it will invoke `DataSource.getConnection(String, String)` with the preconfigured username and password.

### Constructor Summary

Constructors
Constructor and Description
`DataSourceLinkFactory()`

### Method Summary

Methods
`Object` `getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment)` Create a new DataSource instance.
`static void` `setGlobalContext(Context newGlobalContext)`
`protected Object` `wrapDataSource(Object datasource, String username, String password)`

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

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

### Constructor Detail

#### DataSourceLinkFactory

    public DataSourceLinkFactory()

### Method Detail

#### setGlobalContext

    public static void setGlobalContext(Context newGlobalContext)

#### getObjectInstance

    public Object getObjectInstance(Object obj,
                           Name name,
                           Context nameCtx,
                           Hashtable<?,?> environment)
                             throws NamingException

Create a new DataSource instance.

Specified by:
  `getObjectInstance` in interface `ObjectFactory`
Overrides:
  `getObjectInstance` in class `ResourceLinkFactory`
Parameters:
  `obj` - The reference object describing the DataSource
Throws:
  `NamingException`

#### wrapDataSource

    protected Object wrapDataSource(Object datasource,
                        String username,
                        String password)
                             throws NamingException

Throws:
  `NamingException`