[Java] Update auto-generated bindings to LDK 0.0.123
[ldk-java] / src / main / java / org / ldk / structs / Bolt12OfferContext.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 context of a payment made for an invoice requested from a BOLT 12 [`Offer`].
13  * 
14  * [`Offer`]: crate::offers::offer::Offer
15  */
16 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
17 public class Bolt12OfferContext extends CommonBase {
18         Bolt12OfferContext(Object _dummy, long ptr) { super(ptr); }
19         @Override @SuppressWarnings("deprecation")
20         protected void finalize() throws Throwable {
21                 super.finalize();
22                 if (ptr != 0) { bindings.Bolt12OfferContext_free(ptr); }
23         }
24
25         /**
26          * The identifier of the [`Offer`].
27          * 
28          * [`Offer`]: crate::offers::offer::Offer
29          */
30         public OfferId get_offer_id() {
31                 long ret = bindings.Bolt12OfferContext_get_offer_id(this.ptr);
32                 Reference.reachabilityFence(this);
33                 if (ret >= 0 && ret <= 4096) { return null; }
34                 org.ldk.structs.OfferId ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.OfferId(null, ret); }
35                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(this); };
36                 return ret_hu_conv;
37         }
38
39         /**
40          * The identifier of the [`Offer`].
41          * 
42          * [`Offer`]: crate::offers::offer::Offer
43          */
44         public void set_offer_id(org.ldk.structs.OfferId val) {
45                 bindings.Bolt12OfferContext_set_offer_id(this.ptr, val.ptr);
46                 Reference.reachabilityFence(this);
47                 Reference.reachabilityFence(val);
48                 if (this != null) { this.ptrs_to.add(val); };
49         }
50
51         /**
52          * Fields from an [`InvoiceRequest`] sent for a [`Bolt12Invoice`].
53          * 
54          * [`InvoiceRequest`]: crate::offers::invoice_request::InvoiceRequest
55          * [`Bolt12Invoice`]: crate::offers::invoice::Bolt12Invoice
56          */
57         public InvoiceRequestFields get_invoice_request() {
58                 long ret = bindings.Bolt12OfferContext_get_invoice_request(this.ptr);
59                 Reference.reachabilityFence(this);
60                 if (ret >= 0 && ret <= 4096) { return null; }
61                 org.ldk.structs.InvoiceRequestFields ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.InvoiceRequestFields(null, ret); }
62                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(this); };
63                 return ret_hu_conv;
64         }
65
66         /**
67          * Fields from an [`InvoiceRequest`] sent for a [`Bolt12Invoice`].
68          * 
69          * [`InvoiceRequest`]: crate::offers::invoice_request::InvoiceRequest
70          * [`Bolt12Invoice`]: crate::offers::invoice::Bolt12Invoice
71          */
72         public void set_invoice_request(org.ldk.structs.InvoiceRequestFields val) {
73                 bindings.Bolt12OfferContext_set_invoice_request(this.ptr, val.ptr);
74                 Reference.reachabilityFence(this);
75                 Reference.reachabilityFence(val);
76                 if (this != null) { this.ptrs_to.add(val); };
77         }
78
79         /**
80          * Constructs a new Bolt12OfferContext given each field
81          */
82         public static Bolt12OfferContext of(org.ldk.structs.OfferId offer_id_arg, org.ldk.structs.InvoiceRequestFields invoice_request_arg) {
83                 long ret = bindings.Bolt12OfferContext_new(offer_id_arg.ptr, invoice_request_arg.ptr);
84                 Reference.reachabilityFence(offer_id_arg);
85                 Reference.reachabilityFence(invoice_request_arg);
86                 if (ret >= 0 && ret <= 4096) { return null; }
87                 org.ldk.structs.Bolt12OfferContext ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.Bolt12OfferContext(null, ret); }
88                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
89                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(offer_id_arg); };
90                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(invoice_request_arg); };
91                 return ret_hu_conv;
92         }
93
94         long clone_ptr() {
95                 long ret = bindings.Bolt12OfferContext_clone_ptr(this.ptr);
96                 Reference.reachabilityFence(this);
97                 return ret;
98         }
99
100         /**
101          * Creates a copy of the Bolt12OfferContext
102          */
103         public Bolt12OfferContext clone() {
104                 long ret = bindings.Bolt12OfferContext_clone(this.ptr);
105                 Reference.reachabilityFence(this);
106                 if (ret >= 0 && ret <= 4096) { return null; }
107                 org.ldk.structs.Bolt12OfferContext ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.Bolt12OfferContext(null, ret); }
108                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(this); };
109                 return ret_hu_conv;
110         }
111
112         /**
113          * Checks if two Bolt12OfferContexts contain equal inner contents.
114          * This ignores pointers and is_owned flags and looks at the values in fields.
115          * Two objects with NULL inner values will be considered "equal" here.
116          */
117         public boolean eq(org.ldk.structs.Bolt12OfferContext b) {
118                 boolean ret = bindings.Bolt12OfferContext_eq(this.ptr, b.ptr);
119                 Reference.reachabilityFence(this);
120                 Reference.reachabilityFence(b);
121                 if (this != null) { this.ptrs_to.add(b); };
122                 return ret;
123         }
124
125         @Override public boolean equals(Object o) {
126                 if (!(o instanceof Bolt12OfferContext)) return false;
127                 return this.eq((Bolt12OfferContext)o);
128         }
129         /**
130          * Serialize the Bolt12OfferContext object into a byte array which can be read by Bolt12OfferContext_read
131          */
132         public byte[] write() {
133                 byte[] ret = bindings.Bolt12OfferContext_write(this.ptr);
134                 Reference.reachabilityFence(this);
135                 return ret;
136         }
137
138         /**
139          * Read a Bolt12OfferContext from a byte array, created by Bolt12OfferContext_write
140          */
141         public static Result_Bolt12OfferContextDecodeErrorZ read(byte[] ser) {
142                 long ret = bindings.Bolt12OfferContext_read(ser);
143                 Reference.reachabilityFence(ser);
144                 if (ret >= 0 && ret <= 4096) { return null; }
145                 Result_Bolt12OfferContextDecodeErrorZ ret_hu_conv = Result_Bolt12OfferContextDecodeErrorZ.constr_from_ptr(ret);
146                 return ret_hu_conv;
147         }
148
149 }