de.uni.freiburg.iig.telematik.sepia.serialize.PNSerializer_XML Maven / Gradle / Ivy
Show all versions of SEPIA Show documentation
package de.uni.freiburg.iig.telematik.sepia.serialize;
import java.io.IOException;
import de.uni.freiburg.iig.telematik.sepia.graphic.AbstractGraphicalPN;
import de.uni.freiburg.iig.telematik.sepia.graphic.netgraphics.AbstractPNGraphics;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractFlowRelation;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractMarking;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractPetriNet;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractPlace;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractTransition;
public abstract class PNSerializer_XML,
T extends AbstractTransition,
F extends AbstractFlowRelation,
M extends AbstractMarking,
S extends Object,
N extends AbstractPetriNet
,
G extends AbstractPNGraphics
> extends PNSerializer
{
public PNSerializer_XML(AbstractGraphicalPN
petriNet) {
super(petriNet);
initialize();
}
public PNSerializer_XML(N petriNet) {
super(petriNet);
initialize();
}
protected void initialize() {
support = new XMLSerializationSupport(getRootElementName());
}
protected abstract String getRootElementName();
protected abstract void addContent() throws SerializationException;
@Override
public String serialize() throws SerializationException {
addContent();
return support.serialize();
}
@Override
public void serialize(String path, String fileName) throws SerializationException, IOException {
addContent();
support.serialize(path, fileName, getFileExtension());
}
protected abstract String getFileExtension();
}