/**
*
*/
package org.minnal.generator.core;
import java.io.File;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.javalite.common.Inflector;
import org.minnal.generator.CommandGenerateModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author ganeshs
*
*/
public class ModelGenerator extends AbstractTemplateGenerator {
private CommandGenerateModel model;
private static Template createModelTemplate = engine.getTemplate("META-INF/templates/create_model.vm");
private static final Logger logger = LoggerFactory.getLogger(ModelGenerator.class);
/**
* @param model
*/
public ModelGenerator(CommandGenerateModel model) {
super(new File(model.getProjectDir()));
this.model = model;
}
@Override
public void init() {
super.init();
}
@Override
public void generate() {
logger.info("Generating the model class {} under the package {}", model.getName(), getDomainPackage());
VelocityContext context = new VelocityContext();
context.put("inflector", Inflector.class);
context.put("model", model);
context.put("packageName", getDomainPackage());
writeFile(createModelTemplate, context, new File(createPackage(getDomainPackage()), model.getName() + ".java"));
}
}