com.pivotal.gemfirexd.internal.client

## Class ClientDataSourceFactory

- java.lang.Object
- - com.pivotal.gemfirexd.internal.client.ClientDataSourceFactory

All Implemented Interfaces:
  ObjectFactory

    public class ClientDataSourceFactory
    extends Object
    implements ObjectFactory

The data source factory for Derby client driver data sources.

This factory reconstructs a Derby data source object when it is retrieved from JNDI. References are needed since many naming services don't have the ability to store Java objects in their serialized form. When a data source object is bound in this type of naming service the `Reference` for that object is actually stored by the JNDI implementation, not the data source object itself.

A JNDI administrator is responsible for making sure that both the object factory and data source implementation classes provided by a JDBC driver vendor are accessible to the JNDI service provider at runtime.

An object factory implements the `ObjectFactory` interface. This interface contains a single method, `getObjectInstance` which is called by a JNDI service provider to reconstruct an object when that object is retrieved from JNDI. A JDBC driver vendor should provide an object factory as part of their JDBC 2.0 product.

See Also:
  `ClientDataSource`, `ClientConnectionPoolDataSource`, `ClientXADataSource`

### Constructor Summary

Constructors
Constructor and Description
`ClientDataSourceFactory()`

### Method Summary

Methods
`Object` `getObjectInstance(Object refObj, Name name, Context nameContext, Hashtable environment)` Reconstructs a Derby client-driver data source object from a JNDI data source reference.

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

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

### Constructor Detail

#### ClientDataSourceFactory

    public ClientDataSourceFactory()

### Method Detail

#### getObjectInstance

    public Object getObjectInstance(Object refObj,
                           Name name,
                           Context nameContext,
                           Hashtable environment)
                             throws Exception

Reconstructs a Derby client-driver data source object from a JNDI data source reference.

The `getObjectInstance` method is passed a reference that corresponds to the object being retrieved as its first parameter. The other parameters are optional in the case of JDBC data source objects. The object factory should use the information contained in the reference to reconstruct the data source. If for some reason, a data source object cannot be reconstructed from the reference, a value of `null` may be returned. This allows other object factories that may be registered in JNDI to be tried. If an exception is thrown then no other object factories are tried.

Specified by:
  `getObjectInstance` in interface `ObjectFactory`
Parameters:
  `refObj` - the possibly `null` object containing location or reference information that can be used in creating an object
  `name` - the name of this object relative to `nameContext`, or `null` if no name is specified
  `nameContext` - context relative to which the name parameter is specified, or `null` if name is relative to the default initial context.
  `environment` - possibly `null` environment that is used in creating the object.
Returns:
  Object created, or `null` if no attempt to create the object is made.
Throws:
  `Exception` - if recreating the object fails