67 lines
1.9 KiB
Java
67 lines
1.9 KiB
Java
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<Variable> 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("}");
|
|
}
|
|
}
|