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

de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.RegularIFNetTransition Maven / Gradle / Ivy

package de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet;

import de.invation.code.toval.constraint.AbstractConstraint;
import de.invation.code.toval.validate.ParameterException;
import de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.abstr.AbstractRegularIFNetTransition;

public class RegularIFNetTransition extends AbstractRegularIFNetTransition {

	private static final long serialVersionUID = 8765864248775516722L;

//	protected RegularIFNetTransition() {
//		super();
//	}

	public RegularIFNetTransition(String name, boolean isEmpty) {
		super(name, isEmpty);
	}

	public RegularIFNetTransition(String name, String label, boolean isEmpty) {
		super(name, label, isEmpty);
	}

	public RegularIFNetTransition(String name, String label) {
		super(name, label);
	}

	public RegularIFNetTransition(String name) {
		super(name);
	}

	@Override
	public RegularIFNetTransition clone() {
		RegularIFNetTransition result = (RegularIFNetTransition) super.clone();
		try {
			if (dataContainer != null)
				result.setGuardDataContainer(dataContainer);
			for (AbstractConstraint guard : guards) {
				result.addGuard(guard.clone());
			}

			for (String color : accessModes.keySet()) {
				result.setAccessMode(color, getAccessModes(color));
			}
		} catch (ParameterException e) {
			e.printStackTrace();
		}
		return result;
	}

	@Override
	protected RegularIFNetTransition newInstance(String name) {
		return new RegularIFNetTransition(name);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy