Support passing trait instance references from C to Java without clone or double...
[ldk-java] / src / main / java / org / ldk / structs / Result_CResult_NetAddressu8ZDecodeErrorZ.java
index 3bc546ff72350d0470fe04357da9171cf46c7fe4..c88d61f7ca14ecbf29363c93228199e490c68b40 100644 (file)
@@ -4,8 +4,8 @@ import org.ldk.impl.bindings;
 import org.ldk.enums.*;
 import org.ldk.util.*;
 import java.util.Arrays;
+import javax.annotation.Nullable;
 
-@SuppressWarnings("unchecked") // We correctly assign various generic arrays
 public class Result_CResult_NetAddressu8ZDecodeErrorZ extends CommonBase {
        private Result_CResult_NetAddressu8ZDecodeErrorZ(Object _dummy, long ptr) { super(ptr); }
        protected void finalize() throws Throwable {
@@ -27,9 +27,6 @@ public class Result_CResult_NetAddressu8ZDecodeErrorZ extends CommonBase {
                        Result_NetAddressu8Z res_hu_conv = Result_NetAddressu8Z.constr_from_ptr(res);
                        this.res = res_hu_conv;
                }
-               public Result_CResult_NetAddressu8ZDecodeErrorZ_OK(Result_NetAddressu8Z res) {
-                       this(null, bindings.CResult_CResult_NetAddressu8ZDecodeErrorZ_ok(res != null ? res.ptr : 0));
-               }
        }
 
        public static final class Result_CResult_NetAddressu8ZDecodeErrorZ_Err extends Result_CResult_NetAddressu8ZDecodeErrorZ {
@@ -41,9 +38,37 @@ public class Result_CResult_NetAddressu8ZDecodeErrorZ extends CommonBase {
                        err_hu_conv.ptrs_to.add(this);
                        this.err = err_hu_conv;
                }
-               public Result_CResult_NetAddressu8ZDecodeErrorZ_Err(DecodeError err) {
-                       this(null, bindings.CResult_CResult_NetAddressu8ZDecodeErrorZ_err(err == null ? 0 : err.ptr & ~1));
-                       this.ptrs_to.add(err);
-               }
        }
+
+       /**
+        * Creates a new CResult_CResult_NetAddressu8ZDecodeErrorZ in the success state.
+        */
+       public static Result_CResult_NetAddressu8ZDecodeErrorZ ok(Result_NetAddressu8Z o) {
+               long ret = bindings.CResult_CResult_NetAddressu8ZDecodeErrorZ_ok(o != null ? o.ptr : 0);
+               if (ret >= 0 && ret < 1024) { return null; }
+               Result_CResult_NetAddressu8ZDecodeErrorZ ret_hu_conv = Result_CResult_NetAddressu8ZDecodeErrorZ.constr_from_ptr(ret);
+               return ret_hu_conv;
+       }
+
+       /**
+        * Creates a new CResult_CResult_NetAddressu8ZDecodeErrorZ in the error state.
+        */
+       public static Result_CResult_NetAddressu8ZDecodeErrorZ err(DecodeError e) {
+               long ret = bindings.CResult_CResult_NetAddressu8ZDecodeErrorZ_err(e == null ? 0 : e.ptr & ~1);
+               if (ret >= 0 && ret < 1024) { return null; }
+               Result_CResult_NetAddressu8ZDecodeErrorZ ret_hu_conv = Result_CResult_NetAddressu8ZDecodeErrorZ.constr_from_ptr(ret);
+               return ret_hu_conv;
+       }
+
+       /**
+        * Creates a new CResult_CResult_NetAddressu8ZDecodeErrorZ which has the same data as `orig`
+        * but with all dynamically-allocated buffers duplicated in new buffers.
+        */
+       public Result_CResult_NetAddressu8ZDecodeErrorZ clone() {
+               long ret = bindings.CResult_CResult_NetAddressu8ZDecodeErrorZ_clone(this.ptr);
+               if (ret >= 0 && ret < 1024) { return null; }
+               Result_CResult_NetAddressu8ZDecodeErrorZ ret_hu_conv = Result_CResult_NetAddressu8ZDecodeErrorZ.constr_from_ptr(ret);
+               return ret_hu_conv;
+       }
+
 }