/*
* Copyright 2011 cruxframework.org.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.cruxframework.crux.tools.schema;
import java.io.File;
import java.lang.reflect.Constructor;
import org.cruxframework.crux.tools.ToolsConfigurationFactory;
/**
* @author Thiago da Rosa de Bustamante
*
*/
public class CruxSchemaGeneratorFactory
{
public static CruxSchemaGenerator createSchemaGenerator(File projectBaseDir, File destDir, File webDir) throws SchemaGeneratorException
{
Class<?> generatorClass;
try
{
generatorClass = Class.forName(ToolsConfigurationFactory.getConfigurations().schemaGeneratorClass());
Constructor<?> constructor = generatorClass.getConstructor(File.class, File.class, File.class);
CruxSchemaGenerator schemaGenerator = (CruxSchemaGenerator) constructor.newInstance(projectBaseDir, destDir, webDir);
return schemaGenerator;
}
catch (Exception e)
{
throw new SchemaGeneratorException("Error, creating the SchemaGenerator class: "+e.getLocalizedMessage(),e);
}
}
}