
org.psjava.ds.graph.SimpleFlowNetworkEdge Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of psjava Show documentation
Show all versions of psjava Show documentation
Problem Solving Library for Java
package org.psjava.ds.graph;
import org.psjava.util.AssertStatus;
public class SimpleFlowNetworkEdge {
public static FlowNetworkEdge create(final V from, final V to, final FlowStatus flowStatus, final E originalOrNull) {
return new FlowNetworkEdge() {
FlowNetworkEdge opposite;
@Override
public V from() {
return from;
}
@Override
public V to() {
return to;
}
@Override
public FlowStatus getFlowStatus() {
return flowStatus;
}
@Override
public FlowNetworkEdge getOpposite() {
AssertStatus.assertTrue(opposite != null, "Reversed edge is not set");
return opposite;
}
@Override
public void setOpposite(FlowNetworkEdge edge) {
this.opposite = edge;
}
@Override
public boolean isSkewSymmetryEdge() {
return originalOrNull == null;
}
@Override
public E getOriginalCapacityEdge() {
return originalOrNull;
}
@Override
public String toString() {
return DirectedEdgeToString.toString(this) + "(" + getFlowStatus() + ")";
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy