package org.rendersnake.js;
import java.util.ArrayList;
import java.util.List;
import org.rendersnake.ToJavascript;
public class Function implements ToJavascript {
public String name;
public String returns;
List<String> arguments = new ArrayList<String>();
List<ToJavascript> statements = new ArrayList<ToJavascript>();
public Function(String arg) {
arguments.add(arg);
}
public String toJavascript() {
// TODO Auto-generated method stub
return null;
}
public Function add(ToJavascript js) {
statements.add(js);
return this;
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("function");
if (name != null) {
sb.append(' ').append(name);
}
sb.append('(');
for (int i=0;i<arguments.size();i++) {
if (i>0) sb.append(',');
sb.append(arguments.get(i));
}
sb.append("){");
for (ToJavascript each : statements) {
sb.append(each.toJavascript());
}
if (returns != null) {
sb.append("return ").append(returns).append(';');
}
sb.append("}");
return sb.toString();
}
}