package org.test4j.spec.scenario.step; import java.util.Map; import org.test4j.spec.inner.IScenarioStep; import org.test4j.spec.inner.StepType; import org.test4j.spec.inner.ISpecMethod.SpecMethodID; public class StepMethod { private SpecMethodID methodID; private Map<String, String> paras; public StepMethod(IScenarioStep step) { methodID = step.getSpecMethodID(); paras = step.getParas(); } public String generateMethodJava() { StringBuilder code = new StringBuilder(); code.append("\t@").append(StepType.Step.name()).append("\n"); code.append("\tpublic void ").append(methodID.getMethodName()).append("("); if (paras != null) { boolean isFirst = true; for (String para : paras.keySet()) { if (isFirst) { isFirst = false; } else { code.append(", // <br>\n\t\t"); } code.append("final @Named(\"").append(para).append("\") "); code.append("String ").append(para); } } if (paras != null && paras.size() != 0) { code.append("//<br>\n\t"); } code.append(")throws Exception {\n"); code.append("\t\t// TODO\n"); code.append("\t}\n"); return code.toString(); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((methodID == null) ? 0 : methodID.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; StepMethod other = (StepMethod) obj; if (methodID == null) { if (other.methodID != null) return false; } else if (!methodID.equals(other.methodID)) return false; return true; } }