/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.framework.jdbc.dialect;
import javax.sql.DataSource;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
/**
* This class implements the dialect factory.
*/
public final class DialectFactory
implements FactoryBean<Dialect>, InitializingBean
{
private final DialectResolver resolver;
private Dialect dialect;
public DialectFactory()
{
this.resolver = new DialectResolver();
}
public void setDialectName(final String dialectName)
{
this.resolver.setDialectName(dialectName);
}
public void setDataSource(final DataSource dataSource)
{
this.resolver.setDataSource(dataSource);
}
public void afterPropertiesSet()
{
this.dialect = this.resolver.resolveDialect();
}
public Dialect getObject()
{
return this.dialect;
}
public Class getObjectType()
{
return Dialect.class;
}
public boolean isSingleton()
{
return true;
}
}