package com.google.code.joto.value2java.impl; import java.util.ArrayList; import java.util.List; import com.google.code.joto.ast.beanstmt.BeanAST.BeanExpr; import com.google.code.joto.ast.beanstmt.BeanAST.BeanStmt; import com.google.code.joto.ast.beanstmt.BeanAST.VarDeclStmt; import com.google.code.joto.ast.valueholder.ValueHolderAST.AbstractObjectValueHolder; /** * */ public class ObjectStmtInfo { private AbstractObjectValueHolder objectVH; private VarDeclStmt varDeclStmt = new VarDeclStmt(null, null, null); private List<BeanStmt> initStmts = new ArrayList<BeanStmt>(); // ------------------------------------------------------------------------- public ObjectStmtInfo(AbstractObjectValueHolder objectVH) { this.objectVH = objectVH; } // ------------------------------------------------------------------------- public AbstractObjectValueHolder getObjectVH() { return objectVH; } public String getVarName() { return varDeclStmt.getVarName(); } public void setVarName(String p) { varDeclStmt.setVarName(p); } public String getVarNameWithSuffix(String suffix) { String tmp = varDeclStmt.getVarName(); return (tmp != null)? tmp + suffix : suffix; } public VarDeclStmt getVarDeclStmt() { return varDeclStmt; } public List<BeanStmt> getInitStmts() { return initStmts; } public void addInitStmt(BeanStmt p) { initStmts.add(p); } public void setTypeAndInitExpr(Class<?> declaredType, BeanExpr initExpr) { varDeclStmt.setDeclaredType(declaredType); varDeclStmt.setInitExpr(initExpr); } }