6e760fbb16ddcd51a0ca4747a6340a2b1e422dbe
[ldk-java] / src / main / java / org / ldk / structs / APIError.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  * Indicates an error on the client's part (usually some variant of attempting to use too-low or
11  * too-high values)
12  */
13 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
14 public class APIError extends CommonBase {
15         private APIError(Object _dummy, long ptr) { super(ptr); }
16         @Override @SuppressWarnings("deprecation")
17         protected void finalize() throws Throwable {
18                 super.finalize();
19                 if (ptr != 0) { bindings.APIError_free(ptr); }
20         }
21         static APIError constr_from_ptr(long ptr) {
22                 bindings.LDKAPIError raw_val = bindings.LDKAPIError_ref_from_ptr(ptr);
23                 if (raw_val.getClass() == bindings.LDKAPIError.APIMisuseError.class) {
24                         return new APIMisuseError(ptr, (bindings.LDKAPIError.APIMisuseError)raw_val);
25                 }
26                 if (raw_val.getClass() == bindings.LDKAPIError.FeeRateTooHigh.class) {
27                         return new FeeRateTooHigh(ptr, (bindings.LDKAPIError.FeeRateTooHigh)raw_val);
28                 }
29                 if (raw_val.getClass() == bindings.LDKAPIError.RouteError.class) {
30                         return new RouteError(ptr, (bindings.LDKAPIError.RouteError)raw_val);
31                 }
32                 if (raw_val.getClass() == bindings.LDKAPIError.ChannelUnavailable.class) {
33                         return new ChannelUnavailable(ptr, (bindings.LDKAPIError.ChannelUnavailable)raw_val);
34                 }
35                 if (raw_val.getClass() == bindings.LDKAPIError.MonitorUpdateFailed.class) {
36                         return new MonitorUpdateFailed(ptr, (bindings.LDKAPIError.MonitorUpdateFailed)raw_val);
37                 }
38                 assert false; return null; // Unreachable without extending the (internal) bindings interface
39         }
40
41         public final static class APIMisuseError extends APIError {
42                 public final byte[] err;
43                 private APIMisuseError(long ptr, bindings.LDKAPIError.APIMisuseError obj) {
44                         super(null, ptr);
45                         this.err = obj.err;
46                 }
47         }
48         public final static class FeeRateTooHigh extends APIError {
49                 public final byte[] err;
50                 public final int feerate;
51                 private FeeRateTooHigh(long ptr, bindings.LDKAPIError.FeeRateTooHigh obj) {
52                         super(null, ptr);
53                         this.err = obj.err;
54                         this.feerate = obj.feerate;
55                 }
56         }
57         public final static class RouteError extends APIError {
58                 public final String err;
59                 private RouteError(long ptr, bindings.LDKAPIError.RouteError obj) {
60                         super(null, ptr);
61                         this.err = obj.err;
62                 }
63         }
64         public final static class ChannelUnavailable extends APIError {
65                 public final byte[] err;
66                 private ChannelUnavailable(long ptr, bindings.LDKAPIError.ChannelUnavailable obj) {
67                         super(null, ptr);
68                         this.err = obj.err;
69                 }
70         }
71         public final static class MonitorUpdateFailed extends APIError {
72                 private MonitorUpdateFailed(long ptr, bindings.LDKAPIError.MonitorUpdateFailed obj) {
73                         super(null, ptr);
74                 }
75         }
76 }