Update auto-generated bindings
[ldk-java] / src / main / java / org / ldk / structs / Option_u16Z.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
8
9 /**
10  * An enum which can either contain a u16 or not
11  */
12 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
13 public class Option_u16Z extends CommonBase {
14         private Option_u16Z(Object _dummy, long ptr) { super(ptr); }
15         @Override @SuppressWarnings("deprecation")
16         protected void finalize() throws Throwable {
17                 super.finalize();
18                 if (ptr != 0) { bindings.COption_u16Z_free(ptr); }
19         }
20         static Option_u16Z constr_from_ptr(long ptr) {
21                 bindings.LDKCOption_u16Z raw_val = bindings.LDKCOption_u16Z_ref_from_ptr(ptr);
22                 if (raw_val.getClass() == bindings.LDKCOption_u16Z.Some.class) {
23                         return new Some(ptr, (bindings.LDKCOption_u16Z.Some)raw_val);
24                 }
25                 if (raw_val.getClass() == bindings.LDKCOption_u16Z.None.class) {
26                         return new None(ptr, (bindings.LDKCOption_u16Z.None)raw_val);
27                 }
28                 assert false; return null; // Unreachable without extending the (internal) bindings interface
29         }
30
31         public final static class Some extends Option_u16Z {
32                 public final short some;
33                 private Some(long ptr, bindings.LDKCOption_u16Z.Some obj) {
34                         super(null, ptr);
35                         this.some = obj.some;
36                 }
37         }
38         public final static class None extends Option_u16Z {
39                 private None(long ptr, bindings.LDKCOption_u16Z.None obj) {
40                         super(null, ptr);
41                 }
42         }
43         /**
44          * Constructs a new COption_u16Z containing a u16
45          */
46         public static Option_u16Z some(short o) {
47                 long ret = bindings.COption_u16Z_some(o);
48                 if (ret < 1024) { return null; }
49                 Option_u16Z ret_hu_conv = Option_u16Z.constr_from_ptr(ret);
50                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
51                 return ret_hu_conv;
52         }
53
54         /**
55          * Constructs a new COption_u16Z containing nothing
56          */
57         public static Option_u16Z none() {
58                 long ret = bindings.COption_u16Z_none();
59                 if (ret < 1024) { return null; }
60                 Option_u16Z ret_hu_conv = Option_u16Z.constr_from_ptr(ret);
61                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
62                 return ret_hu_conv;
63         }
64
65         /**
66          * Creates a new COption_u16Z which has the same data as `orig`
67          * but with all dynamically-allocated buffers duplicated in new buffers.
68          */
69         public Option_u16Z clone() {
70                 long ret = bindings.COption_u16Z_clone(this.ptr);
71                 if (ret < 1024) { return null; }
72                 Option_u16Z ret_hu_conv = Option_u16Z.constr_from_ptr(ret);
73                 ret_hu_conv.ptrs_to.add(this);
74                 return ret_hu_conv;
75         }
76
77 }