#+Title: a collection of examples for ob-java tests #+OPTIONS: ^:nil * Simple :PROPERTIES: :ID: 6abbd6a0-b1b1-4fbf-96b6-6fbc024c4a6c :END: #+name: simple #+begin_src java :results output silent System.out.print(42); #+end_src #+name: simple_with_bracket #+begin_src java :results output silent System.out.print("[42"); #+end_src #+name: simple_with_quote #+begin_src java :results output silent System.out.print("\"42\""); #+end_src #+name: simple_return_int #+begin_src java :results silent return 42; #+end_src #+name: simple_return_float #+begin_src java :results silent return 42.0; #+end_src #+name: simple_return_string #+begin_src java :results silent return "forty two"; #+end_src #+name: simple_with_main #+begin_src java :results output silent public static void main(String[] args) { System.out.print(42); } #+end_src #+name: simple_with_main_args_array #+begin_src java :results output silent public static void main(String args[]) { System.out.print(42); } #+end_src #+name: simple_with_class #+begin_src java :results output silent public class Simple { public static void main(String[] args) { System.out.print(42); } } #+end_src #+name: simple_with_class_and_package #+begin_src java :results output silent package pkg; public class Simple { public static void main(String[] args) { System.out.print(42); } } #+end_src #+name: simple_with_class_attr #+begin_src java :results output silent :classname Simple public static void main(String[] args) { System.out.print(42); } #+end_src #+name: simple_with_class_attr_with_package #+begin_src java :results output silent :classname pkg.Simple public static void main(String[] args) { System.out.print(42); } #+end_src * Args :PROPERTIES: :ID: 0f1bb86b-9c9e-4ade-aaec-30b37965df1c :END: #+name: one-arg #+begin_src java :results output silent :cmdline "fortytwo" System.out.print(args[0]); #+end_src #+name: quoted_string_arg #+begin_src java :results output silent :cmdline "\"forty two\" 42" System.out.println(args[0]); System.out.println(args[1]); #+end_src * Variables :PROPERTIES: :ID: d532cde5-2f7e-4415-99ba-3d99d148b9db :END: #+name: integer_var #+begin_src java :var a=42 :results output silent System.out.print(a); #+end_src #+name: var_with_main #+begin_src java :var a=42 :results output silent public static void main(String[] args) { System.out.print(a); } #+end_src #+name: var_with_class #+begin_src java :var a=42 :results output silent public class Main { public static void main(String[] args) { System.out.print(a); } } #+end_src #+name: var_with_class_and_package #+begin_src java :var a=42 :results output silent package pkg; public class Main { public static void main(String[] args) { System.out.print(a); } } #+end_src #+name: var_with_class_and_hanging_curlies #+begin_src java :var a=42 :results output silent public class Main { public static void main(String[] args) { System.out.print(a); } } #+end_src #+name: two_vars #+begin_src java :var a=21 b=2 :results output silent System.out.print(a*b); #+end_src #+name: string_var #+begin_src java :var a="forty two" :results output silent System.out.print(String.format("%s, len=%d", a, a.length())); #+end_src #+name: mulitline_string_var #+begin_src java :var a="forty\ntwo" :results output silent System.out.print(String.format("%s, len=%d", a, a.length())); #+end_src * Array :PROPERTIES: :ID: 3512119d-a2da-43c1-af7b-19a3cb72f76d :END: #+name: java_list - forty - two #+name: return_vector_using_list #+begin_src java :results vector silent import java.util.List; import java.util.Arrays; List> a = Arrays.asList(Arrays.asList(4), Arrays.asList(2)); return a; #+end_src #+name: return_vector_using_array #+begin_src java :results vector silent Integer[][] a = {{4}, {2}}; return a; #+end_src #+name: read_return_list #+begin_src java :var a=java_list :results silent import java.util.List; import java.util.Arrays; List b = Arrays.asList(a.get(0).get(0), a.get(1).get(0)); return b; #+end_src #+name: read_list_return_array #+begin_src java :var a=java_list :results silent String[] b = {a.get(0).get(0), a.get(1).get(0)}; return b; #+end_src #+name: read_return_list_with_package #+begin_src java :var a=java_list :results silent package pkg; import java.util.List; import java.util.Arrays; List b = Arrays.asList(a.get(0).get(0), a.get(1).get(0)); return b; #+end_src #+name: write_output_list_with_spaces #+begin_src java :results output list raw silent System.out.println("forty two"); System.out.println("forty two"); #+end_src * Matrix :PROPERTIES: :ID: 2b99499f-c12f-44fd-9b5d-1af929ca0079 :END: #+name: java_matrix | 2 | 1 | | 4 | 2 | #+name: list_var #+begin_src java :var a='("forty" "two") :results silent import java.util.List; List b = a; return b; #+end_src #+name: vector_var #+begin_src java :var a='["forty" "two"] :results silent import java.util.List; List b = a; return b; #+end_src #+name: matrix_var #+begin_src java :var a=java_matrix :results silent import java.util.List; import java.util.Arrays; List> b = Arrays.asList(Arrays.asList(a.get(0).get(0), a.get(1).get(0)), Arrays.asList(a.get(0).get(1), a.get(1).get(1))); return b; // transpose #+end_src #+name: matrix_var_with_header #+begin_src java :var a=java_matrix :results value table silent import java.util.List; import java.util.Arrays; List b = Arrays.asList(Arrays.asList("col1", "col2"), null, Arrays.asList(a.get(0).get(0), a.get(1).get(0)), Arrays.asList(a.get(0).get(1), a.get(1).get(1))); return b; // transpose #+end_src #+name: output_table_with_header #+begin_src java :var a=java_matrix :results output raw table silent System.out.println("|col1|col2|"); System.out.println("|-"); for (int ii=0; ii b = Arrays.asList(Arrays.asList(a.get(0).get(0), Integer.parseInt(a.get(0).get(1))*2), Arrays.asList(a.get(1).get(0), Integer.parseInt(a.get(1).get(1))*2)); return b; #+end_src * Library :PROPERTIES: :ID: 3ce0d53f-780a-4769-8614-cbdd3e265708 :END: #+name: import_library #+begin_src java :results output silent :imports java.util.Base64 byte[] encoded = Base64.getEncoder().encode("42".getBytes()); String decoded = new String(Base64.getDecoder().decode(encoded)); System.out.print(String.format("encoded=%s, decoded=%s", new String(encoded), decoded)); #+end_src #+name: import_library_inline #+begin_src java :results output silent import java.util.Base64; byte[] encoded = Base64.getEncoder().encode("42".getBytes()); String decoded = new String(Base64.getDecoder().decode(encoded)); System.out.print(String.format("encoded=%s, decoded=%s", new String(encoded), decoded)); #+end_src