001package cn.mybatis.mp.generator.template; 002 003import cn.mybatis.mp.generator.config.GeneratorConfig; 004import cn.mybatis.mp.generator.database.meta.EntityInfo; 005 006import java.time.LocalDate; 007import java.util.HashMap; 008import java.util.Map; 009 010public class MapperXmlTemplateBuilder extends AbstractTemplateBuilder { 011 012 public MapperXmlTemplateBuilder(GeneratorConfig generatorConfig, EntityInfo entityInfo) { 013 super(generatorConfig, entityInfo); 014 } 015 016 @Override 017 public boolean enable() { 018 return generatorConfig.getMapperXmlConfig().isEnable(); 019 } 020 021 @Override 022 public String targetFilePath() { 023 return generatorConfig.getBaseFilePath() + "/" + (generatorConfig.getMapperXmlConfig().getPackageName() + "." + entityInfo.getName() + generatorConfig.getMapperXmlConfig().getSuffix()).replaceAll("\\.", "/") + ".xml"; 024 } 025 026 @Override 027 public String templateFilePath() { 028 return generatorConfig.getTemplateRootPath() + "/mapper.xml"; 029 } 030 031 @Override 032 public Map<String, Object> contextData() { 033 Map<String, Object> data = new HashMap<>(); 034 data.put("date", LocalDate.now().toString()); 035 data.put("author", generatorConfig.getAuthor()); 036 data.put("entityInfo", entityInfo); 037 data.put("mapperConfig", generatorConfig.getMapperConfig()); 038 data.put("mapperXmlConfig", generatorConfig.getMapperXmlConfig()); 039 return data; 040 } 041}