113 lines
3.2 KiB
Java
113 lines
3.2 KiB
Java
package com.dbgen;
|
|
|
|
import java.io.PrintStream;
|
|
|
|
class MethodVarSetter implements Visitor {
|
|
|
|
static void make(Variable var, PrintStream ps, String prefix) {
|
|
var.getType().accept(new MethodVarSetter(var, ps, prefix));
|
|
}
|
|
|
|
private Variable var;
|
|
private PrintStream ps;
|
|
private String prefix;
|
|
private String varname;
|
|
private String this_varname;
|
|
private String Varname;
|
|
|
|
private MethodVarSetter(Variable var, PrintStream ps, String prefix) {
|
|
this.var = var;
|
|
this.ps = ps;
|
|
this.prefix = prefix;
|
|
this.varname = var.getName();
|
|
this.this_varname = "this." + this.varname;
|
|
this.Varname = StringUtils.upper1(varname);
|
|
}
|
|
|
|
|
|
@Override
|
|
public void visit(Jbean type) {
|
|
simple2(type.getLastName());
|
|
}
|
|
|
|
@Override
|
|
public void visit(TypeString type) {
|
|
simple("String", true);
|
|
}
|
|
|
|
|
|
private void simple(String typename) {
|
|
simple(typename, false);
|
|
}
|
|
|
|
private void simple(String typename, boolean checknull) {
|
|
ps.println(prefix + "public void set" + Varname + "(" + typename + " "+varname.toLowerCase()+") { " + var.getComment());
|
|
ps.println(prefix + " updateString(" + StringUtils.quote(varname) + "," +varname.toLowerCase() + ");");
|
|
ps.println(prefix + " " + this_varname + " = "+varname.toLowerCase()+";");
|
|
ps.println(prefix + "}");
|
|
ps.println("");
|
|
}
|
|
|
|
private void simple2(String typename) {
|
|
ps.println(prefix + "public void set" + Varname + "(" + typename + " "+varname.toLowerCase()+") { " + var.getComment());
|
|
ps.println(prefix + " updateString(" + StringUtils.quote(varname) + "," +varname.toLowerCase() + ");");
|
|
ps.println(prefix + " "+varname.toLowerCase() + ".init(getRootId(),getMongoKey()+ "+StringUtils.quotepot(varname)+");");
|
|
ps.println(prefix + " " + this_varname + " = "+varname.toLowerCase()+";");
|
|
ps.println(prefix + "}");
|
|
ps.println("");
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public void visit(TypeBoolean type) {
|
|
simple("boolean");
|
|
}
|
|
|
|
@Override
|
|
public void visit(TypeShort type) {
|
|
simple("short");
|
|
}
|
|
|
|
@Override
|
|
public void visit(TypeInt type) {
|
|
simple("int");
|
|
}
|
|
|
|
@Override
|
|
public void visit(TypeLong type) {
|
|
simple("long");
|
|
}
|
|
|
|
@Override
|
|
public void visit(TypeFloat type) {
|
|
simple("float");
|
|
}
|
|
|
|
@Override
|
|
public void visit(TypeDouble type) {
|
|
simple("double");
|
|
}
|
|
|
|
@Override
|
|
public void visit(TypeList type) {
|
|
// unsupported
|
|
}
|
|
|
|
@Override
|
|
public void visit(TypeSet type) {
|
|
// unsupported
|
|
}
|
|
|
|
@Override
|
|
public void visit(TypeMap type) {
|
|
// ps.println(prefix + "public void set" + Varname + "(" + typename + " "+varname.toLowerCase()+") { " + var.getComment());
|
|
// ps.println(prefix + " updateString (" + StringUtils.quote(varname).toLowerCase() + "," +varname.toLowerCase() + ");");
|
|
// ps.println(prefix + " "+varname.toLowerCase() + ".init(getRootId(),getMongoKey()+ "+StringUtils.quotepot(varname.toLowerCase())+");");
|
|
// ps.println(prefix + " " + this_varname + " = "+varname.toLowerCase()+";");
|
|
// ps.println(prefix + "}");
|
|
// ps.println("");
|
|
}
|
|
|
|
}
|