package am.ik.categolj2.core.message; import java.io.*; import java.nio.file.Files; import java.util.regex.Pattern; public class MessageKeysGen { public static void main(String[] args) throws IOException { // message properties file InputStream inputStream = new FileInputStream("backend-api/src/main/resources/messages.properties"); Class<?> targetClazz = MessageKeys.class; File output = new File("backend-api/src/main/java/" + targetClazz.getName().replaceAll(Pattern.quote("."), "/") + ".java"); System.out.println("write " + output.getAbsolutePath()); try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream)); PrintWriter pw = new PrintWriter(Files.newOutputStream(output.toPath()))) { pw.println("package " + targetClazz.getPackage().getName() + ";"); pw.println("/**"); pw.println(" * Message Id"); pw.println(" */"); pw.println("public class " + targetClazz.getSimpleName() + " {"); String line; while ((line = br.readLine()) != null) { String[] vals = line.split("=", 2); if (vals.length > 1) { String key = vals[0].trim(); String value = vals[1].trim(); pw.println(" /** " + key + "=" + value + " */"); pw.println(" public static final String " + key.toUpperCase().replaceAll(Pattern.quote("."), "_").replaceAll(Pattern.quote("-"), "_") + " = \"" + key + "\";"); } } pw.println("}"); pw.flush(); } } }