summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-07-13 13:59:00 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-08-05 21:57:07 +0100
commit3c5a7bc2b366ffad0a389f125854353914fce8b4 (patch)
tree9bc3ab6e7cfe3a642f11bc65ade7c06311ee2437
parent11da32315d7a6ccf65d5ea0d9128224c3f3b70a7 (diff)
downloadlibguestfs-3c5a7bc2b366ffad0a389f125854353914fce8b4.tar.gz
libguestfs-3c5a7bc2b366ffad0a389f125854353914fce8b4.tar.xz
libguestfs-3c5a7bc2b366ffad0a389f125854353914fce8b4.zip
java: Generate overloaded non-optargs method for each optargs method.
For example the existing method: public void mkfs_opts (String fstype, String device, Map<..> optargs); is now accompanied by this overloaded method which is a simple wrapper: public void mkfs_opts (String fstype, String device) throws LibGuestFSException { mkfs_opts (fstype, device, null); } (cherry picked from commit 0da2dbef26a9efddbc1f4cd6cbe796b3b5f98d13)
-rw-r--r--generator/generator_java.ml23
-rw-r--r--java/examples/guestfs-java.pod2
-rw-r--r--java/t/GuestFS080OptArgs.java2
3 files changed, 25 insertions, 2 deletions
diff --git a/generator/generator_java.ml b/generator/generator_java.ml
index 5a2afe94..66da8659 100644
--- a/generator/generator_java.ml
+++ b/generator/generator_java.ml
@@ -176,6 +176,29 @@ public class GuestFS {
);
pr " }\n";
pr "\n";
+
+ (* Generate an overloaded method that has no optargs argument,
+ * and make it call the method above with 'null' for the last
+ * arg.
+ *)
+ if optargs <> [] then (
+ pr " ";
+ generate_java_prototype ~public:true ~semicolon:false
+ name (ret, args, []);
+ pr "\n";
+ pr " {\n";
+ (match ret with
+ | RErr -> pr " "
+ | _ -> pr " return "
+ );
+ pr "%s (" name;
+ List.iter (fun arg -> pr "%s, " (name_of_argt arg)) args;
+ pr "null);\n";
+ pr " }\n";
+ pr "\n"
+ );
+
+ (* Prototype for the native method. *)
pr " ";
generate_java_prototype ~privat:true ~native:true name style;
pr "\n";
diff --git a/java/examples/guestfs-java.pod b/java/examples/guestfs-java.pod
index cda4ed22..482539bd 100644
--- a/java/examples/guestfs-java.pod
+++ b/java/examples/guestfs-java.pod
@@ -9,7 +9,7 @@ guestfs-java - How to use libguestfs from Java
import com.redhat.et.libguestfs.*;
GuestFS g = new GuestFS ();
- g.add_drive_opts ("disk.img", null);
+ g.add_drive_opts ("disk.img");
g.launch ();
=head1 DESCRIPTION
diff --git a/java/t/GuestFS080OptArgs.java b/java/t/GuestFS080OptArgs.java
index 291a8c3e..6eee6c6d 100644
--- a/java/t/GuestFS080OptArgs.java
+++ b/java/t/GuestFS080OptArgs.java
@@ -27,7 +27,7 @@ public class GuestFS080OptArgs
try {
GuestFS g = new GuestFS ();
- g.add_drive_opts ("/dev/null", null);
+ g.add_drive_opts ("/dev/null");
HashMap<String,Object> optargs;