Skip to content
Snippets Groups Projects
Commit c368836a authored by Philipp Spohr's avatar Philipp Spohr
Browse files

Reconfigured SWIG to enable callbacks

Refactoring
parent 45c3cbec
No related branches found
No related tags found
No related merge requests found
Showing
with 341 additions and 203 deletions
......@@ -39,10 +39,11 @@ import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoResult;
import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoSolution;
import de.hhu.ba.yoshikoWrapper.gui.ResultPanel;
import de.hhu.ba.yoshikoWrapper.logging.YoshikoLogger;
import de.hhu.ba.yoshikoWrapper.swig.ClusterEditingSolutions;
import de.hhu.ba.yoshikoWrapper.swig.IntVector;
import de.hhu.ba.yoshikoWrapper.swig.LibraryInput;
import de.hhu.ba.yoshikoWrapper.swig.LibraryInterface;
import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_std__vectorT_int_t;
import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_yskInput__LibraryInput;
import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_ysk__ClusterEditingSolutions;
public class AlgorithmTask extends AbstractTask {
......@@ -66,8 +67,8 @@ public class AlgorithmTask extends AbstractTask {
private int numberOfSolutions;
//temps, need to be freed in C++
private SWIGTYPE_p_yskInput__LibraryInput input;
private SWIGTYPE_p_ysk__ClusterEditingSolutions result;
private LibraryInput input;
private ClusterEditingSolutions result;
public AlgorithmTask(
CyNetwork net,
......@@ -131,7 +132,7 @@ public class AlgorithmTask extends AbstractTask {
taskMonitor.setProgress(0.2);
//Set the default value for insertion cost
LibraryInterface.LibraryInput_setDefaultInsertionCost(input, insertionCostDefault);
input.setDefaultInsertionCost(insertionCostDefault);
//Call Yoshiko <<< Algorithm is performed here
result = LibraryInterface.processLibraryInput(
......@@ -147,12 +148,12 @@ public class AlgorithmTask extends AbstractTask {
taskMonitor.setProgress(0.9);
long numberOfSolutions = LibraryInterface.ClusterEditingSolutions_getNumberOfSolutions(result);
long numberOfSolutions = result.getNumberOfSolutions();
taskMonitor.setStatusMessage("Found: "+numberOfSolutions+" solutions!"); //TODO localize
YoshikoResult yoshikoResult = new YoshikoResult();
yoshikoResult.editingCost = LibraryInterface.ClusterEditingSolutions_getTotalCost(result);
yoshikoResult.editingCost = result.getTotalCost();
//Loop over (multiple) solutions
for (long i=0;i<numberOfSolutions;i++) {
......@@ -165,7 +166,7 @@ public class AlgorithmTask extends AbstractTask {
net.getDefaultNodeTable().createColumn(columnName, String.class, false);
//Fetch number of clusters in the solution
long numberOfClusters = LibraryInterface.ClusterEditingSolutions_getNumberOfClusters(result, i);
long numberOfClusters = result.getNumberOfClusters(i);
//Loop over cluster
for (long k=0;k<numberOfClusters;k++) {
......@@ -175,12 +176,12 @@ public class AlgorithmTask extends AbstractTask {
taskMonitor.setStatusMessage("Processing cluster "+(k+1)+" of "+numberOfClusters);
SWIGTYPE_p_std__vectorT_int_t clusterVector = LibraryInterface.ClusterEditingSolutions_getCluster(result, i, k);
IntVector clusterVector = result.getCluster(i, k);
long sizeOfCluster = LibraryInterface.IntVector_size(clusterVector);
long sizeOfCluster = clusterVector.size();
for (int l=0;l<sizeOfCluster;l++) { //Unsafe mismatch int long
taskMonitor.setStatusMessage("Processing entry "+(l+1)+ " of "+sizeOfCluster);
int nodeID = LibraryInterface.IntVector_get(clusterVector, l);
int nodeID = clusterVector.get(l);
CyNode node = nodeMap.indexOf(nodeID); //<<< Another int/long conversion
cluster.addNode(node);
......@@ -191,15 +192,16 @@ public class AlgorithmTask extends AbstractTask {
yoshikoResult.solutions.add(solution);
}
//At this point the C++ objects can be freed, in case that the algorithm terminates beforehand they need to be cleaned-up elsewhere
LibraryInterface.delete_LibraryInput(input);
LibraryInterface.delete_ClusterEditingSolutions(result);
//Provide some useful info
if (LibraryInterface.ClusterEditingSolutions_isTimedOut(result)) {
if (result.isTimedOut()) {
throw new Exception(LocalizationManager.get("timedOutMessage"));
}
//At this point the C++ objects can be freed, in case that the algorithm terminates beforehand they need to be cleaned-up elsewhere
input.delete();
result.delete();
//Generate solutionsPanel
ResultPanel solutionsPanel = new ResultPanel(yoshikoResult);
......@@ -217,10 +219,10 @@ public class AlgorithmTask extends AbstractTask {
public void cancel() {
//Free C++ resources
if (input != null) {
LibraryInterface.delete_LibraryInput(input);
input.delete();
}
if (result != null) {
LibraryInterface.delete_ClusterEditingSolutions(result);
result.delete();
}
super.cancel();
}
......
package de.hhu.ba.yoshikoWrapper.core;
import de.hhu.ba.yoshikoWrapper.swig.JavaInformer;
public class CallbackHandler extends JavaInformer {
public CallbackHandler() {
}
@Override
public void callback() {
}
}
......@@ -30,15 +30,15 @@ import org.cytoscape.model.CyRow;
import org.slf4j.Logger;
import de.hhu.ba.yoshikoWrapper.logging.YoshikoLogger;
import de.hhu.ba.yoshikoWrapper.swig.LibraryInput;
import de.hhu.ba.yoshikoWrapper.swig.LibraryInterface;
import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_yskInput__LibraryInput;
public class NetworkParser {
//Symbolic Links
private static Logger logger = YoshikoLogger.getInstance().getLogger();
public static SWIGTYPE_p_yskInput__LibraryInput parseNetwork(
public static LibraryInput parseNetwork(
CyNetwork net,
NodeMap nodeMap,
CyColumn weightColumn,
......@@ -48,10 +48,10 @@ public class NetworkParser {
)
{
//Create an empty instance / fetch C++ object pointer
SWIGTYPE_p_yskInput__LibraryInput generatedInput = LibraryInterface.new_LibraryInput();
LibraryInput generatedInput = new LibraryInput();
if (net != null){
//Create an empty full graph with a given size
LibraryInterface.LibraryInput_setSize(generatedInput, net.getNodeCount());
generatedInput.setSize(net.getNodeCount());
//Fetch edges
List<CyEdge> edges = net.getEdgeList();
......@@ -98,8 +98,7 @@ public class NetworkParser {
logger.debug("Found Edge: "+edgeEntry.get("name", String.class)+ " with weight:"+weight);
LibraryInterface.LibraryInput_addEdge(
generatedInput,
generatedInput.addEdge(
nodeMap.get(e.getSource()),
nodeMap.get(e.getTarget()),
weight,
......
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 3.0.8
*
* Do not make changes to this file unless you know what you are doing--modify
* the SWIG interface file instead.
* ----------------------------------------------------------------------------- */
package de.hhu.ba.yoshikoWrapper.swig;
public class ClusterEditingSolutions {
private transient long swigCPtr;
protected transient boolean swigCMemOwn;
protected ClusterEditingSolutions(long cPtr, boolean cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = cPtr;
}
protected static long getCPtr(ClusterEditingSolutions obj) {
return (obj == null) ? 0 : obj.swigCPtr;
}
protected void finalize() {
delete();
}
public synchronized void delete() {
if (swigCPtr != 0) {
if (swigCMemOwn) {
swigCMemOwn = false;
LibraryInterfaceJNI.delete_ClusterEditingSolutions(swigCPtr);
}
swigCPtr = 0;
}
}
public ClusterEditingSolutions() {
this(LibraryInterfaceJNI.new_ClusterEditingSolutions(), true);
}
public long getNumberOfClusters(long i) {
return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfClusters(swigCPtr, this, i);
}
public IntVector getCluster(long i, long k) {
return new IntVector(LibraryInterfaceJNI.ClusterEditingSolutions_getCluster(swigCPtr, this, i, k), false);
}
public SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t getSolution(long i) {
return new SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t(LibraryInterfaceJNI.ClusterEditingSolutions_getSolution(swigCPtr, this, i), false);
}
public long getNumberOfSolutions() {
return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfSolutions(swigCPtr, this);
}
public double getTotalCost() {
return LibraryInterfaceJNI.ClusterEditingSolutions_getTotalCost(swigCPtr, this);
}
public boolean isTimedOut() {
return LibraryInterfaceJNI.ClusterEditingSolutions_isTimedOut(swigCPtr, this);
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 3.0.8
*
* Do not make changes to this file unless you know what you are doing--modify
* the SWIG interface file instead.
* ----------------------------------------------------------------------------- */
package de.hhu.ba.yoshikoWrapper.swig;
public class IntVector {
private transient long swigCPtr;
protected transient boolean swigCMemOwn;
protected IntVector(long cPtr, boolean cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = cPtr;
}
protected static long getCPtr(IntVector obj) {
return (obj == null) ? 0 : obj.swigCPtr;
}
protected void finalize() {
delete();
}
public synchronized void delete() {
if (swigCPtr != 0) {
if (swigCMemOwn) {
swigCMemOwn = false;
LibraryInterfaceJNI.delete_IntVector(swigCPtr);
}
swigCPtr = 0;
}
}
public IntVector() {
this(LibraryInterfaceJNI.new_IntVector__SWIG_0(), true);
}
public IntVector(long n) {
this(LibraryInterfaceJNI.new_IntVector__SWIG_1(n), true);
}
public long size() {
return LibraryInterfaceJNI.IntVector_size(swigCPtr, this);
}
public long capacity() {
return LibraryInterfaceJNI.IntVector_capacity(swigCPtr, this);
}
public void reserve(long n) {
LibraryInterfaceJNI.IntVector_reserve(swigCPtr, this, n);
}
public boolean isEmpty() {
return LibraryInterfaceJNI.IntVector_isEmpty(swigCPtr, this);
}
public void clear() {
LibraryInterfaceJNI.IntVector_clear(swigCPtr, this);
}
public void add(int x) {
LibraryInterfaceJNI.IntVector_add(swigCPtr, this, x);
}
public int get(int i) {
return LibraryInterfaceJNI.IntVector_get(swigCPtr, this, i);
}
public void set(int i, int val) {
LibraryInterfaceJNI.IntVector_set(swigCPtr, this, i, val);
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 3.0.8
*
* Do not make changes to this file unless you know what you are doing--modify
* the SWIG interface file instead.
* ----------------------------------------------------------------------------- */
package de.hhu.ba.yoshikoWrapper.swig;
public class JavaInformer {
private transient long swigCPtr;
protected transient boolean swigCMemOwn;
protected JavaInformer(long cPtr, boolean cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = cPtr;
}
protected static long getCPtr(JavaInformer obj) {
return (obj == null) ? 0 : obj.swigCPtr;
}
protected void finalize() {
delete();
}
public synchronized void delete() {
if (swigCPtr != 0) {
if (swigCMemOwn) {
swigCMemOwn = false;
LibraryInterfaceJNI.delete_JavaInformer(swigCPtr);
}
swigCPtr = 0;
}
}
protected void swigDirectorDisconnect() {
swigCMemOwn = false;
delete();
}
public void swigReleaseOwnership() {
swigCMemOwn = false;
LibraryInterfaceJNI.JavaInformer_change_ownership(this, swigCPtr, false);
}
public void swigTakeOwnership() {
swigCMemOwn = true;
LibraryInterfaceJNI.JavaInformer_change_ownership(this, swigCPtr, true);
}
public void callback() {
if (getClass() == JavaInformer.class) LibraryInterfaceJNI.JavaInformer_callback(swigCPtr, this); else LibraryInterfaceJNI.JavaInformer_callbackSwigExplicitJavaInformer(swigCPtr, this);
}
public JavaInformer() {
this(LibraryInterfaceJNI.new_JavaInformer(), true);
LibraryInterfaceJNI.JavaInformer_director_connect(this, swigCPtr, swigCMemOwn, true);
}
}
......@@ -8,19 +8,51 @@
package de.hhu.ba.yoshikoWrapper.swig;
public class SWIGTYPE_p_std__vectorT_int_t {
public class LibraryInput {
private transient long swigCPtr;
protected transient boolean swigCMemOwn;
protected SWIGTYPE_p_std__vectorT_int_t(long cPtr, @SuppressWarnings("unused") boolean futureUse) {
protected LibraryInput(long cPtr, boolean cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = cPtr;
}
protected SWIGTYPE_p_std__vectorT_int_t() {
protected static long getCPtr(LibraryInput obj) {
return (obj == null) ? 0 : obj.swigCPtr;
}
protected void finalize() {
delete();
}
public synchronized void delete() {
if (swigCPtr != 0) {
if (swigCMemOwn) {
swigCMemOwn = false;
LibraryInterfaceJNI.delete_LibraryInput(swigCPtr);
}
swigCPtr = 0;
}
}
protected static long getCPtr(SWIGTYPE_p_std__vectorT_int_t obj) {
return (obj == null) ? 0 : obj.swigCPtr;
public LibraryInput() {
this(LibraryInterfaceJNI.new_LibraryInput(), true);
}
public void addEdge(long sourceID, long targetID, double cost) {
LibraryInterfaceJNI.LibraryInput_addEdge__SWIG_0(swigCPtr, this, sourceID, targetID, cost);
}
public void addEdge(long sourceID, long targetID, double cost, boolean permanent, boolean forbidden) {
LibraryInterfaceJNI.LibraryInput_addEdge__SWIG_1(swigCPtr, this, sourceID, targetID, cost, permanent, forbidden);
}
public void setSize(long id) {
LibraryInterfaceJNI.LibraryInput_setSize(swigCPtr, this, id);
}
public void setDefaultInsertionCost(double cost) {
LibraryInterfaceJNI.LibraryInput_setDefaultInsertionCost(swigCPtr, this, cost);
}
}
......@@ -9,117 +9,13 @@
package de.hhu.ba.yoshikoWrapper.swig;
public class LibraryInterface {
public static SWIGTYPE_p_std__vectorT_int_t new_IntVector() {
long cPtr = LibraryInterfaceJNI.new_IntVector__SWIG_0();
return (cPtr == 0) ? null : new SWIGTYPE_p_std__vectorT_int_t(cPtr, true);
}
public static SWIGTYPE_p_std__vectorT_int_t new_IntVector(long n) {
long cPtr = LibraryInterfaceJNI.new_IntVector__SWIG_1(n);
return (cPtr == 0) ? null : new SWIGTYPE_p_std__vectorT_int_t(cPtr, true);
}
public static long IntVector_size(SWIGTYPE_p_std__vectorT_int_t self) {
return LibraryInterfaceJNI.IntVector_size(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self));
}
public static long IntVector_capacity(SWIGTYPE_p_std__vectorT_int_t self) {
return LibraryInterfaceJNI.IntVector_capacity(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self));
}
public static void IntVector_reserve(SWIGTYPE_p_std__vectorT_int_t self, long n) {
LibraryInterfaceJNI.IntVector_reserve(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), n);
}
public static boolean IntVector_isEmpty(SWIGTYPE_p_std__vectorT_int_t self) {
return LibraryInterfaceJNI.IntVector_isEmpty(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self));
}
public static void IntVector_clear(SWIGTYPE_p_std__vectorT_int_t self) {
LibraryInterfaceJNI.IntVector_clear(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self));
}
public static void IntVector_add(SWIGTYPE_p_std__vectorT_int_t self, int x) {
LibraryInterfaceJNI.IntVector_add(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), x);
}
public static int IntVector_get(SWIGTYPE_p_std__vectorT_int_t self, int i) {
return LibraryInterfaceJNI.IntVector_get(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), i);
}
public static void IntVector_set(SWIGTYPE_p_std__vectorT_int_t self, int i, int val) {
LibraryInterfaceJNI.IntVector_set(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), i, val);
}
public static void delete_IntVector(SWIGTYPE_p_std__vectorT_int_t self) {
LibraryInterfaceJNI.delete_IntVector(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self));
}
public static SWIGTYPE_p_ysk__ClusterEditingSolutions new_ClusterEditingSolutions() {
long cPtr = LibraryInterfaceJNI.new_ClusterEditingSolutions();
return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingSolutions(cPtr, true);
}
public static long ClusterEditingSolutions_getNumberOfClusters(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i) {
return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfClusters(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i);
}
public static SWIGTYPE_p_std__vectorT_int_t ClusterEditingSolutions_getCluster(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i, long k) {
return new SWIGTYPE_p_std__vectorT_int_t(LibraryInterfaceJNI.ClusterEditingSolutions_getCluster(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i, k), false);
}
public static SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t ClusterEditingSolutions_getSolution(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i) {
return new SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t(LibraryInterfaceJNI.ClusterEditingSolutions_getSolution(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i), false);
}
public static long ClusterEditingSolutions_getNumberOfSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions self) {
return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self));
}
public static double ClusterEditingSolutions_getTotalCost(SWIGTYPE_p_ysk__ClusterEditingSolutions self) {
return LibraryInterfaceJNI.ClusterEditingSolutions_getTotalCost(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self));
}
public static boolean ClusterEditingSolutions_isTimedOut(SWIGTYPE_p_ysk__ClusterEditingSolutions self) {
return LibraryInterfaceJNI.ClusterEditingSolutions_isTimedOut(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self));
}
public static void delete_ClusterEditingSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions self) {
LibraryInterfaceJNI.delete_ClusterEditingSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self));
}
public static SWIGTYPE_p_yskInput__LibraryInput new_LibraryInput() {
long cPtr = LibraryInterfaceJNI.new_LibraryInput();
return (cPtr == 0) ? null : new SWIGTYPE_p_yskInput__LibraryInput(cPtr, true);
}
public static void delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput self) {
LibraryInterfaceJNI.delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self));
}
public static void LibraryInput_addEdge(SWIGTYPE_p_yskInput__LibraryInput self, long sourceID, long targetID, double cost) {
LibraryInterfaceJNI.LibraryInput_addEdge__SWIG_0(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), sourceID, targetID, cost);
}
public static void LibraryInput_addEdge(SWIGTYPE_p_yskInput__LibraryInput self, long sourceID, long targetID, double cost, boolean permanent, boolean forbidden) {
LibraryInterfaceJNI.LibraryInput_addEdge__SWIG_1(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), sourceID, targetID, cost, permanent, forbidden);
}
public static void LibraryInput_setSize(SWIGTYPE_p_yskInput__LibraryInput self, long id) {
LibraryInterfaceJNI.LibraryInput_setSize(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), id);
}
public static void LibraryInput_setDefaultInsertionCost(SWIGTYPE_p_yskInput__LibraryInput self, double cost) {
LibraryInterfaceJNI.LibraryInput_setDefaultInsertionCost(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), cost);
}
public static String getVersionString() {
return LibraryInterfaceJNI.getVersionString();
}
public static SWIGTYPE_p_ysk__ClusterEditingSolutions processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput libIn, int nrOptimalSolutions, String rulesBitMask, double multiplicativeFactor, boolean separatePartitionCuts, boolean separateTriangles, boolean useHeuristic) {
long cPtr = LibraryInterfaceJNI.processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(libIn), nrOptimalSolutions, rulesBitMask, multiplicativeFactor, separatePartitionCuts, separateTriangles, useHeuristic);
return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingSolutions(cPtr, false);
public static ClusterEditingSolutions processLibraryInput(LibraryInput libIn, int nrOptimalSolutions, String rulesBitMask, double multiplicativeFactor, boolean separatePartitionCuts, boolean separateTriangles, boolean useHeuristic) {
long cPtr = LibraryInterfaceJNI.processLibraryInput(LibraryInput.getCPtr(libIn), libIn, nrOptimalSolutions, rulesBitMask, multiplicativeFactor, separatePartitionCuts, separateTriangles, useHeuristic);
return (cPtr == 0) ? null : new ClusterEditingSolutions(cPtr, false);
}
public static void setTimeLimit(int limit) {
......
......@@ -11,31 +11,46 @@ package de.hhu.ba.yoshikoWrapper.swig;
public class LibraryInterfaceJNI {
public final static native long new_IntVector__SWIG_0();
public final static native long new_IntVector__SWIG_1(long jarg1);
public final static native long IntVector_size(long jarg1);
public final static native long IntVector_capacity(long jarg1);
public final static native void IntVector_reserve(long jarg1, long jarg2);
public final static native boolean IntVector_isEmpty(long jarg1);
public final static native void IntVector_clear(long jarg1);
public final static native void IntVector_add(long jarg1, int jarg2);
public final static native int IntVector_get(long jarg1, int jarg2);
public final static native void IntVector_set(long jarg1, int jarg2, int jarg3);
public final static native long IntVector_size(long jarg1, IntVector jarg1_);
public final static native long IntVector_capacity(long jarg1, IntVector jarg1_);
public final static native void IntVector_reserve(long jarg1, IntVector jarg1_, long jarg2);
public final static native boolean IntVector_isEmpty(long jarg1, IntVector jarg1_);
public final static native void IntVector_clear(long jarg1, IntVector jarg1_);
public final static native void IntVector_add(long jarg1, IntVector jarg1_, int jarg2);
public final static native int IntVector_get(long jarg1, IntVector jarg1_, int jarg2);
public final static native void IntVector_set(long jarg1, IntVector jarg1_, int jarg2, int jarg3);
public final static native void delete_IntVector(long jarg1);
public final static native long new_ClusterEditingSolutions();
public final static native long ClusterEditingSolutions_getNumberOfClusters(long jarg1, long jarg2);
public final static native long ClusterEditingSolutions_getCluster(long jarg1, long jarg2, long jarg3);
public final static native long ClusterEditingSolutions_getSolution(long jarg1, long jarg2);
public final static native long ClusterEditingSolutions_getNumberOfSolutions(long jarg1);
public final static native double ClusterEditingSolutions_getTotalCost(long jarg1);
public final static native boolean ClusterEditingSolutions_isTimedOut(long jarg1);
public final static native long ClusterEditingSolutions_getNumberOfClusters(long jarg1, ClusterEditingSolutions jarg1_, long jarg2);
public final static native long ClusterEditingSolutions_getCluster(long jarg1, ClusterEditingSolutions jarg1_, long jarg2, long jarg3);
public final static native long ClusterEditingSolutions_getSolution(long jarg1, ClusterEditingSolutions jarg1_, long jarg2);
public final static native long ClusterEditingSolutions_getNumberOfSolutions(long jarg1, ClusterEditingSolutions jarg1_);
public final static native double ClusterEditingSolutions_getTotalCost(long jarg1, ClusterEditingSolutions jarg1_);
public final static native boolean ClusterEditingSolutions_isTimedOut(long jarg1, ClusterEditingSolutions jarg1_);
public final static native void delete_ClusterEditingSolutions(long jarg1);
public final static native long new_LibraryInput();
public final static native void delete_LibraryInput(long jarg1);
public final static native void LibraryInput_addEdge__SWIG_0(long jarg1, long jarg2, long jarg3, double jarg4);
public final static native void LibraryInput_addEdge__SWIG_1(long jarg1, long jarg2, long jarg3, double jarg4, boolean jarg5, boolean jarg6);
public final static native void LibraryInput_setSize(long jarg1, long jarg2);
public final static native void LibraryInput_setDefaultInsertionCost(long jarg1, double jarg2);
public final static native void LibraryInput_addEdge__SWIG_0(long jarg1, LibraryInput jarg1_, long jarg2, long jarg3, double jarg4);
public final static native void LibraryInput_addEdge__SWIG_1(long jarg1, LibraryInput jarg1_, long jarg2, long jarg3, double jarg4, boolean jarg5, boolean jarg6);
public final static native void LibraryInput_setSize(long jarg1, LibraryInput jarg1_, long jarg2);
public final static native void LibraryInput_setDefaultInsertionCost(long jarg1, LibraryInput jarg1_, double jarg2);
public final static native void JavaInformer_callback(long jarg1, JavaInformer jarg1_);
public final static native void JavaInformer_callbackSwigExplicitJavaInformer(long jarg1, JavaInformer jarg1_);
public final static native void delete_JavaInformer(long jarg1);
public final static native long new_JavaInformer();
public final static native void JavaInformer_director_connect(JavaInformer obj, long cptr, boolean mem_own, boolean weak_global);
public final static native void JavaInformer_change_ownership(JavaInformer obj, long cptr, boolean take_or_release);
public final static native String getVersionString();
public final static native long processLibraryInput(long jarg1, int jarg2, String jarg3, double jarg4, boolean jarg5, boolean jarg6, boolean jarg7);
public final static native long processLibraryInput(long jarg1, LibraryInput jarg1_, int jarg2, String jarg3, double jarg4, boolean jarg5, boolean jarg6, boolean jarg7);
public final static native void setTimeLimit(int jarg1);
public final static native void setVerbosity(int jarg1);
public static void SwigDirector_JavaInformer_callback(JavaInformer jself) {
jself.callback();
}
private final static native void swig_module_init();
static {
swig_module_init();
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 3.0.8
*
* Do not make changes to this file unless you know what you are doing--modify
* the SWIG interface file instead.
* ----------------------------------------------------------------------------- */
package de.hhu.ba.yoshikoWrapper.swig;
public class SWIGTYPE_p_yskInput__LibraryInput {
private transient long swigCPtr;
protected SWIGTYPE_p_yskInput__LibraryInput(long cPtr, @SuppressWarnings("unused") boolean futureUse) {
swigCPtr = cPtr;
}
protected SWIGTYPE_p_yskInput__LibraryInput() {
swigCPtr = 0;
}
protected static long getCPtr(SWIGTYPE_p_yskInput__LibraryInput obj) {
return (obj == null) ? 0 : obj.swigCPtr;
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 3.0.8
*
* Do not make changes to this file unless you know what you are doing--modify
* the SWIG interface file instead.
* ----------------------------------------------------------------------------- */
package de.hhu.ba.yoshikoWrapper.swig;
public class SWIGTYPE_p_ysk__ClusterEditingSolutions {
private transient long swigCPtr;
protected SWIGTYPE_p_ysk__ClusterEditingSolutions(long cPtr, @SuppressWarnings("unused") boolean futureUse) {
swigCPtr = cPtr;
}
protected SWIGTYPE_p_ysk__ClusterEditingSolutions() {
swigCPtr = 0;
}
protected static long getCPtr(SWIGTYPE_p_ysk__ClusterEditingSolutions obj) {
return (obj == null) ? 0 : obj.swigCPtr;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment