de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.IFNetFlowRelation Maven / Gradle / Ivy
package de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet;
import de.invation.code.toval.types.Multiset;
import de.invation.code.toval.validate.ParameterException;
import de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.abstr.AbstractIFNetFlowRelation;
import de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.abstr.AbstractIFNetTransition;
public class IFNetFlowRelation extends AbstractIFNetFlowRelation> {
private static final long serialVersionUID = 8266335039396091886L;
public IFNetFlowRelation(AbstractIFNetTransition transition, IFNetPlace place, Multiset constraint) {
super(transition, place, constraint);
}
public IFNetFlowRelation(AbstractIFNetTransition transition, IFNetPlace place) {
super(transition, place);
}
public IFNetFlowRelation(IFNetPlace place, AbstractIFNetTransition transition, Multiset constraint) {
super(place, transition, constraint);
}
public IFNetFlowRelation(IFNetPlace place, AbstractIFNetTransition transition) {
super(place, transition);
}
@Override
public IFNetFlowRelation clone(IFNetPlace place, AbstractIFNetTransition transition, boolean directionPT) {
IFNetFlowRelation result = null;
try {
// Can't set direction afterwards. The default name could be wrong then when testing for equality.
if (directionPT)
result = new IFNetFlowRelation(place, transition);
else
result = new IFNetFlowRelation(transition, place);
result.setConstraint(getConstraint().clone());
} catch (ParameterException e) {
e.printStackTrace();
}
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy