/*
// $Id: //open/mondrian-release/3.2/src/main/mondrian/olap4j/FactoryJdbc3Impl.java#1 $
// This software is subject to the terms of the Eclipse Public License v1.0
// Agreement, available at the following URL:
// http://www.eclipse.org/legal/epl-v10.html.
// Copyright (C) 2007-2009 Julian Hyde
// All Rights Reserved.
// You must accept the terms of that agreement to use this software.
*/
package mondrian.olap4j;
import mondrian.olap.Query;
import java.sql.*;
import java.util.*;
/**
* Implementation of {@link mondrian.olap4j.Factory} for JDBC 3.0.
*
* @author jhyde
* @version $Id: //open/mondrian-release/3.2/src/main/mondrian/olap4j/FactoryJdbc3Impl.java#1 $
* @since Jun 14, 2007
*/
class FactoryJdbc3Impl implements Factory {
public Connection newConnection(
MondrianOlap4jDriver driver,
String url,
Properties info)
throws SQLException
{
return new MondrianOlap4jConnectionJdbc3(driver, url, info);
}
public EmptyResultSet newEmptyResultSet(
MondrianOlap4jConnection olap4jConnection)
{
List<String> headerList = Collections.emptyList();
List<List<Object>> rowList = Collections.emptyList();
return new EmptyResultSetJdbc3(
olap4jConnection, headerList, rowList);
}
public ResultSet newFixedResultSet(
MondrianOlap4jConnection olap4jConnection,
List<String> headerList,
List<List<Object>> rowList)
{
return new EmptyResultSetJdbc3(
olap4jConnection, headerList, rowList);
}
public MondrianOlap4jCellSet newCellSet(
MondrianOlap4jStatement olap4jStatement,
Query query)
{
return new MondrianOlap4jCellSetJdbc3(olap4jStatement, query);
}
public MondrianOlap4jPreparedStatement newPreparedStatement(
String mdx,
MondrianOlap4jConnection olap4jConnection)
{
return new MondrianOlap4jPreparedStatementJdbc3(olap4jConnection, mdx);
}
public MondrianOlap4jDatabaseMetaData newDatabaseMetaData(
MondrianOlap4jConnection olap4jConnection)
{
return new MondrianOlap4jDatabaseMetaDataJdbc3(olap4jConnection);
}
// Inner classes
private static class MondrianOlap4jPreparedStatementJdbc3
extends MondrianOlap4jPreparedStatement
{
public MondrianOlap4jPreparedStatementJdbc3(
MondrianOlap4jConnection olap4jConnection,
String mdx)
{
super(olap4jConnection, mdx);
}
}
private static class MondrianOlap4jCellSetJdbc3
extends MondrianOlap4jCellSet
{
public MondrianOlap4jCellSetJdbc3(
MondrianOlap4jStatement olap4jStatement, Query query)
{
super(olap4jStatement, query);
}
}
private static class EmptyResultSetJdbc3 extends EmptyResultSet {
public EmptyResultSetJdbc3(
MondrianOlap4jConnection olap4jConnection,
List<String> headerList,
List<List<Object>> rowList)
{
super(olap4jConnection, headerList, rowList);
}
}
private class MondrianOlap4jConnectionJdbc3
extends MondrianOlap4jConnection
{
public MondrianOlap4jConnectionJdbc3(
MondrianOlap4jDriver driver,
String url,
Properties info) throws SQLException
{
super(FactoryJdbc3Impl.this, driver, url, info);
}
}
private static class MondrianOlap4jDatabaseMetaDataJdbc3
extends MondrianOlap4jDatabaseMetaData
{
public MondrianOlap4jDatabaseMetaDataJdbc3(
MondrianOlap4jConnection olap4jConnection)
{
super(olap4jConnection);
}
}
}
// End FactoryJdbc3Impl.java
|