Package mondrian.spi.impl
Class JdbcDialectFactory
- java.lang.Object
-
- mondrian.spi.impl.JdbcDialectFactory
-
- All Implemented Interfaces:
DialectFactory
public class JdbcDialectFactory extends Object implements DialectFactory
Implementation ofDialectFactoryfor subclasses ofJdbcDialectImpl.Assumes that the dialect has a public constructor that takes a
Connectionas a parameter.
-
-
Constructor Summary
Constructors Constructor Description JdbcDialectFactory(Class<? extends JdbcDialectImpl> dialectClass, Dialect.DatabaseProduct databaseProduct)Creates a JdbcDialectFactory.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanacceptsConnection(Connection connection)Returns whether this dialect is suitable for the given connection.DialectcreateDialect(DataSource dataSource, Connection connection)Creates a Dialect.static DialectcreateDialectHelper(DialectFactory factory, DataSource dataSource)Creates a temporary connection and callsDialectFactory.createDialect(javax.sql.DataSource, java.sql.Connection).
-
-
-
Constructor Detail
-
JdbcDialectFactory
public JdbcDialectFactory(Class<? extends JdbcDialectImpl> dialectClass, Dialect.DatabaseProduct databaseProduct)
Creates a JdbcDialectFactory.- Parameters:
dialectClass- Dialect classdatabaseProduct- Database type (e.g. Oracle) if this is a common RDBMS, or null if it is an uncommon one
-
-
Method Detail
-
createDialectHelper
public static Dialect createDialectHelper(DialectFactory factory, DataSource dataSource)
Creates a temporary connection and callsDialectFactory.createDialect(javax.sql.DataSource, java.sql.Connection).Helper method, called when
createDialectis called without aConnectionand the dialect factory cannot create a dialect withDataSourcealone.It is a user error if
dataSourceis null (since this implies thatcreateDialectwas called withdataSourceandconnectionboth null.- Parameters:
factory- Dialect factorydataSource- Data source, must not be null- Returns:
- Dialect, or null if factory cannot create suitable dialect
-
createDialect
public Dialect createDialect(DataSource dataSource, Connection connection)
Description copied from interface:DialectFactoryCreates a Dialect.If the dialect cannot handle this connection, returns null.
- Specified by:
createDialectin interfaceDialectFactory- Parameters:
dataSource- JDBC data sourceconnection- JDBC connection- Returns:
- dialect for this connection, or null if this factory's dialect is not appropriate for the connection
-
acceptsConnection
protected boolean acceptsConnection(Connection connection)
Returns whether this dialect is suitable for the given connection.- Parameters:
connection- Connection- Returns:
- Whether suitable
-
-