Package mondrian.spi
Class DialectManager
- java.lang.Object
-
- mondrian.spi.DialectManager
-
public abstract class DialectManager extends Object
ManagesDialect
andDialectFactory
objects.- Since:
- Jan 13, 2009
- Author:
- jhyde
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
DialectManager.CachingDialectFactory
Implementation ofDialectFactory
that caches dialects based on data source.(package private) static class
DialectManager.ChainDialectFactory
Implementation ofDialectFactory
that tries to create a Dialect using a succession of underlying factories.(package private) static class
DialectManager.ConstructorDialectFactory
Implementation ofDialectFactory
that calls a class'spublic <init>(Connection connection)
constructor.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Dialect
createDialect(DataSource dataSource, Connection connection)
Creates a Dialect from a JDBC connection.static Dialect
createDialect(DataSource dataSource, Connection connection, String dialectClassName)
Creates a Dialect from a JDBC connection, optionally specifying the name of the dialect class.(package private) static DialectFactory
createFactoryForDialect(Class<? extends Dialect> dialectClass)
Creates a factory that calls a public constructor of a dialect class.static void
register(Class<? extends Dialect> dialectClass)
Registers a Dialect class.static void
register(DialectFactory factory)
Registers a DialectFactory.
-
-
-
Method Detail
-
register
public static void register(DialectFactory factory)
Registers a DialectFactory.- Parameters:
factory
- Dialect factory
-
register
public static void register(Class<? extends Dialect> dialectClass)
Registers a Dialect class.- Parameters:
dialectClass
- Dialect class
-
createDialect
public static Dialect createDialect(DataSource dataSource, Connection connection)
Creates a Dialect from a JDBC connection.If the dialect cannot handle this connection, throws. Never returns null.
- Parameters:
dataSource
- Data sourceconnection
- JDBC connection- Returns:
- dialect for this connection
- Throws:
RuntimeException
- if underlying systems give an error, or if cannot create dialect
-
createDialect
public static Dialect createDialect(DataSource dataSource, Connection connection, String dialectClassName)
Creates a Dialect from a JDBC connection, optionally specifying the name of the dialect class.If the dialect cannot handle this connection, throws. Never returns null.
- Parameters:
dataSource
- Data sourceconnection
- JDBC connectiondialectClassName
- Name of class that implementsDialect
, or null- Returns:
- dialect for this connection
- Throws:
RuntimeException
- if underlying systems give an error, or if cannot create dialect
-
createFactoryForDialect
static DialectFactory createFactoryForDialect(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.
-
-