ソースを参照

enjoy 开启静态方法/字段表达式

James 1 年間 前
コミット
a9c0ec6be4

+ 19 - 17
src/main/java/com/jfinal/plugin/activerecord/generator/MappingKitGenerator.java

@@ -29,76 +29,78 @@ import com.jfinal.template.Engine;
  * MappingKit 文件生成器
  */
 public class MappingKitGenerator {
-	
+
 	protected Engine engine;
 	protected String template = "/com/jfinal/plugin/activerecord/generator/mapping_kit_template.jf";
-	
+
 	protected String mappingKitPackageName;
 	protected String mappingKitOutputDir;
 	protected String mappingKitClassName = "_MappingKit";
-	
+
 	public MappingKitGenerator(String mappingKitPackageName, String mappingKitOutputDir) {
 		this.mappingKitPackageName = mappingKitPackageName;
 		this.mappingKitOutputDir = mappingKitOutputDir;
-		
+
 		initEngine();
 	}
-	
+
 	protected void initEngine() {
 		engine = new Engine();
 		engine.setToClassPathSourceFactory();
 		engine.addSharedMethod(new StrKit());
+		engine.setStaticFieldExpression(true);
+		engine.setStaticMethodExpression(true);
 	}
-	
+
 	/**
 	 * 使用自定义模板生成 MappingKit
 	 */
 	public void setTemplate(String template) {
 		this.template = template;
 	}
-	
+
 	public void setMappingKitOutputDir(String mappingKitOutputDir) {
 		if (StrKit.notBlank(mappingKitOutputDir)) {
 			this.mappingKitOutputDir = mappingKitOutputDir;
 		}
 	}
-	
+
 	public String getMappingKitOutputDir() {
 		return mappingKitOutputDir;
 	}
-	
+
 	public void setMappingKitPackageName(String mappingKitPackageName) {
 		if (StrKit.notBlank(mappingKitPackageName)) {
 			this.mappingKitPackageName = mappingKitPackageName;
 		}
 	}
-	
+
 	public String getMappingKitPackageName() {
 		return mappingKitPackageName;
 	}
-	
+
 	public void setMappingKitClassName(String mappingKitClassName) {
 		if (StrKit.notBlank(mappingKitClassName)) {
 			this.mappingKitClassName = StrKit.firstCharToUpperCase(mappingKitClassName);
 		}
 	}
-	
+
 	public String getMappingKitClassName() {
 		return mappingKitClassName;
 	}
-	
+
 	public void generate(List<TableMeta> tableMetas) {
 		System.out.println("Generate MappingKit file ...");
 		System.out.println("MappingKit Output Dir: " + mappingKitOutputDir);
-		
+
 		Kv data = Kv.by("mappingKitPackageName", mappingKitPackageName);
 		data.set("mappingKitClassName", mappingKitClassName);
 		data.set("tableMetas", tableMetas);
-		
+
 		String ret = engine.getTemplate(template).renderToString(data);
 		writeToFile(ret);
 	}
-	
+
 	/**
 	 * _MappingKit.java 覆盖写入
 	 */
@@ -107,7 +109,7 @@ public class MappingKitGenerator {
 		if (!dir.exists()) {
 			dir.mkdirs();
 		}
-		
+
 		String target = mappingKitOutputDir + File.separator + mappingKitClassName + ".java";
 		try (OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(target), "UTF-8")) {
 			osw.write(ret);