1 package org.ldk.structs;
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
6 import java.util.Arrays;
10 * If a payment fails to send, it can be in one of several states. This enum is returned as the
11 * Err() type describing which state the payment is in, see the description of individual enum
14 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
15 public class PaymentSendFailure extends CommonBase {
16 private PaymentSendFailure(Object _dummy, long ptr) { super(ptr); }
17 @Override @SuppressWarnings("deprecation")
18 protected void finalize() throws Throwable {
20 if (ptr != 0) { bindings.PaymentSendFailure_free(ptr); }
22 static PaymentSendFailure constr_from_ptr(long ptr) {
23 bindings.LDKPaymentSendFailure raw_val = bindings.LDKPaymentSendFailure_ref_from_ptr(ptr);
24 if (raw_val.getClass() == bindings.LDKPaymentSendFailure.ParameterError.class) {
25 return new ParameterError(ptr, (bindings.LDKPaymentSendFailure.ParameterError)raw_val);
27 if (raw_val.getClass() == bindings.LDKPaymentSendFailure.PathParameterError.class) {
28 return new PathParameterError(ptr, (bindings.LDKPaymentSendFailure.PathParameterError)raw_val);
30 if (raw_val.getClass() == bindings.LDKPaymentSendFailure.AllFailedRetrySafe.class) {
31 return new AllFailedRetrySafe(ptr, (bindings.LDKPaymentSendFailure.AllFailedRetrySafe)raw_val);
33 if (raw_val.getClass() == bindings.LDKPaymentSendFailure.PartialFailure.class) {
34 return new PartialFailure(ptr, (bindings.LDKPaymentSendFailure.PartialFailure)raw_val);
36 assert false; return null; // Unreachable without extending the (internal) bindings interface
39 public final static class ParameterError extends PaymentSendFailure {
40 private ParameterError(long ptr, bindings.LDKPaymentSendFailure.ParameterError obj) {
44 public final static class PathParameterError extends PaymentSendFailure {
45 private PathParameterError(long ptr, bindings.LDKPaymentSendFailure.PathParameterError obj) {
49 public final static class AllFailedRetrySafe extends PaymentSendFailure {
50 private AllFailedRetrySafe(long ptr, bindings.LDKPaymentSendFailure.AllFailedRetrySafe obj) {
54 public final static class PartialFailure extends PaymentSendFailure {
55 private PartialFailure(long ptr, bindings.LDKPaymentSendFailure.PartialFailure obj) {