The DataObject Plug-In
The simplest type of plug-ins are DataObjects. nevisDataPorter does not specify any special behavior for a DataObject. DataObjects just need to define a name under which their factory will be registered in the implementation repository and a name under which a concrete instance is registered in the instance repository.
The name of the factory is a compile time constant where the name of the concrete instance is taken from the configuration file. The following configuration fragment shows the instantiation of the built-in JDBCConnectionPool. The string "JDBCConnectionPool" is used to select the factory and the string "dataSource" is used to store the instantiated connection pool in the instance repository.
<object type="JDBCConnectionPool" name="dataSource">
<dp:paraVal name="connectionUrl" value="jdbc:oracle:thin:@...."/>
<dp:paraVal name="username" value="devel"/>
<dp:paraVal name="password" value="password"/>
<dp:paraVal name="driver" value="oracle.jdbc.OracleDriver"/>
</object>
Currently DataObjects are used for connection pool implementations (e.g., JDBCConnectionPool or LDAPConnectionPool). They are needed by the corresponding DataSources or DataSinks. This separation allows to share connection pools among different DataSource and DataSink instances.