mondrian.spi
Class DialectManager

java.lang.Object
  extended by mondrian.spi.DialectManager

public abstract class DialectManager
extends java.lang.Object

Manages Dialect and DialectFactory objects.

Since:
Jan 13, 2009
Version:
$Id: //open/mondrian/src/main/mondrian/spi/DialectManager.java#4 $
Author:
jhyde

Nested Class Summary
(package private) static class DialectManager.CachingDialectFactory
          Implementation of DialectFactory that caches dialects based on data source.
(package private) static class DialectManager.ChainDialectFactory
          Implementation of DialectFactory that tries to create a Dialect using a succession of underlying factories.
(package private) static class DialectManager.ConstructorDialectFactory
          Implementation of DialectFactory that calls a class's public <init>(Connection connection) constructor.
 
Method Summary
static Dialect createDialect(javax.sql.DataSource dataSource, java.sql.Connection connection)
          Creates a Dialect from a JDBC connection.
(package private) static DialectFactory createFactoryForDialect(java.lang.Class<? extends Dialect> dialectClass)
          Creates a factory that calls a public constructor of a dialect class.
static void register(java.lang.Class<? extends Dialect> dialectClass)
          Registers a Dialect class.
static void register(DialectFactory factory)
          Registers a DialectFactory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

register

public static void register(DialectFactory factory)
Registers a DialectFactory.

Parameters:
factory - Dialect factory

register

public static void register(java.lang.Class<? extends Dialect> dialectClass)
Registers a Dialect class.

Parameters:
dialectClass - Dialect class

createDialect

public static Dialect createDialect(javax.sql.DataSource dataSource,
                                    java.sql.Connection connection)
Creates a Dialect from a JDBC connection.

If the dialect cannot handle this connection, throws. Never returns null.

Parameters:
dataSource - Data source
connection - JDBC connection
Returns:
dialect for this connection
Throws:
java.lang.RuntimeException - if underlying systems give an error, or if cannot create dialect

createFactoryForDialect

static DialectFactory createFactoryForDialect(java.lang.Class<? extends Dialect> dialectClass)
Creates a factory that calls a public constructor of a dialect class.

Parameters:
dialectClass - Dialect class
Returns:
Factory, or null if the class has no suitable constructor.

Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads