package com.dbgen; import java.io.PrintStream; import java.util.List; class JbeanFormatter { public static void make(Jbean jbean) { try (PrintStream ps = Ldbgen.openJBeanFile(jbean.getName())) { new JbeanFormatter(jbean, ps).make(); } } private final Jbean xbean; private final PrintStream ps; private final List variables; private JbeanFormatter(Jbean xbean, PrintStream ps) { this.xbean = xbean; this.ps = ps; this.variables = xbean.getVariables(); } private void make() { String cls = xbean.getName(); ps.println("package com.ljsd.jieling.jbean;"); ps.println(); ps.println("import com.ljsd.common.mogodb.MongoBase;"); ps.println("import java.util.Map;"); ps.println("import java.util.HashMap;"); ps.println("import java.util.Set;"); ps.println("import java.util.HashSet;"); ps.println("import java.util.List;"); ps.println("import java.util.LinkedList;"); ps.println("import org.springframework.data.annotation.Transient;"); ps.println("import com.ljsd.common.mogodb.dblog.*;"); ps.println(); ps.println("public final class " + cls + " extends MongoBase " + " {"); ClassDeclare.make(variables,ps, " "); //variables.forEach(var -> ClassDeclare.make(var, ClassDeclare.Type.PRIVATE, ps, " ")); ps.println(); ps.println(" public " + cls + "() {"); ps.println(" }"); ps.println(); ps.println(); ps.println(" public " + cls + "(" + cls + " _o_ ) {"); variables.forEach(var -> VarDeepCopy.make(var, ps, " ")); ps.println(" }"); ps.println(); // // ps.println(" public void copyFrom(" + cls + " _o_) {"); // variables.forEach(var -> VarCopyFrom.make(var, ps, " ")); // ps.println(" }"); // ps.println(); //MethodSetMongoKey.make(variables, ps, " "); // getter setter variables.forEach(var -> MethodVarGetter.make(var, ps, " ")); variables.forEach(var -> MethodVarSetter.make(var, ps, " ")); ps.println(); Trace.make(xbean, ps, " "); ps.println("}"); } }