1 package org.ldk.structs;
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
6 import java.util.Arrays;
7 import java.lang.ref.Reference;
8 import javax.annotation.Nullable;
12 * When signing using a fallible method either an user-supplied `SignError` or a `CreationError`
15 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
16 public class SignOrCreationError extends CommonBase {
17 private SignOrCreationError(Object _dummy, long ptr) { super(ptr); }
18 @Override @SuppressWarnings("deprecation")
19 protected void finalize() throws Throwable {
21 if (ptr != 0) { bindings.SignOrCreationError_free(ptr); }
23 static SignOrCreationError constr_from_ptr(long ptr) {
24 bindings.LDKSignOrCreationError raw_val = bindings.LDKSignOrCreationError_ref_from_ptr(ptr);
25 if (raw_val.getClass() == bindings.LDKSignOrCreationError.SignError.class) {
26 return new SignError(ptr, (bindings.LDKSignOrCreationError.SignError)raw_val);
28 if (raw_val.getClass() == bindings.LDKSignOrCreationError.CreationError.class) {
29 return new CreationError(ptr, (bindings.LDKSignOrCreationError.CreationError)raw_val);
31 assert false; return null; // Unreachable without extending the (internal) bindings interface
35 * An error occurred during signing
37 public final static class SignError extends SignOrCreationError {
38 private SignError(long ptr, bindings.LDKSignOrCreationError.SignError obj) {
43 * An error occurred while building the transaction
45 public final static class CreationError extends SignOrCreationError {
46 public final org.ldk.enums.CreationError creation_error;
47 private CreationError(long ptr, bindings.LDKSignOrCreationError.CreationError obj) {
49 this.creation_error = obj.creation_error;
53 long ret = bindings.SignOrCreationError_clone_ptr(this.ptr);
54 Reference.reachabilityFence(this);
59 * Creates a copy of the SignOrCreationError
61 public SignOrCreationError clone() {
62 long ret = bindings.SignOrCreationError_clone(this.ptr);
63 Reference.reachabilityFence(this);
64 if (ret >= 0 && ret <= 4096) { return null; }
65 org.ldk.structs.SignOrCreationError ret_hu_conv = org.ldk.structs.SignOrCreationError.constr_from_ptr(ret);
66 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(this); };
71 * Utility method to constructs a new SignError-variant SignOrCreationError
73 public static SignOrCreationError sign_error() {
74 long ret = bindings.SignOrCreationError_sign_error();
75 if (ret >= 0 && ret <= 4096) { return null; }
76 org.ldk.structs.SignOrCreationError ret_hu_conv = org.ldk.structs.SignOrCreationError.constr_from_ptr(ret);
77 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
82 * Utility method to constructs a new CreationError-variant SignOrCreationError
84 public static SignOrCreationError creation_error(org.ldk.enums.CreationError a) {
85 long ret = bindings.SignOrCreationError_creation_error(a);
86 Reference.reachabilityFence(a);
87 if (ret >= 0 && ret <= 4096) { return null; }
88 org.ldk.structs.SignOrCreationError ret_hu_conv = org.ldk.structs.SignOrCreationError.constr_from_ptr(ret);
89 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
94 * Checks if two SignOrCreationErrors contain equal inner contents.
95 * This ignores pointers and is_owned flags and looks at the values in fields.
97 public boolean eq(SignOrCreationError b) {
98 boolean ret = bindings.SignOrCreationError_eq(this.ptr, b == null ? 0 : b.ptr);
99 Reference.reachabilityFence(this);
100 Reference.reachabilityFence(b);
104 @Override public boolean equals(Object o) {
105 if (!(o instanceof SignOrCreationError)) return false;
106 return this.eq((SignOrCreationError)o);
109 * Get the string representation of a SignOrCreationError object
111 public String to_str() {
112 String ret = bindings.SignOrCreationError_to_str(this.ptr);
113 Reference.reachabilityFence(this);