All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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