Support passing trait instance references from C to Java without clone or double...
[ldk-java] / src / main / java / org / ldk / structs / Result_NetAddressu8Z.java
1 package org.ldk.structs;
2
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
5 import org.ldk.util.*;
6 import java.util.Arrays;
7 import javax.annotation.Nullable;
8
9 public class Result_NetAddressu8Z extends CommonBase {
10         private Result_NetAddressu8Z(Object _dummy, long ptr) { super(ptr); }
11         protected void finalize() throws Throwable {
12                 if (ptr != 0) { bindings.CResult_NetAddressu8Z_free(ptr); } super.finalize();
13         }
14
15         static Result_NetAddressu8Z constr_from_ptr(long ptr) {
16                 if (bindings.LDKCResult_NetAddressu8Z_result_ok(ptr)) {
17                         return new Result_NetAddressu8Z_OK(null, ptr);
18                 } else {
19                         return new Result_NetAddressu8Z_Err(null, ptr);
20                 }
21         }
22         public static final class Result_NetAddressu8Z_OK extends Result_NetAddressu8Z {
23                 public final NetAddress res;
24                 private Result_NetAddressu8Z_OK(Object _dummy, long ptr) {
25                         super(_dummy, ptr);
26                         long res = bindings.LDKCResult_NetAddressu8Z_get_ok(ptr);
27                         NetAddress res_hu_conv = NetAddress.constr_from_ptr(res);
28                         res_hu_conv.ptrs_to.add(this);
29                         this.res = res_hu_conv;
30                 }
31         }
32
33         public static final class Result_NetAddressu8Z_Err extends Result_NetAddressu8Z {
34                 public final byte err;
35                 private Result_NetAddressu8Z_Err(Object _dummy, long ptr) {
36                         super(_dummy, ptr);
37                         this.err = bindings.LDKCResult_NetAddressu8Z_get_err(ptr);
38                 }
39         }
40
41         /**
42          * Creates a new CResult_NetAddressu8Z in the success state.
43          */
44         public static Result_NetAddressu8Z ok(NetAddress o) {
45                 long ret = bindings.CResult_NetAddressu8Z_ok(o.ptr);
46                 if (ret >= 0 && ret < 1024) { return null; }
47                 Result_NetAddressu8Z ret_hu_conv = Result_NetAddressu8Z.constr_from_ptr(ret);
48                 return ret_hu_conv;
49         }
50
51         /**
52          * Creates a new CResult_NetAddressu8Z in the error state.
53          */
54         public static Result_NetAddressu8Z err(byte e) {
55                 long ret = bindings.CResult_NetAddressu8Z_err(e);
56                 if (ret >= 0 && ret < 1024) { return null; }
57                 Result_NetAddressu8Z ret_hu_conv = Result_NetAddressu8Z.constr_from_ptr(ret);
58                 return ret_hu_conv;
59         }
60
61         /**
62          * Creates a new CResult_NetAddressu8Z which has the same data as `orig`
63          * but with all dynamically-allocated buffers duplicated in new buffers.
64          */
65         public Result_NetAddressu8Z clone() {
66                 long ret = bindings.CResult_NetAddressu8Z_clone(this.ptr);
67                 if (ret >= 0 && ret < 1024) { return null; }
68                 Result_NetAddressu8Z ret_hu_conv = Result_NetAddressu8Z.constr_from_ptr(ret);
69                 return ret_hu_conv;
70         }
71
72 }