[Java] Update auto-generated Java bindings with new upstream getters
[ldk-java] / src / main / java / org / ldk / structs / UnsignedNodeAnnouncement.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 java.lang.ref.Reference;
8 import javax.annotation.Nullable;
9
10
11 /**
12  * The unsigned part of a node_announcement
13  */
14 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
15 public class UnsignedNodeAnnouncement extends CommonBase {
16         UnsignedNodeAnnouncement(Object _dummy, long ptr) { super(ptr); }
17         @Override @SuppressWarnings("deprecation")
18         protected void finalize() throws Throwable {
19                 super.finalize();
20                 if (ptr != 0) { bindings.UnsignedNodeAnnouncement_free(ptr); }
21         }
22
23         /**
24          * The advertised features
25          */
26         public NodeFeatures get_features() {
27                 long ret = bindings.UnsignedNodeAnnouncement_get_features(this.ptr);
28                 Reference.reachabilityFence(this);
29                 if (ret >= 0 && ret <= 4096) { return null; }
30                 org.ldk.structs.NodeFeatures ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.NodeFeatures(null, ret); }
31                 ret_hu_conv.ptrs_to.add(this);
32                 return ret_hu_conv;
33         }
34
35         /**
36          * The advertised features
37          */
38         public void set_features(NodeFeatures val) {
39                 bindings.UnsignedNodeAnnouncement_set_features(this.ptr, val == null ? 0 : val.ptr & ~1);
40                 Reference.reachabilityFence(this);
41                 Reference.reachabilityFence(val);
42         }
43
44         /**
45          * A strictly monotonic announcement counter, with gaps allowed
46          */
47         public int get_timestamp() {
48                 int ret = bindings.UnsignedNodeAnnouncement_get_timestamp(this.ptr);
49                 Reference.reachabilityFence(this);
50                 return ret;
51         }
52
53         /**
54          * A strictly monotonic announcement counter, with gaps allowed
55          */
56         public void set_timestamp(int val) {
57                 bindings.UnsignedNodeAnnouncement_set_timestamp(this.ptr, val);
58                 Reference.reachabilityFence(this);
59                 Reference.reachabilityFence(val);
60         }
61
62         /**
63          * The node_id this announcement originated from (don't rebroadcast the node_announcement back
64          * to this node).
65          */
66         public byte[] get_node_id() {
67                 byte[] ret = bindings.UnsignedNodeAnnouncement_get_node_id(this.ptr);
68                 Reference.reachabilityFence(this);
69                 return ret;
70         }
71
72         /**
73          * The node_id this announcement originated from (don't rebroadcast the node_announcement back
74          * to this node).
75          */
76         public void set_node_id(byte[] val) {
77                 bindings.UnsignedNodeAnnouncement_set_node_id(this.ptr, InternalUtils.check_arr_len(val, 33));
78                 Reference.reachabilityFence(this);
79                 Reference.reachabilityFence(val);
80         }
81
82         /**
83          * An RGB color for UI purposes
84          */
85         public byte[] get_rgb() {
86                 byte[] ret = bindings.UnsignedNodeAnnouncement_get_rgb(this.ptr);
87                 Reference.reachabilityFence(this);
88                 return ret;
89         }
90
91         /**
92          * An RGB color for UI purposes
93          */
94         public void set_rgb(byte[] val) {
95                 bindings.UnsignedNodeAnnouncement_set_rgb(this.ptr, InternalUtils.check_arr_len(val, 3));
96                 Reference.reachabilityFence(this);
97                 Reference.reachabilityFence(val);
98         }
99
100         /**
101          * An alias, for UI purposes.  This should be sanitized before use.  There is no guarantee
102          * of uniqueness.
103          */
104         public byte[] get_alias() {
105                 byte[] ret = bindings.UnsignedNodeAnnouncement_get_alias(this.ptr);
106                 Reference.reachabilityFence(this);
107                 return ret;
108         }
109
110         /**
111          * An alias, for UI purposes.  This should be sanitized before use.  There is no guarantee
112          * of uniqueness.
113          */
114         public void set_alias(byte[] val) {
115                 bindings.UnsignedNodeAnnouncement_set_alias(this.ptr, InternalUtils.check_arr_len(val, 32));
116                 Reference.reachabilityFence(this);
117                 Reference.reachabilityFence(val);
118         }
119
120         /**
121          * List of addresses on which this node is reachable
122          * 
123          * Returns a copy of the field.
124          */
125         public NetAddress[] get_addresses() {
126                 long[] ret = bindings.UnsignedNodeAnnouncement_get_addresses(this.ptr);
127                 Reference.reachabilityFence(this);
128                 int ret_conv_12_len = ret.length;
129                 NetAddress[] ret_conv_12_arr = new NetAddress[ret_conv_12_len];
130                 for (int m = 0; m < ret_conv_12_len; m++) {
131                         long ret_conv_12 = ret[m];
132                         org.ldk.structs.NetAddress ret_conv_12_hu_conv = org.ldk.structs.NetAddress.constr_from_ptr(ret_conv_12);
133                         ret_conv_12_hu_conv.ptrs_to.add(this);
134                         ret_conv_12_arr[m] = ret_conv_12_hu_conv;
135                 }
136                 return ret_conv_12_arr;
137         }
138
139         /**
140          * List of addresses on which this node is reachable
141          */
142         public void set_addresses(NetAddress[] val) {
143                 bindings.UnsignedNodeAnnouncement_set_addresses(this.ptr, val != null ? Arrays.stream(val).mapToLong(val_conv_12 -> val_conv_12.ptr).toArray() : null);
144                 Reference.reachabilityFence(this);
145                 Reference.reachabilityFence(val);
146         }
147
148         long clone_ptr() {
149                 long ret = bindings.UnsignedNodeAnnouncement_clone_ptr(this.ptr);
150                 Reference.reachabilityFence(this);
151                 return ret;
152         }
153
154         /**
155          * Creates a copy of the UnsignedNodeAnnouncement
156          */
157         public UnsignedNodeAnnouncement clone() {
158                 long ret = bindings.UnsignedNodeAnnouncement_clone(this.ptr);
159                 Reference.reachabilityFence(this);
160                 if (ret >= 0 && ret <= 4096) { return null; }
161                 org.ldk.structs.UnsignedNodeAnnouncement ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.UnsignedNodeAnnouncement(null, ret); }
162                 ret_hu_conv.ptrs_to.add(this);
163                 return ret_hu_conv;
164         }
165
166         /**
167          * Serialize the UnsignedNodeAnnouncement object into a byte array which can be read by UnsignedNodeAnnouncement_read
168          */
169         public byte[] write() {
170                 byte[] ret = bindings.UnsignedNodeAnnouncement_write(this.ptr);
171                 Reference.reachabilityFence(this);
172                 return ret;
173         }
174
175         /**
176          * Read a UnsignedNodeAnnouncement from a byte array, created by UnsignedNodeAnnouncement_write
177          */
178         public static Result_UnsignedNodeAnnouncementDecodeErrorZ read(byte[] ser) {
179                 long ret = bindings.UnsignedNodeAnnouncement_read(ser);
180                 Reference.reachabilityFence(ser);
181                 if (ret >= 0 && ret <= 4096) { return null; }
182                 Result_UnsignedNodeAnnouncementDecodeErrorZ ret_hu_conv = Result_UnsignedNodeAnnouncementDecodeErrorZ.constr_from_ptr(ret);
183                 return ret_hu_conv;
184         }
185
186 }