/**
* Copyright (c) 2015 committers of YAKINDU and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* Contributors:
* committers of YAKINDU - initial API and implementation
*
*/
package org.yakindu.sct.model.sgraph.test.util;
import org.yakindu.sct.model.sgraph.Entry;
import org.yakindu.sct.model.sgraph.EntryKind;
import org.yakindu.sct.model.sgraph.FinalState;
import org.yakindu.sct.model.sgraph.Region;
import org.yakindu.sct.model.sgraph.SGraphFactory;
import org.yakindu.sct.model.sgraph.State;
import org.yakindu.sct.model.sgraph.Statechart;
import org.yakindu.sct.model.sgraph.Synchronization;
import org.yakindu.sct.model.sgraph.Transition;
import org.yakindu.sct.model.sgraph.Vertex;
import org.yakindu.sct.model.sgraph.impl.SGraphFactoryImpl;
public class SGraphTestFactory extends SGraphFactoryImpl {
public static SGraphTestFactory eInstance = new SGraphTestFactory();
public static Statechart _createStatechart(String name) {
Statechart sc = SGraphFactory.eINSTANCE.createStatechart();
sc.setName(name);
return sc;
}
public static Region _createRegion(String name, Statechart sc) {
Region region = SGraphFactory.eINSTANCE.createRegion();
region.setName(name);
if (sc != null)
sc.getRegions().add(region);
return region;
}
public static Region _createRegion(String name, State state) {
Region region = SGraphFactory.eINSTANCE.createRegion();
region.setName(name);
if (state != null)
state.getRegions().add(region);
return region;
}
public static State _createState(String name, Region r) {
State state = SGraphFactory.eINSTANCE.createState();
state.setName(name);
if (r != null)
r.getVertices().add(state);
return state;
}
public static FinalState _createFinalState(Region r) {
FinalState state = SGraphFactory.eINSTANCE.createFinalState();
if (r != null)
r.getVertices().add(state);
return state;
}
public static Entry _createEntry(EntryKind kind, String name, Region r) {
Entry entry = SGraphFactory.eINSTANCE.createEntry();
if (kind != null)
entry.setKind(kind);
else
entry.setKind(EntryKind.INITIAL);
entry.setName(name);
if (r != null)
r.getVertices().add(entry);
return entry;
}
public static Synchronization _createSynchronization(Region r) {
Synchronization sync = SGraphFactory.eINSTANCE.createSynchronization();
if (r != null)
r.getVertices().add(sync);
return sync;
}
public static Transition _createTransition(Vertex source, Vertex target) {
Transition t = SGraphFactory.eINSTANCE.createTransition();
t.setSource(source);
t.setTarget(target);
return t;
}
}