Rename getInstance() -> getInputData(). Override getInputData() in solution classes to return correct type instead of abstract one.
This commit is contained in:
@@ -19,8 +19,8 @@ public abstract class StronglyConnectedComponentsAlgorithm extends AbstractAlgor
|
||||
}
|
||||
|
||||
@Override
|
||||
public StronglyConnectedComponentsData getInstance() {
|
||||
return (StronglyConnectedComponentsData)super.getInstance();
|
||||
public StronglyConnectedComponentsData getInputData() {
|
||||
return (StronglyConnectedComponentsData)super.getInputData();
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -6,23 +6,30 @@ import org.insa.algo.AbstractSolution;
|
||||
import org.insa.graph.Node;
|
||||
|
||||
public class StronglyConnectedComponentsSolution extends AbstractSolution {
|
||||
|
||||
// Components
|
||||
private ArrayList<ArrayList<Node>> components;
|
||||
|
||||
protected StronglyConnectedComponentsSolution(StronglyConnectedComponentsData instance) {
|
||||
super(instance);
|
||||
}
|
||||
|
||||
protected StronglyConnectedComponentsSolution(StronglyConnectedComponentsData instance,
|
||||
Status status, ArrayList<ArrayList<Node>> components) {
|
||||
super(instance, status);
|
||||
this.components = components;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Components of the solution, if any.
|
||||
*/
|
||||
public ArrayList<ArrayList<Node>> getComponents() { return components; }
|
||||
// Components
|
||||
private ArrayList<ArrayList<Node>> components;
|
||||
|
||||
protected StronglyConnectedComponentsSolution(StronglyConnectedComponentsData instance) {
|
||||
super(instance);
|
||||
}
|
||||
|
||||
protected StronglyConnectedComponentsSolution(StronglyConnectedComponentsData instance, Status status,
|
||||
ArrayList<ArrayList<Node>> components) {
|
||||
super(instance, status);
|
||||
this.components = components;
|
||||
}
|
||||
|
||||
@Override
|
||||
public StronglyConnectedComponentsData getInputData() {
|
||||
return (StronglyConnectedComponentsData) super.getInputData();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Components of the solution, if any.
|
||||
*/
|
||||
public ArrayList<ArrayList<Node>> getComponents() {
|
||||
return components;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -114,7 +114,7 @@ public class TarjanAlgorithm extends StronglyConnectedComponentsAlgorithm {
|
||||
|
||||
@Override
|
||||
protected StronglyConnectedComponentsSolution doRun() {
|
||||
Graph graph = getInstance().getGraph();
|
||||
Graph graph = getInputData().getGraph();
|
||||
|
||||
components = new ArrayList<ArrayList<Node>>();
|
||||
|
||||
@@ -138,7 +138,7 @@ public class TarjanAlgorithm extends StronglyConnectedComponentsAlgorithm {
|
||||
}
|
||||
}
|
||||
|
||||
return new StronglyConnectedComponentsSolution(getInstance(), Status.OPTIMAL, components);
|
||||
return new StronglyConnectedComponentsSolution(getInputData(), Status.OPTIMAL, components);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user