Provide human versions of trait interfaces, with a bunch of fixes to make it work
[ldk-java] / src / main / java / org / ldk / structs / NetworkGraph.java
index f18a9645e548508a98ca0fde0d5960891a9066b6..cb8f31f9f4b1ab9ce7e909138a6c7163dc87ce12 100644 (file)
@@ -2,22 +2,34 @@ package org.ldk.structs;
 
 import org.ldk.impl.bindings;
 import org.ldk.enums.*;
+import org.ldk.util.*;
+import java.util.Arrays;
 
+@SuppressWarnings("unchecked") // We correctly assign various generic arrays
 public class NetworkGraph extends CommonBase {
        NetworkGraph(Object _dummy, long ptr) { super(ptr); }
        @Override @SuppressWarnings("deprecation")
        protected void finalize() throws Throwable {
                super.finalize();
-               bindings.NetworkGraph_free(ptr);
+               if (ptr != 0) { bindings.NetworkGraph_free(ptr); }
        }
 
-       // Skipped NetworkGraph_write
-       public NetworkGraph(byte[] ser) {
-               super(bindings.NetworkGraph_read(ser));
+       public byte[] write(NetworkGraph obj) {
+               byte[] ret = bindings.NetworkGraph_write(obj == null ? 0 : obj.ptr & ~1);
+               this.ptrs_to.add(obj);
+               return ret;
        }
 
-       public NetworkGraph() {
-               super(bindings.NetworkGraph_new());
+       public static NetworkGraph constructor_read(byte[] ser) {
+               long ret = bindings.NetworkGraph_read(ser);
+               NetworkGraph ret_hu_conv = new NetworkGraph(null, ret);
+               return ret_hu_conv;
+       }
+
+       public static NetworkGraph constructor_new() {
+               long ret = bindings.NetworkGraph_new();
+               NetworkGraph ret_hu_conv = new NetworkGraph(null, ret);
+               return ret_hu_conv;
        }
 
        public void close_channel_from_update(long short_channel_id, boolean is_permanent) {