Merge pull request #2 from TheBlueMatt/main
[ldk-java] / src / main / java / org / ldk / structs / PaymentSendFailure.java
index 48fd7a02a4faa9eec37adc2c24e49b4302354d21..af08d8cccfa042ed4e8976e3344095d339055e58 100644 (file)
@@ -7,18 +7,47 @@ import java.util.Arrays;
 
 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
 public class PaymentSendFailure extends CommonBase {
-       PaymentSendFailure(Object _dummy, long ptr) { super(ptr); }
+       private PaymentSendFailure(Object _dummy, long ptr) { super(ptr); }
        @Override @SuppressWarnings("deprecation")
        protected void finalize() throws Throwable {
                super.finalize();
                if (ptr != 0) { bindings.PaymentSendFailure_free(ptr); }
        }
-
-       public PaymentSendFailure clone() {
-               long ret = bindings.PaymentSendFailure_clone(this.ptr);
-               PaymentSendFailure ret_hu_conv = new PaymentSendFailure(null, ret);
-               ret_hu_conv.ptrs_to.add(this);
-               return ret_hu_conv;
+       static PaymentSendFailure constr_from_ptr(long ptr) {
+               bindings.LDKPaymentSendFailure raw_val = bindings.LDKPaymentSendFailure_ref_from_ptr(ptr);
+               if (raw_val.getClass() == bindings.LDKPaymentSendFailure.ParameterError.class) {
+                       return new ParameterError(ptr, (bindings.LDKPaymentSendFailure.ParameterError)raw_val);
+               }
+               if (raw_val.getClass() == bindings.LDKPaymentSendFailure.PathParameterError.class) {
+                       return new PathParameterError(ptr, (bindings.LDKPaymentSendFailure.PathParameterError)raw_val);
+               }
+               if (raw_val.getClass() == bindings.LDKPaymentSendFailure.AllFailedRetrySafe.class) {
+                       return new AllFailedRetrySafe(ptr, (bindings.LDKPaymentSendFailure.AllFailedRetrySafe)raw_val);
+               }
+               if (raw_val.getClass() == bindings.LDKPaymentSendFailure.PartialFailure.class) {
+                       return new PartialFailure(ptr, (bindings.LDKPaymentSendFailure.PartialFailure)raw_val);
+               }
+               assert false; return null; // Unreachable without extending the (internal) bindings interface
        }
 
+       public final static class ParameterError extends PaymentSendFailure {
+               private ParameterError(long ptr, bindings.LDKPaymentSendFailure.ParameterError obj) {
+                       super(null, ptr);
+               }
+       }
+       public final static class PathParameterError extends PaymentSendFailure {
+               private PathParameterError(long ptr, bindings.LDKPaymentSendFailure.PathParameterError obj) {
+                       super(null, ptr);
+               }
+       }
+       public final static class AllFailedRetrySafe extends PaymentSendFailure {
+               private AllFailedRetrySafe(long ptr, bindings.LDKPaymentSendFailure.AllFailedRetrySafe obj) {
+                       super(null, ptr);
+               }
+       }
+       public final static class PartialFailure extends PaymentSendFailure {
+               private PartialFailure(long ptr, bindings.LDKPaymentSendFailure.PartialFailure obj) {
+                       super(null, ptr);
+               }
+       }
 }