src/org/objectweb/cjdbc/driver/DataSourceFactory.java

説明を見る。
00001 00024 package org.objectweb.cjdbc.driver; 00025 00026 import java.util.Hashtable; 00027 00028 import javax.naming.Context; 00029 import javax.naming.Name; 00030 import javax.naming.Reference; 00031 import javax.naming.spi.ObjectFactory; 00032 00041 public class DataSourceFactory implements ObjectFactory 00042 { 00044 protected final String dataSourceClassName = "org.objectweb.cjdbc.driver.DataSource"; 00045 protected final String poolDataSourceName = "org.objectweb.cjdbc.driver.PoolDataSource"; 00046 protected final String xaDataSourceName = "org.objectweb.cjdbc.driver.XADataSource"; 00047 00062 public Object getObjectInstance(Object objRef, Name name, Context nameCtx, 00063 Hashtable env) throws Exception 00064 { 00065 // Check the requested object class 00066 Reference ref = (Reference) objRef; 00067 String className = ref.getClassName(); 00068 if ((className == null) 00069 || !(className.equals(dataSourceClassName) 00070 | className.equals(poolDataSourceName) | className 00071 .equals(xaDataSourceName))) 00072 { 00073 // Wrong class 00074 return null; 00075 } 00076 DataSource ds = null; 00077 try 00078 { 00079 ds = (DataSource) Class.forName(className).newInstance(); 00080 } 00081 catch (Exception e) 00082 { 00083 throw new RuntimeException("Error when creating C-JDBC" + className 00084 + " instance: " + e); 00085 } 00086 00087 ds.setUrl((String) ref.get(DataSource.URL_PROPERTY).getContent()); 00088 ds.setUser((String) ref.get(DataSource.USER_PROPERTY).getContent()); 00089 ds.setPassword((String) ref.get(DataSource.PASSWORD_PROPERTY).getContent()); 00090 return ds; 00091 } 00092 }

CJDBCversion1.0.4に対してTue Oct 12 15:16:05 2004に生成されました。 doxygen 1.3.8