Variable: org-babel-java--result-wrapper
org-babel-java--result-wrapper is a variable defined in ob-java.el.gz.
Value
"\n public static String __toString(Object val) {\n if (val instanceof String) {\n return \"\\\"\" + val + \"\\\"\";\n } else if (val == null) {\n return \"null\";\n } else if (val.getClass().isArray()) {\n StringBuffer sb = new StringBuffer();\n Object[] vals = (Object[])val;\n sb.append(\"[\");\n for (int ii=0; ii<vals.length; ii++) {\n sb.append(__toString(vals[ii]));\n if (ii<vals.length-1)\n sb.append(\",\");\n }\n sb.append(\"]\");\n return sb.toString();\n } else if (val instanceof List) {\n StringBuffer sb = new StringBuffer();\n List vals = (List)val;\n sb.append(\"[\");\n for (int ii=0; ii<vals.size(); ii++) {\n sb.append(__toString(vals.get(ii)));\n if (ii<vals.size()-1)\n sb.append(\",\");\n }\n sb.append(\"]\");\n return sb.toString();\n } else {\n return String.valueOf(val);\n }\n }\n\n public static void main(String[] args) throws IOException {\n BufferedWriter output = new BufferedWriter(new FileWriter(\"%s\"));\n output.write(__toString(_main(args)));\n output.close();\n }"
Documentation
Code to inject into a class so that we can capture the value it returns.
This implementation was inspired by ob-python, although not as elegant. This modified the source block to write out the value it wants to return to a temporary file so that ob-java can read it back. The name of the temporary file to write must be replaced in this string.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ob-java.el.gz
(defconst org-babel-java--result-wrapper "\n public static String __toString(Object val) {
if (val instanceof String) {
return \"\\\"\" + val + \"\\\"\";
} else if (val == null) {
return \"null\";
} else if (val.getClass().isArray()) {
StringBuffer sb = new StringBuffer();
Object[] vals = (Object[])val;
sb.append(\"[\");
for (int ii=0; ii<vals.length; ii++) {
sb.append(__toString(vals[ii]));
if (ii<vals.length-1)
sb.append(\",\");
}
sb.append(\"]\");
return sb.toString();
} else if (val instanceof List) {
StringBuffer sb = new StringBuffer();
List vals = (List)val;
sb.append(\"[\");
for (int ii=0; ii<vals.size(); ii++) {
sb.append(__toString(vals.get(ii)));
if (ii<vals.size()-1)
sb.append(\",\");
}
sb.append(\"]\");
return sb.toString();
} else {
return String.valueOf(val);
}
}
public static void main(String[] args) throws IOException {
BufferedWriter output = new BufferedWriter(new FileWriter(\"%s\"));
output.write(__toString(_main(args)));
output.close();
}"
"Code to inject into a class so that we can capture the value it returns.
This implementation was inspired by ob-python, although not as
elegant. This modified the source block to write out the value
it wants to return to a temporary file so that ob-java can read
it back. The name of the temporary file to write must be
replaced in this string.")