فهرست منبع

Changed Event name attribute type from string to enum.
Updated testcase code and traffic light example.

markus.muehlbrandt@itemis.de 13 سال پیش
والد
کامیت
713b446b58
72فایلهای تغییر یافته به همراه389 افزوده شده و 1341 حذف شده
  1. 2 2
      examples/org.yakindu.sct.generator.java.trafficlight/.classpath
  2. 1 0
      examples/org.yakindu.sct.generator.java.trafficlight/META-INF/MANIFEST.MF
  3. 4 4
      examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/Event.java
  4. 2 2
      examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/EventNotification.java
  5. 3 2
      examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/ITimerHandler.java
  6. 4 2
      examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/TimeEvent.java
  7. 4 3
      examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/TimerHandler.java
  8. 4 2
      examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/ValuedEvent.java
  9. 4 0
      examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/trafficlightwaiting/DefaultInterface.java
  10. 6 4
      examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/trafficlightwaiting/DefaultInterfaceImpl.java
  11. 30 26
      examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/trafficlightwaiting/TrafficLightWaitingCycleBasedStatemachine.java
  12. 23 7
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomCycleBasedStatemachine.xpt
  13. 8 0
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomInterface.xpt
  14. 7 7
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Event.xpt
  15. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/EventNotification.xpt
  16. 5 5
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/ITimerHandler.xpt
  17. 4 4
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Naming.ext
  18. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/TimeEvent.xpt
  19. 4 3
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/TimerHandler.xpt
  20. 6 6
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/ValuedEvent.xpt
  21. 4 4
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/Event.java
  22. 2 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/EventNotification.java
  23. 3 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/ITimerHandler.java
  24. 4 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/TimeEvent.java
  25. 4 3
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/TimerHandler.java
  26. 4 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/ValuedEvent.java
  27. 5 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/DefaultInterface.java
  28. 5 5
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/DefaultInterfaceImpl.java
  29. 0 29
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/Interface.java
  30. 0 86
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceImpl.java
  31. 5 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceOther.java
  32. 4 4
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceOtherImpl.java
  33. 6 6
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceTestCycleBasedStatemachine.java
  34. 5 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceThird.java
  35. 5 5
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceThirdImpl.java
  36. 4 0
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/DefaultInterface.java
  37. 18 18
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/DefaultInterfaceImpl.java
  38. 0 25
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Interface.java
  39. 0 105
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/InterfaceImpl.java
  40. 6 6
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Test_DeepHistoryCycleBasedStatemachine.java
  41. 5 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/DefaultInterface.java
  42. 6 6
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/DefaultInterfaceImpl.java
  43. 0 34
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Interface.java
  44. 0 109
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/InterfaceImpl.java
  45. 6 6
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Test_ExpressionCycleBasedStatemachine.java
  46. 4 0
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/DefaultInterface.java
  47. 32 32
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/DefaultInterfaceImpl.java
  48. 0 36
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Interface.java
  49. 0 186
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/InterfaceImpl.java
  50. 6 6
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Test_HierarchyCycleBasedStatemachine.java
  51. 4 0
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/DefaultInterface.java
  52. 8 8
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/DefaultInterfaceImpl.java
  53. 0 26
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Interface.java
  54. 0 87
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/InterfaceImpl.java
  55. 14 10
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Test_LocalActionsCycleBasedStatemachine.java
  56. 4 0
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/DefaultInterface.java
  57. 12 12
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/DefaultInterfaceImpl.java
  58. 0 22
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Interface.java
  59. 0 78
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/InterfaceImpl.java
  60. 6 6
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Test_ParallelRegionsCycleBasedStatemachine.java
  61. 4 0
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/DefaultInterface.java
  62. 16 16
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/DefaultInterfaceImpl.java
  63. 0 24
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Interface.java
  64. 0 96
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/InterfaceImpl.java
  65. 6 6
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Test_ShallowHistoryCycleBasedStatemachine.java
  66. 5 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/DefaultInterface.java
  67. 7 7
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/DefaultInterfaceImpl.java
  68. 0 29
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Interface.java
  69. 5 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceA.java
  70. 9 9
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceAImpl.java
  71. 0 84
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceImpl.java
  72. 21 13
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Test_TransitionCycleBasedStatemachine.java

+ 2 - 2
examples/org.yakindu.sct.generator.java.trafficlight/.classpath

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="src-gen"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>

+ 1 - 0
examples/org.yakindu.sct.generator.java.trafficlight/META-INF/MANIFEST.MF

@@ -7,3 +7,4 @@ Export-Package: org.yakindu.sct.examples.java.trafficlight,
  org.yakindu.sct.runtime.java,
  org.yakindu.sct.runtime.java.trafficlightwaiting
 Require-Bundle: org.eclipse.draw2d;bundle-version="3.7.0"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5

+ 4 - 4
examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/Event.java

@@ -10,15 +10,15 @@
  */
 package org.yakindu.sct.runtime.java;
 
-public class Event {
+public class Event<Type extends Enum<Type>> {
 
-	private String name;
+	private Type name;
 
-	public Event(String name) {
+	public Event(Type name) {
 		this.name = name;
 	}
 
-	public String getName() {
+	public Type getName() {
 		return name;
 	}
 }

+ 2 - 2
examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/EventNotification.java

@@ -12,9 +12,9 @@ package org.yakindu.sct.runtime.java;
 
 import org.yakindu.sct.runtime.java.Event;
 
-public class EventNotification extends Notification<Event> {
+public class EventNotification extends Notification<Event<?>> {
 
-	public EventNotification(Event element) {
+	public EventNotification(Event<? extends Enum<?>> element) {
 		super(NotificationType.EventNotification, element);
 	}
 

+ 3 - 2
examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/ITimerHandler.java

@@ -12,9 +12,10 @@ package org.yakindu.sct.runtime.java;
 
 public interface ITimerHandler {
 
-	public void setTimer(TimeEvent event, long time, long cycleStartTime);
+	public void setTimer(TimeEvent<? extends Enum<?>> event, long time,
+			long cycleStartTime);
 
-	public void resetTimer(TimeEvent event);
+	public void resetTimer(TimeEvent<? extends Enum<?>> event);
 
 	public void cancel();
 }

+ 4 - 2
examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/TimeEvent.java

@@ -10,13 +10,15 @@
  */
 package org.yakindu.sct.runtime.java;
 
-public class TimeEvent extends ValuedEvent<Boolean> {
+public class TimeEvent<EnumType extends Enum<EnumType>>
+		extends
+			ValuedEvent<EnumType, Boolean> {
 
 	private long time = -1;
 
 	private ITimedStatemachine statemachine;
 
-	public TimeEvent(String name, boolean periodic) {
+	public TimeEvent(EnumType name, boolean periodic) {
 		super(name, periodic);
 	}
 

+ 4 - 3
examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/TimerHandler.java

@@ -21,9 +21,10 @@ public class TimerHandler implements ITimerHandler {
 
 	private final Timer timer = new Timer();
 
-	private final Map<TimeEvent, TimerTask> timerTaskMap = new HashMap<TimeEvent, TimerTask>();
+	private final Map<TimeEvent<? extends Enum<?>>, TimerTask> timerTaskMap = new HashMap<TimeEvent<? extends Enum<?>>, TimerTask>();
 
-	public void setTimer(final TimeEvent event, long time, long cycleStartTime) {
+	public void setTimer(final TimeEvent<? extends Enum<?>> event, long time,
+			long cycleStartTime) {
 		// Reset existing TimerTask for event. This step isn't necessary if
 		// timer tasks are properly reset by sexec model.
 		if (timerTaskMap.containsKey(event)) {
@@ -51,7 +52,7 @@ public class TimerHandler implements ITimerHandler {
 		}
 	}
 
-	public void resetTimer(TimeEvent event) {
+	public void resetTimer(TimeEvent<? extends Enum<?>> event) {
 		if (timerTaskMap.containsKey(event) && timerTaskMap.get(event) != null) {
 			timerTaskMap.get(event).cancel();
 			timer.purge();

+ 4 - 2
examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/ValuedEvent.java

@@ -10,11 +10,13 @@
  */
 package org.yakindu.sct.runtime.java;
 
-public class ValuedEvent<DataType> extends Event {
+public class ValuedEvent<EnumType extends Enum<EnumType>, DataType>
+		extends
+			Event<EnumType> {
 
 	private DataType value;
 
-	public ValuedEvent(String name, DataType value) {
+	public ValuedEvent(EnumType name, DataType value) {
 		super(name);
 		this.value = value;
 	}

+ 4 - 0
examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/trafficlightwaiting/DefaultInterface.java

@@ -12,6 +12,10 @@ package org.yakindu.sct.runtime.java.trafficlightwaiting;
 
 public interface DefaultInterface {
 
+	public enum Events {
+		Keypress1, Keypress2,
+	}
+
 	public void raiseKeypress1();
 	public void raiseKeypress2();
 

+ 6 - 4
examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/trafficlightwaiting/DefaultInterfaceImpl.java

@@ -14,8 +14,10 @@ import org.yakindu.sct.runtime.java.Event;
 
 public class DefaultInterfaceImpl implements DefaultInterface {
 
-	private final Event EventKeypress1 = new Event("keypress1");
-	private final Event EventKeypress2 = new Event("keypress2");
+	private final Event<Events> EventKeypress1 = new Event<Events>(
+			Events.Keypress1);
+	private final Event<Events> EventKeypress2 = new Event<Events>(
+			Events.Keypress2);
 
 	private TrafficLightWaitingCycleBasedStatemachine statemachine;
 
@@ -28,7 +30,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventKeypress1);
 	}
 
-	public Event getEventKeypress1() {
+	public Event<Events> getEventKeypress1() {
 		return EventKeypress1;
 	}
 
@@ -36,7 +38,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventKeypress2);
 	}
 
-	public Event getEventKeypress2() {
+	public Event<Events> getEventKeypress2() {
 		return EventKeypress2;
 	}
 

+ 30 - 26
examples/org.yakindu.sct.generator.java.trafficlight/src-gen/org/yakindu/sct/runtime/java/trafficlightwaiting/TrafficLightWaitingCycleBasedStatemachine.java

@@ -26,26 +26,30 @@ public class TrafficLightWaitingCycleBasedStatemachine
 		implements
 			ITimedStatemachine {
 
-	private static final TimeEvent PedWaiting_time_event_0 = new TimeEvent(
-			"PedWaiting_time_event_0", false);
-	private static final TimeEvent WaitOn_time_event_0 = new TimeEvent(
-			"WaitOn_time_event_0", false);
-	private static final TimeEvent WaitOff_time_event_0 = new TimeEvent(
-			"WaitOff_time_event_0", false);
-	private static final TimeEvent StreetAttention_time_event_0 = new TimeEvent(
-			"StreetAttention_time_event_0", false);
-	private static final TimeEvent StreetRed_time_event_0 = new TimeEvent(
-			"StreetRed_time_event_0", false);
-	private static final TimeEvent PedestrianGreen_time_event_0 = new TimeEvent(
-			"PedestrianGreen_time_event_0", false);
-	private static final TimeEvent PedestrianRed_time_event_0 = new TimeEvent(
-			"PedestrianRed_time_event_0", false);
-	private static final TimeEvent StreetPrepare_time_event_0 = new TimeEvent(
-			"StreetPrepare_time_event_0", false);
-	private static final TimeEvent YellowOn_time_event_0 = new TimeEvent(
-			"YellowOn_time_event_0", false);
-	private static final TimeEvent YellowOff_time_event_0 = new TimeEvent(
-			"YellowOff_time_event_0", false);
+	private enum TimeEvents {
+		PedWaiting_time_event_0, WaitOn_time_event_0, WaitOff_time_event_0, StreetAttention_time_event_0, StreetRed_time_event_0, PedestrianGreen_time_event_0, PedestrianRed_time_event_0, StreetPrepare_time_event_0, YellowOn_time_event_0, YellowOff_time_event_0,
+	}
+
+	private static final TimeEvent<TimeEvents> PedWaiting_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.PedWaiting_time_event_0, false);
+	private static final TimeEvent<TimeEvents> WaitOn_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.WaitOn_time_event_0, false);
+	private static final TimeEvent<TimeEvents> WaitOff_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.WaitOff_time_event_0, false);
+	private static final TimeEvent<TimeEvents> StreetAttention_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.StreetAttention_time_event_0, false);
+	private static final TimeEvent<TimeEvents> StreetRed_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.StreetRed_time_event_0, false);
+	private static final TimeEvent<TimeEvents> PedestrianGreen_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.PedestrianGreen_time_event_0, false);
+	private static final TimeEvent<TimeEvents> PedestrianRed_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.PedestrianRed_time_event_0, false);
+	private static final TimeEvent<TimeEvents> StreetPrepare_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.StreetPrepare_time_event_0, false);
+	private static final TimeEvent<TimeEvents> YellowOn_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.YellowOn_time_event_0, false);
+	private static final TimeEvent<TimeEvents> YellowOff_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.YellowOff_time_event_0, false);
 
 	public enum State {
 		On, StreetGreen, PedWaiting, WaitOn, WaitOff, StreetAttention, StreetRed, PedestrianGreen, PedestrianRed, StreetPrepare, Off, YellowOn, YellowOff,
@@ -57,17 +61,17 @@ public class TrafficLightWaitingCycleBasedStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final ArrayList<Event> occuredEvents;
+	private final ArrayList<Event<? extends Enum<?>>> occuredEvents;
 
-	private final Collection<Event> outEvents;
+	private final Collection<Event<? extends Enum<?>>> outEvents;
 
 	private ITimerHandler timerHandler;
 
 	private long cycleStartTime;
 
 	public TrafficLightWaitingCycleBasedStatemachine() {
-		occuredEvents = new ArrayList<Event>();
-		outEvents = new HashSet<Event>();
+		occuredEvents = new ArrayList<Event<? extends Enum<?>>>();
+		outEvents = new HashSet<Event<? extends Enum<?>>>();
 		interfaceTrafficLight = new InterfaceTrafficLightImpl(this);
 		interfacePedestrian = new InterfacePedestrianImpl(this);
 		defaultInterface = new DefaultInterfaceImpl(this);
@@ -84,11 +88,11 @@ public class TrafficLightWaitingCycleBasedStatemachine
 
 	}
 
-	protected Collection<Event> getOccuredEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOccuredEvents() {
 		return occuredEvents;
 	}
 
-	protected Collection<Event> getOutEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOutEvents() {
 		return outEvents;
 	}
 

+ 23 - 7
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomCycleBasedStatemachine.xpt

@@ -183,12 +183,28 @@ import 
 
 public class «getCycleBasedStatemachineName()» implements «getStatemachineImplementationType()» {
 	
+	«IF getInternalScopeEvents().size > 0-»
+	private enum Events {
+	«FOREACH getInternalScopeEvents() AS event-»
+		«event.name.toFirstUpper()»,
+	«ENDFOREACH-»
+	}
+	«ENDIF-»
+	
+	«IF isTimedStatemachine()-»
+	private enum TimeEvents {
+	«FOREACH getTimeEvents() AS timeEvent-»
+		«timeEvent.getName().toFirstUpper()»,
+	«ENDFOREACH-»
+	}
+	«ENDIF-»
+	
 	«FOREACH getInternalScopeEvents() AS event-»
 	private final «event.getEventType()» «event.getName()» = new «event.getEventType()»(«event.getCreationSignature()»); 
 	«ENDFOREACH-»
 	
 	«FOREACH getTimeEvents() AS timeEvent-»
-	private static final TimeEvent «timeEvent.getName()» = new TimeEvent("«timeEvent.getName()»", «timeEvent.periodic»); 
+	private static final TimeEvent<TimeEvents> «timeEvent.getName()» = new TimeEvent<TimeEvents>(TimeEvents.«timeEvent.getName().toFirstUpper()», «timeEvent.periodic»); 
 	«ENDFOREACH»
 	
 	public enum State {
@@ -207,9 +223,9 @@ public class 
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 	
-	private final ArrayList<Event> occuredEvents;
+	private final ArrayList<Event<? extends Enum<?>>> occuredEvents;
 	
-	private final Collection<Event> outEvents;
+	private final Collection<Event<? extends Enum<?>>> outEvents;
 	
 	«IF isTimedStatemachine()-»
 	private ITimerHandler timerHandler;
@@ -218,8 +234,8 @@ public class 
 	«ENDIF-»
 	
 	public «getCycleBasedStatemachineName()»() {
-		occuredEvents = new ArrayList<Event>();
-		outEvents = new HashSet<Event>();
+		occuredEvents = new ArrayList<Event<? extends Enum<?>>>();
+		outEvents = new HashSet<Event<? extends Enum<?>>>();
 		«FOREACH getInterfaceScope() AS interface-»
 		«interface.getInterfaceName().toFirstLower()» = new «interface.getInterfaceImplName()»(this);
 		«ENDFOREACH-»
@@ -228,11 +244,11 @@ public class 
 		«ENDFOREACH»
 	}
 	
-	protected Collection<Event> getOccuredEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOccuredEvents() {
 		return occuredEvents;
 	}
 	
-	protected Collection<Event> getOutEvents(){
+	protected Collection<Event<? extends Enum<?>>> getOutEvents(){
 		return outEvents;
 	}
 	

+ 8 - 0
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomInterface.xpt

@@ -35,6 +35,14 @@ import 
 
 public interface «getInterfaceName()»«getInterfaceExtension()» {
 	
+	«IF declarations.typeSelect(EventDefinition).size > 0-»
+	public enum Events {
+	«FOREACH declarations.typeSelect(EventDefinition) AS event-»
+		«event.name.toFirstUpper()»,
+	«ENDFOREACH-»
+	}
+	«ENDIF-»
+	
 	«FOREACH declarations.typeSelect(EventDefinition) AS event-»
 	«IF  event.direction ==  Direction::IN-»
 	public void raise«event.name.toFirstUpper()»();

+ 7 - 7
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Event.xpt

@@ -21,15 +21,15 @@ Contributors:
 «getLicenseHeader(entry)»
 package «entry.getBasePackageName()»;
 
-public class Event {
-	
-	private String name;
-	
-	public Event(String name) {
+public class Event<Type extends Enum<Type>> {
+
+	private Type name;
+
+	public Event(Type name) {
 		this.name = name;
 	}
-	
-	public String getName() {
+
+	public Type getName() {
 		return name;
 	}
 }

+ 2 - 2
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/EventNotification.xpt

@@ -23,9 +23,9 @@ package 
 
 import «entry.getBasePackageName()».Event;
 
-public class EventNotification extends Notification<Event> {
+public class EventNotification extends Notification<Event<?>> {
 
-	public EventNotification(Event element) {
+	public EventNotification(Event<? extends Enum<?>> element) {
 		super(NotificationType.EventNotification, element);
 	}
 

+ 5 - 5
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/ITimerHandler.xpt

@@ -21,11 +21,11 @@ Contributors:
 package «entry.getBasePackageName()»;
 
 public interface ITimerHandler {
-	
-	public void setTimer(TimeEvent event, long time, long cycleStartTime);
-	
-	public void resetTimer(TimeEvent event);
-	
+
+	public void setTimer(TimeEvent<? extends Enum<?>> event, long time, long cycleStartTime);
+
+	public void resetTimer(TimeEvent<? extends Enum<?>> event);
+
 	public void cancel();
 }
 «ENDFILE-»

+ 4 - 4
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Naming.ext

@@ -45,15 +45,15 @@ String getInterfaceImplName(InterfaceScope this) :  getInterfaceName() + "Impl";
 
 String getCreationSignature(EventDefinition this) :
 	if type == Type::void then
-		"\""+name+"\""
+		"Events."+name.toFirstUpper()
 	else
-		"\""+name+"\", "+getInitialValue();
+		"Events."+name.toFirstUpper()+", "+getInitialValue();
 
 String getEventType(EventDefinition this) :
 	if type == Type::void then
-		"Event"
+		"Event<Events>"
 	else
-		"ValuedEvent<"+type.getJavaClassType()+">";
+		"ValuedEvent<Events, "+type.getJavaClassType()+">";
 
 	
 String getInitialValueAssignment(VariableDefinition this) : 

+ 2 - 2
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/TimeEvent.xpt

@@ -21,13 +21,13 @@ Contributors:
 «getLicenseHeader(entry)»
 package «entry.getBasePackageName()»;
 
-public class TimeEvent extends ValuedEvent<Boolean> {
+public class TimeEvent<EnumType extends Enum<EnumType>> extends ValuedEvent<EnumType, Boolean> {
 
 	private long time = -1;
 
 	private ITimedStatemachine statemachine;
 
-	public TimeEvent(String name, boolean periodic) {
+	public TimeEvent(EnumType name, boolean periodic) {
 		super(name, periodic);
 	}
 

+ 4 - 3
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/TimerHandler.xpt

@@ -31,9 +31,10 @@ public class TimerHandler implements ITimerHandler {
 
 	private final Timer timer = new Timer();
 
-	private final Map<TimeEvent, TimerTask> timerTaskMap = new HashMap<TimeEvent, TimerTask>();
+	private final Map<TimeEvent<? extends Enum<?>>, TimerTask> timerTaskMap = new HashMap<TimeEvent<? extends Enum<?>>, TimerTask>();
 
-	public void setTimer(final TimeEvent event, long time, long cycleStartTime) {
+	public void setTimer(final TimeEvent<? extends Enum<?>> event, long time,
+			long cycleStartTime) {
 		// Reset existing TimerTask for event. This step isn't necessary if
 		// timer tasks are properly reset by sexec model.
 		if (timerTaskMap.containsKey(event)) {
@@ -61,7 +62,7 @@ public class TimerHandler implements ITimerHandler {
 		}
 	}
 
-	public void resetTimer(TimeEvent event) {
+	public void resetTimer(TimeEvent<? extends Enum<?>> event) {
 		if (timerTaskMap.containsKey(event) && timerTaskMap.get(event) != null) {
 			timerTaskMap.get(event).cancel();
 			timer.purge();

+ 6 - 6
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/ValuedEvent.xpt

@@ -21,19 +21,19 @@ Contributors:
 «getLicenseHeader(entry)»
 package «entry.getBasePackageName()»;
 
-public class ValuedEvent<DataType> extends Event {
-	
+public class ValuedEvent<EnumType extends Enum<EnumType>, DataType> extends Event<EnumType> {
+
 	private DataType value;
-	
-	public ValuedEvent(String name, DataType value) {
+
+	public ValuedEvent(EnumType name, DataType value) {
 		super(name);
 		this.value = value;
 	}
-	
+
 	public DataType getValue() {
 		return value;
 	}
-	
+
 	public void setValue(DataType value) {
 		if (value == null) {
 			throw new IllegalArgumentException();

+ 4 - 4
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/Event.java

@@ -10,15 +10,15 @@
  */
 package org.yakindu.sct.runtime.java;
 
-public class Event {
+public class Event<Type extends Enum<Type>> {
 
-	private String name;
+	private Type name;
 
-	public Event(String name) {
+	public Event(Type name) {
 		this.name = name;
 	}
 
-	public String getName() {
+	public Type getName() {
 		return name;
 	}
 }

+ 2 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/EventNotification.java

@@ -12,9 +12,9 @@ package org.yakindu.sct.runtime.java;
 
 import org.yakindu.sct.runtime.java.Event;
 
-public class EventNotification extends Notification<Event> {
+public class EventNotification extends Notification<Event<?>> {
 
-	public EventNotification(Event element) {
+	public EventNotification(Event<? extends Enum<?>> element) {
 		super(NotificationType.EventNotification, element);
 	}
 

+ 3 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/ITimerHandler.java

@@ -12,9 +12,10 @@ package org.yakindu.sct.runtime.java;
 
 public interface ITimerHandler {
 
-	public void setTimer(TimeEvent event, long time, long cycleStartTime);
+	public void setTimer(TimeEvent<? extends Enum<?>> event, long time,
+			long cycleStartTime);
 
-	public void resetTimer(TimeEvent event);
+	public void resetTimer(TimeEvent<? extends Enum<?>> event);
 
 	public void cancel();
 }

+ 4 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/TimeEvent.java

@@ -10,13 +10,15 @@
  */
 package org.yakindu.sct.runtime.java;
 
-public class TimeEvent extends ValuedEvent<Boolean> {
+public class TimeEvent<EnumType extends Enum<EnumType>>
+		extends
+			ValuedEvent<EnumType, Boolean> {
 
 	private long time = -1;
 
 	private ITimedStatemachine statemachine;
 
-	public TimeEvent(String name, boolean periodic) {
+	public TimeEvent(EnumType name, boolean periodic) {
 		super(name, periodic);
 	}
 

+ 4 - 3
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/TimerHandler.java

@@ -21,9 +21,10 @@ public class TimerHandler implements ITimerHandler {
 
 	private final Timer timer = new Timer();
 
-	private final Map<TimeEvent, TimerTask> timerTaskMap = new HashMap<TimeEvent, TimerTask>();
+	private final Map<TimeEvent<? extends Enum<?>>, TimerTask> timerTaskMap = new HashMap<TimeEvent<? extends Enum<?>>, TimerTask>();
 
-	public void setTimer(final TimeEvent event, long time, long cycleStartTime) {
+	public void setTimer(final TimeEvent<? extends Enum<?>> event, long time,
+			long cycleStartTime) {
 		// Reset existing TimerTask for event. This step isn't necessary if
 		// timer tasks are properly reset by sexec model.
 		if (timerTaskMap.containsKey(event)) {
@@ -51,7 +52,7 @@ public class TimerHandler implements ITimerHandler {
 		}
 	}
 
-	public void resetTimer(TimeEvent event) {
+	public void resetTimer(TimeEvent<? extends Enum<?>> event) {
 		if (timerTaskMap.containsKey(event) && timerTaskMap.get(event) != null) {
 			timerTaskMap.get(event).cancel();
 			timer.purge();

+ 4 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/ValuedEvent.java

@@ -10,11 +10,13 @@
  */
 package org.yakindu.sct.runtime.java;
 
-public class ValuedEvent<DataType> extends Event {
+public class ValuedEvent<EnumType extends Enum<EnumType>, DataType>
+		extends
+			Event<EnumType> {
 
 	private DataType value;
 
-	public ValuedEvent(String name, DataType value) {
+	public ValuedEvent(EnumType name, DataType value) {
 		super(name);
 		this.value = value;
 	}

+ 5 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/DefaultInterface.java

@@ -15,10 +15,14 @@ import org.yakindu.sct.runtime.java.ValuedEvent;
 
 public interface DefaultInterface extends INotificationSender {
 
+	public enum Events {
+		Event1, Event2,
+	}
+
 	public void raiseEvent1();
 	public boolean isRaisedEvent2();
 
-	public ValuedEvent<Integer> getEventEvent2();
+	public ValuedEvent<Events, Integer> getEventEvent2();
 
 	public boolean getVarVar1();
 	public void setVarVar1(boolean value);

+ 5 - 5
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/DefaultInterfaceImpl.java

@@ -19,9 +19,9 @@ public class DefaultInterfaceImpl extends NotificationSender
 		implements
 			DefaultInterface {
 
-	private final Event EventEvent1 = new Event("event1");
-	private final ValuedEvent<Integer> EventEvent2 = new ValuedEvent<Integer>(
-			"event2", 0);
+	private final Event<Events> EventEvent1 = new Event<Events>(Events.Event1);
+	private final ValuedEvent<Events, Integer> EventEvent2 = new ValuedEvent<Events, Integer>(
+			Events.Event2, 0);
 
 	private InterfaceTestCycleBasedStatemachine statemachine;
 
@@ -33,7 +33,7 @@ public class DefaultInterfaceImpl extends NotificationSender
 		statemachine.getOccuredEvents().add(EventEvent1);
 	}
 
-	public Event getEventEvent1() {
+	public Event<Events> getEventEvent1() {
 		return EventEvent1;
 	}
 
@@ -50,7 +50,7 @@ public class DefaultInterfaceImpl extends NotificationSender
 		notifyListeners(new EventNotification(EventEvent2));
 	}
 
-	public ValuedEvent<Integer> getEventEvent2() {
+	public ValuedEvent<Events, Integer> getEventEvent2() {
 		return EventEvent2;
 	}
 

+ 0 - 29
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/Interface.java

@@ -1,29 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.interfacetest;
-
-import org.yakindu.sct.runtime.java.INotificationSender;
-import org.yakindu.sct.runtime.java.ValuedEvent;
-
-public interface Interface extends INotificationSender {
-
-	public void raiseEvent1();
-	public boolean isRaisedEvent2();
-
-	public ValuedEvent<Integer> getEventEvent2();
-
-	public boolean getVarVar1();
-	public void setVarVar1(boolean value);
-	public double getVarVar2();
-	public void setVarVar2(double value);
-	public int getVarVar3();
-	public void setVarVar3(int value);
-}

+ 0 - 86
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceImpl.java

@@ -1,86 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.interfacetest;
-
-import org.yakindu.sct.runtime.java.Event;
-import org.yakindu.sct.runtime.java.EventNotification;
-import org.yakindu.sct.runtime.java.NotificationSender;
-import org.yakindu.sct.runtime.java.ValuedEvent;
-
-public class InterfaceImpl extends NotificationSender implements Interface {
-
-	private final Event EventEvent1 = new Event("event1");
-	private final ValuedEvent<Integer> EventEvent2 = new ValuedEvent<Integer>(
-			"event2", 0);
-
-	private InterfaceTestCycleBasedStatemachine statemachine;
-
-	public InterfaceImpl(InterfaceTestCycleBasedStatemachine statemachine) {
-		this.statemachine = statemachine;
-	}
-
-	public void raiseEvent1() {
-		statemachine.getOccuredEvents().add(EventEvent1);
-	}
-
-	public Event getEventEvent1() {
-		return EventEvent1;
-	}
-
-	public void raiseEvent2() {
-		statemachine.getOccuredEvents().add(EventEvent2);
-		statemachine.getOutEvents().add(EventEvent2);
-		notifyListeners(new EventNotification(EventEvent2));
-	}
-
-	public void raiseEvent2(int value) {
-		EventEvent2.setValue(value);
-		statemachine.getOccuredEvents().add(EventEvent2);
-		statemachine.getOutEvents().add(EventEvent2);
-		notifyListeners(new EventNotification(EventEvent2));
-	}
-
-	public ValuedEvent<Integer> getEventEvent2() {
-		return EventEvent2;
-	}
-
-	public boolean isRaisedEvent2() {
-		return statemachine.getOutEvents().contains(EventEvent2);
-	}
-
-	private boolean varVar1;
-
-	public boolean getVarVar1() {
-		return varVar1;
-	}
-
-	public void setVarVar1(boolean value) {
-		varVar1 = value;
-	}
-	private double varVar2 = 2.3;
-
-	public double getVarVar2() {
-		return varVar2;
-	}
-
-	public void setVarVar2(double value) {
-		varVar2 = value;
-	}
-	private int varVar3 = 1;
-
-	public int getVarVar3() {
-		return varVar3;
-	}
-
-	public void setVarVar3(int value) {
-		varVar3 = value;
-	}
-}

+ 5 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceOther.java

@@ -15,10 +15,14 @@ import org.yakindu.sct.runtime.java.INotificationSender;
 
 public interface InterfaceOther extends INotificationSender {
 
+	public enum Events {
+		Event3, Event4,
+	}
+
 	public void raiseEvent3();
 	public boolean isRaisedEvent4();
 
-	public Event getEventEvent4();
+	public Event<Events> getEventEvent4();
 
 	public int getVarV1();
 	public void setVarV1(int value);

+ 4 - 4
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceOtherImpl.java

@@ -18,8 +18,8 @@ public class InterfaceOtherImpl extends NotificationSender
 		implements
 			InterfaceOther {
 
-	private final Event EventEvent3 = new Event("event3");
-	private final Event EventEvent4 = new Event("event4");
+	private final Event<Events> EventEvent3 = new Event<Events>(Events.Event3);
+	private final Event<Events> EventEvent4 = new Event<Events>(Events.Event4);
 
 	private InterfaceTestCycleBasedStatemachine statemachine;
 
@@ -31,7 +31,7 @@ public class InterfaceOtherImpl extends NotificationSender
 		statemachine.getOccuredEvents().add(EventEvent3);
 	}
 
-	public Event getEventEvent3() {
+	public Event<Events> getEventEvent3() {
 		return EventEvent3;
 	}
 
@@ -41,7 +41,7 @@ public class InterfaceOtherImpl extends NotificationSender
 		notifyListeners(new EventNotification(EventEvent4));
 	}
 
-	public Event getEventEvent4() {
+	public Event<Events> getEventEvent4() {
 		return EventEvent4;
 	}
 

+ 6 - 6
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceTestCycleBasedStatemachine.java

@@ -30,24 +30,24 @@ public class InterfaceTestCycleBasedStatemachine implements IStatemachine {
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final ArrayList<Event> occuredEvents;
+	private final ArrayList<Event<? extends Enum<?>>> occuredEvents;
 
-	private final Collection<Event> outEvents;
+	private final Collection<Event<? extends Enum<?>>> outEvents;
 
 	public InterfaceTestCycleBasedStatemachine() {
-		occuredEvents = new ArrayList<Event>();
-		outEvents = new HashSet<Event>();
+		occuredEvents = new ArrayList<Event<? extends Enum<?>>>();
+		outEvents = new HashSet<Event<? extends Enum<?>>>();
 		defaultInterface = new DefaultInterfaceImpl(this);
 		interfaceOther = new InterfaceOtherImpl(this);
 		interfaceThird = new InterfaceThirdImpl(this);
 
 	}
 
-	protected Collection<Event> getOccuredEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOccuredEvents() {
 		return occuredEvents;
 	}
 
-	protected Collection<Event> getOutEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOutEvents() {
 		return outEvents;
 	}
 

+ 5 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceThird.java

@@ -15,10 +15,14 @@ import org.yakindu.sct.runtime.java.ValuedEvent;
 
 public interface InterfaceThird extends INotificationSender {
 
+	public enum Events {
+		Event5, Event6,
+	}
+
 	public void raiseEvent5();
 	public boolean isRaisedEvent6();
 
-	public ValuedEvent<Boolean> getEventEvent6();
+	public ValuedEvent<Events, Boolean> getEventEvent6();
 
 	public double getVarV1();
 	public void setVarV1(double value);

+ 5 - 5
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceThirdImpl.java

@@ -19,9 +19,9 @@ public class InterfaceThirdImpl extends NotificationSender
 		implements
 			InterfaceThird {
 
-	private final Event EventEvent5 = new Event("event5");
-	private final ValuedEvent<Boolean> EventEvent6 = new ValuedEvent<Boolean>(
-			"event6", false);
+	private final Event<Events> EventEvent5 = new Event<Events>(Events.Event5);
+	private final ValuedEvent<Events, Boolean> EventEvent6 = new ValuedEvent<Events, Boolean>(
+			Events.Event6, false);
 
 	private InterfaceTestCycleBasedStatemachine statemachine;
 
@@ -33,7 +33,7 @@ public class InterfaceThirdImpl extends NotificationSender
 		statemachine.getOccuredEvents().add(EventEvent5);
 	}
 
-	public Event getEventEvent5() {
+	public Event<Events> getEventEvent5() {
 		return EventEvent5;
 	}
 
@@ -50,7 +50,7 @@ public class InterfaceThirdImpl extends NotificationSender
 		notifyListeners(new EventNotification(EventEvent6));
 	}
 
-	public ValuedEvent<Boolean> getEventEvent6() {
+	public ValuedEvent<Events, Boolean> getEventEvent6() {
 		return EventEvent6;
 	}
 

+ 4 - 0
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/DefaultInterface.java

@@ -12,6 +12,10 @@ package org.yakindu.sct.runtime.java.test_deephistory;
 
 public interface DefaultInterface {
 
+	public enum Events {
+		Event1, Event2, Event3, Event4, Event5, Event6, Event7, Event8, Event9,
+	}
+
 	public void raiseEvent1();
 	public void raiseEvent2();
 	public void raiseEvent3();

+ 18 - 18
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/DefaultInterfaceImpl.java

@@ -14,15 +14,15 @@ import org.yakindu.sct.runtime.java.Event;
 
 public class DefaultInterfaceImpl implements DefaultInterface {
 
-	private final Event EventEvent1 = new Event("event1");
-	private final Event EventEvent2 = new Event("event2");
-	private final Event EventEvent3 = new Event("event3");
-	private final Event EventEvent4 = new Event("event4");
-	private final Event EventEvent5 = new Event("event5");
-	private final Event EventEvent6 = new Event("event6");
-	private final Event EventEvent7 = new Event("event7");
-	private final Event EventEvent8 = new Event("event8");
-	private final Event EventEvent9 = new Event("event9");
+	private final Event<Events> EventEvent1 = new Event<Events>(Events.Event1);
+	private final Event<Events> EventEvent2 = new Event<Events>(Events.Event2);
+	private final Event<Events> EventEvent3 = new Event<Events>(Events.Event3);
+	private final Event<Events> EventEvent4 = new Event<Events>(Events.Event4);
+	private final Event<Events> EventEvent5 = new Event<Events>(Events.Event5);
+	private final Event<Events> EventEvent6 = new Event<Events>(Events.Event6);
+	private final Event<Events> EventEvent7 = new Event<Events>(Events.Event7);
+	private final Event<Events> EventEvent8 = new Event<Events>(Events.Event8);
+	private final Event<Events> EventEvent9 = new Event<Events>(Events.Event9);
 
 	private Test_DeepHistoryCycleBasedStatemachine statemachine;
 
@@ -35,7 +35,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent1);
 	}
 
-	public Event getEventEvent1() {
+	public Event<Events> getEventEvent1() {
 		return EventEvent1;
 	}
 
@@ -43,7 +43,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent2);
 	}
 
-	public Event getEventEvent2() {
+	public Event<Events> getEventEvent2() {
 		return EventEvent2;
 	}
 
@@ -51,7 +51,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent3);
 	}
 
-	public Event getEventEvent3() {
+	public Event<Events> getEventEvent3() {
 		return EventEvent3;
 	}
 
@@ -59,7 +59,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent4);
 	}
 
-	public Event getEventEvent4() {
+	public Event<Events> getEventEvent4() {
 		return EventEvent4;
 	}
 
@@ -67,7 +67,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent5);
 	}
 
-	public Event getEventEvent5() {
+	public Event<Events> getEventEvent5() {
 		return EventEvent5;
 	}
 
@@ -75,7 +75,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent6);
 	}
 
-	public Event getEventEvent6() {
+	public Event<Events> getEventEvent6() {
 		return EventEvent6;
 	}
 
@@ -83,7 +83,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent7);
 	}
 
-	public Event getEventEvent7() {
+	public Event<Events> getEventEvent7() {
 		return EventEvent7;
 	}
 
@@ -91,7 +91,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent8);
 	}
 
-	public Event getEventEvent8() {
+	public Event<Events> getEventEvent8() {
 		return EventEvent8;
 	}
 
@@ -99,7 +99,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent9);
 	}
 
-	public Event getEventEvent9() {
+	public Event<Events> getEventEvent9() {
 		return EventEvent9;
 	}
 

+ 0 - 25
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Interface.java

@@ -1,25 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_deephistory;
-
-public interface Interface {
-
-	public void raiseEvent1();
-	public void raiseEvent2();
-	public void raiseEvent3();
-	public void raiseEvent4();
-	public void raiseEvent5();
-	public void raiseEvent6();
-	public void raiseEvent7();
-	public void raiseEvent8();
-	public void raiseEvent9();
-
-}

+ 0 - 105
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/InterfaceImpl.java

@@ -1,105 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_deephistory;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class InterfaceImpl implements Interface {
-
-	private final Event EventEvent1 = new Event("event1");
-	private final Event EventEvent2 = new Event("event2");
-	private final Event EventEvent3 = new Event("event3");
-	private final Event EventEvent4 = new Event("event4");
-	private final Event EventEvent5 = new Event("event5");
-	private final Event EventEvent6 = new Event("event6");
-	private final Event EventEvent7 = new Event("event7");
-	private final Event EventEvent8 = new Event("event8");
-	private final Event EventEvent9 = new Event("event9");
-
-	private Test_DeepHistoryCycleBasedStatemachine statemachine;
-
-	public InterfaceImpl(Test_DeepHistoryCycleBasedStatemachine statemachine) {
-		this.statemachine = statemachine;
-	}
-
-	public void raiseEvent1() {
-		statemachine.getOccuredEvents().add(EventEvent1);
-	}
-
-	public Event getEventEvent1() {
-		return EventEvent1;
-	}
-
-	public void raiseEvent2() {
-		statemachine.getOccuredEvents().add(EventEvent2);
-	}
-
-	public Event getEventEvent2() {
-		return EventEvent2;
-	}
-
-	public void raiseEvent3() {
-		statemachine.getOccuredEvents().add(EventEvent3);
-	}
-
-	public Event getEventEvent3() {
-		return EventEvent3;
-	}
-
-	public void raiseEvent4() {
-		statemachine.getOccuredEvents().add(EventEvent4);
-	}
-
-	public Event getEventEvent4() {
-		return EventEvent4;
-	}
-
-	public void raiseEvent5() {
-		statemachine.getOccuredEvents().add(EventEvent5);
-	}
-
-	public Event getEventEvent5() {
-		return EventEvent5;
-	}
-
-	public void raiseEvent6() {
-		statemachine.getOccuredEvents().add(EventEvent6);
-	}
-
-	public Event getEventEvent6() {
-		return EventEvent6;
-	}
-
-	public void raiseEvent7() {
-		statemachine.getOccuredEvents().add(EventEvent7);
-	}
-
-	public Event getEventEvent7() {
-		return EventEvent7;
-	}
-
-	public void raiseEvent8() {
-		statemachine.getOccuredEvents().add(EventEvent8);
-	}
-
-	public Event getEventEvent8() {
-		return EventEvent8;
-	}
-
-	public void raiseEvent9() {
-		statemachine.getOccuredEvents().add(EventEvent9);
-	}
-
-	public Event getEventEvent9() {
-		return EventEvent9;
-	}
-
-}

+ 6 - 6
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Test_DeepHistoryCycleBasedStatemachine.java

@@ -28,22 +28,22 @@ public class Test_DeepHistoryCycleBasedStatemachine implements IStatemachine {
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final ArrayList<Event> occuredEvents;
+	private final ArrayList<Event<? extends Enum<?>>> occuredEvents;
 
-	private final Collection<Event> outEvents;
+	private final Collection<Event<? extends Enum<?>>> outEvents;
 
 	public Test_DeepHistoryCycleBasedStatemachine() {
-		occuredEvents = new ArrayList<Event>();
-		outEvents = new HashSet<Event>();
+		occuredEvents = new ArrayList<Event<? extends Enum<?>>>();
+		outEvents = new HashSet<Event<? extends Enum<?>>>();
 		defaultInterface = new DefaultInterfaceImpl(this);
 
 	}
 
-	protected Collection<Event> getOccuredEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOccuredEvents() {
 		return occuredEvents;
 	}
 
-	protected Collection<Event> getOutEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOutEvents() {
 		return outEvents;
 	}
 

+ 5 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/DefaultInterface.java

@@ -15,11 +15,15 @@ import org.yakindu.sct.runtime.java.ValuedEvent;
 
 public interface DefaultInterface extends INotificationSender {
 
+	public enum Events {
+		Event1, Event2,
+	}
+
 	public void raiseEvent1();
 	public void raiseEvent1(int value);
 	public boolean isRaisedEvent2();
 
-	public ValuedEvent<Double> getEventEvent2();
+	public ValuedEvent<Events, Double> getEventEvent2();
 
 	public int getVarVar1();
 	public void setVarVar1(int value);

+ 6 - 6
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/DefaultInterfaceImpl.java

@@ -18,10 +18,10 @@ public class DefaultInterfaceImpl extends NotificationSender
 		implements
 			DefaultInterface {
 
-	private final ValuedEvent<Integer> EventEvent1 = new ValuedEvent<Integer>(
-			"event1", 0);
-	private final ValuedEvent<Double> EventEvent2 = new ValuedEvent<Double>(
-			"event2", 0D);
+	private final ValuedEvent<Events, Integer> EventEvent1 = new ValuedEvent<Events, Integer>(
+			Events.Event1, 0);
+	private final ValuedEvent<Events, Double> EventEvent2 = new ValuedEvent<Events, Double>(
+			Events.Event2, 0D);
 
 	private Test_ExpressionCycleBasedStatemachine statemachine;
 
@@ -39,7 +39,7 @@ public class DefaultInterfaceImpl extends NotificationSender
 		statemachine.getOccuredEvents().add(EventEvent1);
 	}
 
-	public ValuedEvent<Integer> getEventEvent1() {
+	public ValuedEvent<Events, Integer> getEventEvent1() {
 		return EventEvent1;
 	}
 
@@ -56,7 +56,7 @@ public class DefaultInterfaceImpl extends NotificationSender
 		notifyListeners(new EventNotification(EventEvent2));
 	}
 
-	public ValuedEvent<Double> getEventEvent2() {
+	public ValuedEvent<Events, Double> getEventEvent2() {
 		return EventEvent2;
 	}
 

+ 0 - 34
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Interface.java

@@ -1,34 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_expression;
-
-import org.yakindu.sct.runtime.java.INotificationSender;
-import org.yakindu.sct.runtime.java.ValuedEvent;
-
-public interface Interface extends INotificationSender {
-
-	public void raiseEvent1();
-	public void raiseEvent1(int value);
-	public boolean isRaisedEvent2();
-
-	public ValuedEvent<Double> getEventEvent2();
-
-	public int getVarVar1();
-	public void setVarVar1(int value);
-	public int getVarVar2();
-	public void setVarVar2(int value);
-	public double getVarVar3();
-	public void setVarVar3(double value);
-	public double getVarVar4();
-	public void setVarVar4(double value);
-	public boolean getVarVar5();
-	public void setVarVar5(boolean value);
-}

+ 0 - 109
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/InterfaceImpl.java

@@ -1,109 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_expression;
-
-import org.yakindu.sct.runtime.java.EventNotification;
-import org.yakindu.sct.runtime.java.NotificationSender;
-import org.yakindu.sct.runtime.java.ValuedEvent;
-
-public class InterfaceImpl extends NotificationSender implements Interface {
-
-	private final ValuedEvent<Integer> EventEvent1 = new ValuedEvent<Integer>(
-			"event1", 0);
-	private final ValuedEvent<Double> EventEvent2 = new ValuedEvent<Double>(
-			"event2", 0D);
-
-	private Test_ExpressionCycleBasedStatemachine statemachine;
-
-	public InterfaceImpl(Test_ExpressionCycleBasedStatemachine statemachine) {
-		this.statemachine = statemachine;
-	}
-
-	public void raiseEvent1() {
-		statemachine.getOccuredEvents().add(EventEvent1);
-	}
-
-	public void raiseEvent1(int value) {
-		EventEvent1.setValue(value);
-		statemachine.getOccuredEvents().add(EventEvent1);
-	}
-
-	public ValuedEvent<Integer> getEventEvent1() {
-		return EventEvent1;
-	}
-
-	public void raiseEvent2() {
-		statemachine.getOccuredEvents().add(EventEvent2);
-		statemachine.getOutEvents().add(EventEvent2);
-		notifyListeners(new EventNotification(EventEvent2));
-	}
-
-	public void raiseEvent2(double value) {
-		EventEvent2.setValue(value);
-		statemachine.getOccuredEvents().add(EventEvent2);
-		statemachine.getOutEvents().add(EventEvent2);
-		notifyListeners(new EventNotification(EventEvent2));
-	}
-
-	public ValuedEvent<Double> getEventEvent2() {
-		return EventEvent2;
-	}
-
-	public boolean isRaisedEvent2() {
-		return statemachine.getOutEvents().contains(EventEvent2);
-	}
-
-	private int varVar1 = 6;
-
-	public int getVarVar1() {
-		return varVar1;
-	}
-
-	public void setVarVar1(int value) {
-		varVar1 = value;
-	}
-	private int varVar2 = 123;
-
-	public int getVarVar2() {
-		return varVar2;
-	}
-
-	public void setVarVar2(int value) {
-		varVar2 = value;
-	}
-	private double varVar3 = 19.4;
-
-	public double getVarVar3() {
-		return varVar3;
-	}
-
-	public void setVarVar3(double value) {
-		varVar3 = value;
-	}
-	private double varVar4 = 43.3;
-
-	public double getVarVar4() {
-		return varVar4;
-	}
-
-	public void setVarVar4(double value) {
-		varVar4 = value;
-	}
-	private boolean varVar5 = false;
-
-	public boolean getVarVar5() {
-		return varVar5;
-	}
-
-	public void setVarVar5(boolean value) {
-		varVar5 = value;
-	}
-}

+ 6 - 6
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Test_ExpressionCycleBasedStatemachine.java

@@ -29,23 +29,23 @@ public class Test_ExpressionCycleBasedStatemachine implements IStatemachine {
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final ArrayList<Event> occuredEvents;
+	private final ArrayList<Event<? extends Enum<?>>> occuredEvents;
 
-	private final Collection<Event> outEvents;
+	private final Collection<Event<? extends Enum<?>>> outEvents;
 
 	public Test_ExpressionCycleBasedStatemachine() {
-		occuredEvents = new ArrayList<Event>();
-		outEvents = new HashSet<Event>();
+		occuredEvents = new ArrayList<Event<? extends Enum<?>>>();
+		outEvents = new HashSet<Event<? extends Enum<?>>>();
 		defaultInterface = new DefaultInterfaceImpl(this);
 		interfaceOther = new InterfaceOtherImpl(this);
 
 	}
 
-	protected Collection<Event> getOccuredEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOccuredEvents() {
 		return occuredEvents;
 	}
 
-	protected Collection<Event> getOutEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOutEvents() {
 		return outEvents;
 	}
 

+ 4 - 0
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/DefaultInterface.java

@@ -12,6 +12,10 @@ package org.yakindu.sct.runtime.java.test_hierarchy;
 
 public interface DefaultInterface {
 
+	public enum Events {
+		Event1, Event2, Event3, Event4, Event5, Event6, Event7, Event8, Event9, Event10, Event11, Event12, Event13, Event14, Event15, Event16,
+	}
+
 	public void raiseEvent1();
 	public void raiseEvent2();
 	public void raiseEvent3();

+ 32 - 32
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/DefaultInterfaceImpl.java

@@ -14,22 +14,22 @@ import org.yakindu.sct.runtime.java.Event;
 
 public class DefaultInterfaceImpl implements DefaultInterface {
 
-	private final Event EventEvent1 = new Event("event1");
-	private final Event EventEvent2 = new Event("event2");
-	private final Event EventEvent3 = new Event("event3");
-	private final Event EventEvent4 = new Event("event4");
-	private final Event EventEvent5 = new Event("event5");
-	private final Event EventEvent6 = new Event("event6");
-	private final Event EventEvent7 = new Event("event7");
-	private final Event EventEvent8 = new Event("event8");
-	private final Event EventEvent9 = new Event("event9");
-	private final Event EventEvent10 = new Event("event10");
-	private final Event EventEvent11 = new Event("event11");
-	private final Event EventEvent12 = new Event("event12");
-	private final Event EventEvent13 = new Event("event13");
-	private final Event EventEvent14 = new Event("event14");
-	private final Event EventEvent15 = new Event("event15");
-	private final Event EventEvent16 = new Event("event16");
+	private final Event<Events> EventEvent1 = new Event<Events>(Events.Event1);
+	private final Event<Events> EventEvent2 = new Event<Events>(Events.Event2);
+	private final Event<Events> EventEvent3 = new Event<Events>(Events.Event3);
+	private final Event<Events> EventEvent4 = new Event<Events>(Events.Event4);
+	private final Event<Events> EventEvent5 = new Event<Events>(Events.Event5);
+	private final Event<Events> EventEvent6 = new Event<Events>(Events.Event6);
+	private final Event<Events> EventEvent7 = new Event<Events>(Events.Event7);
+	private final Event<Events> EventEvent8 = new Event<Events>(Events.Event8);
+	private final Event<Events> EventEvent9 = new Event<Events>(Events.Event9);
+	private final Event<Events> EventEvent10 = new Event<Events>(Events.Event10);
+	private final Event<Events> EventEvent11 = new Event<Events>(Events.Event11);
+	private final Event<Events> EventEvent12 = new Event<Events>(Events.Event12);
+	private final Event<Events> EventEvent13 = new Event<Events>(Events.Event13);
+	private final Event<Events> EventEvent14 = new Event<Events>(Events.Event14);
+	private final Event<Events> EventEvent15 = new Event<Events>(Events.Event15);
+	private final Event<Events> EventEvent16 = new Event<Events>(Events.Event16);
 
 	private Test_HierarchyCycleBasedStatemachine statemachine;
 
@@ -42,7 +42,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent1);
 	}
 
-	public Event getEventEvent1() {
+	public Event<Events> getEventEvent1() {
 		return EventEvent1;
 	}
 
@@ -50,7 +50,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent2);
 	}
 
-	public Event getEventEvent2() {
+	public Event<Events> getEventEvent2() {
 		return EventEvent2;
 	}
 
@@ -58,7 +58,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent3);
 	}
 
-	public Event getEventEvent3() {
+	public Event<Events> getEventEvent3() {
 		return EventEvent3;
 	}
 
@@ -66,7 +66,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent4);
 	}
 
-	public Event getEventEvent4() {
+	public Event<Events> getEventEvent4() {
 		return EventEvent4;
 	}
 
@@ -74,7 +74,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent5);
 	}
 
-	public Event getEventEvent5() {
+	public Event<Events> getEventEvent5() {
 		return EventEvent5;
 	}
 
@@ -82,7 +82,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent6);
 	}
 
-	public Event getEventEvent6() {
+	public Event<Events> getEventEvent6() {
 		return EventEvent6;
 	}
 
@@ -90,7 +90,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent7);
 	}
 
-	public Event getEventEvent7() {
+	public Event<Events> getEventEvent7() {
 		return EventEvent7;
 	}
 
@@ -98,7 +98,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent8);
 	}
 
-	public Event getEventEvent8() {
+	public Event<Events> getEventEvent8() {
 		return EventEvent8;
 	}
 
@@ -106,7 +106,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent9);
 	}
 
-	public Event getEventEvent9() {
+	public Event<Events> getEventEvent9() {
 		return EventEvent9;
 	}
 
@@ -114,7 +114,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent10);
 	}
 
-	public Event getEventEvent10() {
+	public Event<Events> getEventEvent10() {
 		return EventEvent10;
 	}
 
@@ -122,7 +122,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent11);
 	}
 
-	public Event getEventEvent11() {
+	public Event<Events> getEventEvent11() {
 		return EventEvent11;
 	}
 
@@ -130,7 +130,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent12);
 	}
 
-	public Event getEventEvent12() {
+	public Event<Events> getEventEvent12() {
 		return EventEvent12;
 	}
 
@@ -138,7 +138,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent13);
 	}
 
-	public Event getEventEvent13() {
+	public Event<Events> getEventEvent13() {
 		return EventEvent13;
 	}
 
@@ -146,7 +146,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent14);
 	}
 
-	public Event getEventEvent14() {
+	public Event<Events> getEventEvent14() {
 		return EventEvent14;
 	}
 
@@ -154,7 +154,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent15);
 	}
 
-	public Event getEventEvent15() {
+	public Event<Events> getEventEvent15() {
 		return EventEvent15;
 	}
 
@@ -162,7 +162,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent16);
 	}
 
-	public Event getEventEvent16() {
+	public Event<Events> getEventEvent16() {
 		return EventEvent16;
 	}
 

+ 0 - 36
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Interface.java

@@ -1,36 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_hierarchy;
-
-public interface Interface {
-
-	public void raiseEvent1();
-	public void raiseEvent2();
-	public void raiseEvent3();
-	public void raiseEvent4();
-	public void raiseEvent5();
-	public void raiseEvent6();
-	public void raiseEvent7();
-	public void raiseEvent8();
-	public void raiseEvent9();
-	public void raiseEvent10();
-	public void raiseEvent11();
-	public void raiseEvent12();
-	public void raiseEvent13();
-	public void raiseEvent14();
-	public void raiseEvent15();
-	public void raiseEvent16();
-
-	public int getVarS1();
-	public void setVarS1(int value);
-	public int getVarS2();
-	public void setVarS2(int value);
-}

+ 0 - 186
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/InterfaceImpl.java

@@ -1,186 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_hierarchy;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class InterfaceImpl implements Interface {
-
-	private final Event EventEvent1 = new Event("event1");
-	private final Event EventEvent2 = new Event("event2");
-	private final Event EventEvent3 = new Event("event3");
-	private final Event EventEvent4 = new Event("event4");
-	private final Event EventEvent5 = new Event("event5");
-	private final Event EventEvent6 = new Event("event6");
-	private final Event EventEvent7 = new Event("event7");
-	private final Event EventEvent8 = new Event("event8");
-	private final Event EventEvent9 = new Event("event9");
-	private final Event EventEvent10 = new Event("event10");
-	private final Event EventEvent11 = new Event("event11");
-	private final Event EventEvent12 = new Event("event12");
-	private final Event EventEvent13 = new Event("event13");
-	private final Event EventEvent14 = new Event("event14");
-	private final Event EventEvent15 = new Event("event15");
-	private final Event EventEvent16 = new Event("event16");
-
-	private Test_HierarchyCycleBasedStatemachine statemachine;
-
-	public InterfaceImpl(Test_HierarchyCycleBasedStatemachine statemachine) {
-		this.statemachine = statemachine;
-	}
-
-	public void raiseEvent1() {
-		statemachine.getOccuredEvents().add(EventEvent1);
-	}
-
-	public Event getEventEvent1() {
-		return EventEvent1;
-	}
-
-	public void raiseEvent2() {
-		statemachine.getOccuredEvents().add(EventEvent2);
-	}
-
-	public Event getEventEvent2() {
-		return EventEvent2;
-	}
-
-	public void raiseEvent3() {
-		statemachine.getOccuredEvents().add(EventEvent3);
-	}
-
-	public Event getEventEvent3() {
-		return EventEvent3;
-	}
-
-	public void raiseEvent4() {
-		statemachine.getOccuredEvents().add(EventEvent4);
-	}
-
-	public Event getEventEvent4() {
-		return EventEvent4;
-	}
-
-	public void raiseEvent5() {
-		statemachine.getOccuredEvents().add(EventEvent5);
-	}
-
-	public Event getEventEvent5() {
-		return EventEvent5;
-	}
-
-	public void raiseEvent6() {
-		statemachine.getOccuredEvents().add(EventEvent6);
-	}
-
-	public Event getEventEvent6() {
-		return EventEvent6;
-	}
-
-	public void raiseEvent7() {
-		statemachine.getOccuredEvents().add(EventEvent7);
-	}
-
-	public Event getEventEvent7() {
-		return EventEvent7;
-	}
-
-	public void raiseEvent8() {
-		statemachine.getOccuredEvents().add(EventEvent8);
-	}
-
-	public Event getEventEvent8() {
-		return EventEvent8;
-	}
-
-	public void raiseEvent9() {
-		statemachine.getOccuredEvents().add(EventEvent9);
-	}
-
-	public Event getEventEvent9() {
-		return EventEvent9;
-	}
-
-	public void raiseEvent10() {
-		statemachine.getOccuredEvents().add(EventEvent10);
-	}
-
-	public Event getEventEvent10() {
-		return EventEvent10;
-	}
-
-	public void raiseEvent11() {
-		statemachine.getOccuredEvents().add(EventEvent11);
-	}
-
-	public Event getEventEvent11() {
-		return EventEvent11;
-	}
-
-	public void raiseEvent12() {
-		statemachine.getOccuredEvents().add(EventEvent12);
-	}
-
-	public Event getEventEvent12() {
-		return EventEvent12;
-	}
-
-	public void raiseEvent13() {
-		statemachine.getOccuredEvents().add(EventEvent13);
-	}
-
-	public Event getEventEvent13() {
-		return EventEvent13;
-	}
-
-	public void raiseEvent14() {
-		statemachine.getOccuredEvents().add(EventEvent14);
-	}
-
-	public Event getEventEvent14() {
-		return EventEvent14;
-	}
-
-	public void raiseEvent15() {
-		statemachine.getOccuredEvents().add(EventEvent15);
-	}
-
-	public Event getEventEvent15() {
-		return EventEvent15;
-	}
-
-	public void raiseEvent16() {
-		statemachine.getOccuredEvents().add(EventEvent16);
-	}
-
-	public Event getEventEvent16() {
-		return EventEvent16;
-	}
-
-	private int varS1 = 0;
-
-	public int getVarS1() {
-		return varS1;
-	}
-
-	public void setVarS1(int value) {
-		varS1 = value;
-	}
-	private int varS2;
-
-	public int getVarS2() {
-		return varS2;
-	}
-
-	public void setVarS2(int value) {
-		varS2 = value;
-	}
-}

+ 6 - 6
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Test_HierarchyCycleBasedStatemachine.java

@@ -28,22 +28,22 @@ public class Test_HierarchyCycleBasedStatemachine implements IStatemachine {
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final ArrayList<Event> occuredEvents;
+	private final ArrayList<Event<? extends Enum<?>>> occuredEvents;
 
-	private final Collection<Event> outEvents;
+	private final Collection<Event<? extends Enum<?>>> outEvents;
 
 	public Test_HierarchyCycleBasedStatemachine() {
-		occuredEvents = new ArrayList<Event>();
-		outEvents = new HashSet<Event>();
+		occuredEvents = new ArrayList<Event<? extends Enum<?>>>();
+		outEvents = new HashSet<Event<? extends Enum<?>>>();
 		defaultInterface = new DefaultInterfaceImpl(this);
 
 	}
 
-	protected Collection<Event> getOccuredEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOccuredEvents() {
 		return occuredEvents;
 	}
 
-	protected Collection<Event> getOutEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOutEvents() {
 		return outEvents;
 	}
 

+ 4 - 0
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/DefaultInterface.java

@@ -12,6 +12,10 @@ package org.yakindu.sct.runtime.java.test_localactions;
 
 public interface DefaultInterface {
 
+	public enum Events {
+		Event1, Event2, Event3, Event4,
+	}
+
 	public void raiseEvent1();
 	public void raiseEvent2();
 	public void raiseEvent3();

+ 8 - 8
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/DefaultInterfaceImpl.java

@@ -14,10 +14,10 @@ import org.yakindu.sct.runtime.java.Event;
 
 public class DefaultInterfaceImpl implements DefaultInterface {
 
-	private final Event EventEvent1 = new Event("Event1");
-	private final Event EventEvent2 = new Event("Event2");
-	private final Event EventEvent3 = new Event("Event3");
-	private final Event EventEvent4 = new Event("Event4");
+	private final Event<Events> EventEvent1 = new Event<Events>(Events.Event1);
+	private final Event<Events> EventEvent2 = new Event<Events>(Events.Event2);
+	private final Event<Events> EventEvent3 = new Event<Events>(Events.Event3);
+	private final Event<Events> EventEvent4 = new Event<Events>(Events.Event4);
 
 	private Test_LocalActionsCycleBasedStatemachine statemachine;
 
@@ -30,7 +30,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent1);
 	}
 
-	public Event getEventEvent1() {
+	public Event<Events> getEventEvent1() {
 		return EventEvent1;
 	}
 
@@ -38,7 +38,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent2);
 	}
 
-	public Event getEventEvent2() {
+	public Event<Events> getEventEvent2() {
 		return EventEvent2;
 	}
 
@@ -46,7 +46,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent3);
 	}
 
-	public Event getEventEvent3() {
+	public Event<Events> getEventEvent3() {
 		return EventEvent3;
 	}
 
@@ -54,7 +54,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent4);
 	}
 
-	public Event getEventEvent4() {
+	public Event<Events> getEventEvent4() {
 		return EventEvent4;
 	}
 

+ 0 - 26
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Interface.java

@@ -1,26 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_localactions;
-
-public interface Interface {
-
-	public void raiseEvent1();
-	public void raiseEvent2();
-	public void raiseEvent3();
-	public void raiseEvent4();
-
-	public int getVarI();
-	public void setVarI(int value);
-	public int getVarJ();
-	public void setVarJ(int value);
-	public int getVarC();
-	public void setVarC(int value);
-}

+ 0 - 87
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/InterfaceImpl.java

@@ -1,87 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_localactions;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class InterfaceImpl implements Interface {
-
-	private final Event EventEvent1 = new Event("Event1");
-	private final Event EventEvent2 = new Event("Event2");
-	private final Event EventEvent3 = new Event("Event3");
-	private final Event EventEvent4 = new Event("Event4");
-
-	private Test_LocalActionsCycleBasedStatemachine statemachine;
-
-	public InterfaceImpl(Test_LocalActionsCycleBasedStatemachine statemachine) {
-		this.statemachine = statemachine;
-	}
-
-	public void raiseEvent1() {
-		statemachine.getOccuredEvents().add(EventEvent1);
-	}
-
-	public Event getEventEvent1() {
-		return EventEvent1;
-	}
-
-	public void raiseEvent2() {
-		statemachine.getOccuredEvents().add(EventEvent2);
-	}
-
-	public Event getEventEvent2() {
-		return EventEvent2;
-	}
-
-	public void raiseEvent3() {
-		statemachine.getOccuredEvents().add(EventEvent3);
-	}
-
-	public Event getEventEvent3() {
-		return EventEvent3;
-	}
-
-	public void raiseEvent4() {
-		statemachine.getOccuredEvents().add(EventEvent4);
-	}
-
-	public Event getEventEvent4() {
-		return EventEvent4;
-	}
-
-	private int varI;
-
-	public int getVarI() {
-		return varI;
-	}
-
-	public void setVarI(int value) {
-		varI = value;
-	}
-	private int varJ;
-
-	public int getVarJ() {
-		return varJ;
-	}
-
-	public void setVarJ(int value) {
-		varJ = value;
-	}
-	private int varC;
-
-	public int getVarC() {
-		return varC;
-	}
-
-	public void setVarC(int value) {
-		varC = value;
-	}
-}

+ 14 - 10
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Test_LocalActionsCycleBasedStatemachine.java

@@ -26,10 +26,14 @@ public class Test_LocalActionsCycleBasedStatemachine
 		implements
 			ITimedStatemachine {
 
-	private static final TimeEvent State1_time_event_0 = new TimeEvent(
-			"State1_time_event_0", true);
-	private static final TimeEvent State2_time_event_0 = new TimeEvent(
-			"State2_time_event_0", false);
+	private enum TimeEvents {
+		State1_time_event_0, State2_time_event_0,
+	}
+
+	private static final TimeEvent<TimeEvents> State1_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.State1_time_event_0, true);
+	private static final TimeEvent<TimeEvents> State2_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.State2_time_event_0, false);
 
 	public enum State {
 		State1, State2,
@@ -39,28 +43,28 @@ public class Test_LocalActionsCycleBasedStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final ArrayList<Event> occuredEvents;
+	private final ArrayList<Event<? extends Enum<?>>> occuredEvents;
 
-	private final Collection<Event> outEvents;
+	private final Collection<Event<? extends Enum<?>>> outEvents;
 
 	private ITimerHandler timerHandler;
 
 	private long cycleStartTime;
 
 	public Test_LocalActionsCycleBasedStatemachine() {
-		occuredEvents = new ArrayList<Event>();
-		outEvents = new HashSet<Event>();
+		occuredEvents = new ArrayList<Event<? extends Enum<?>>>();
+		outEvents = new HashSet<Event<? extends Enum<?>>>();
 		defaultInterface = new DefaultInterfaceImpl(this);
 		State1_time_event_0.setStatemachine(this);
 		State2_time_event_0.setStatemachine(this);
 
 	}
 
-	protected Collection<Event> getOccuredEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOccuredEvents() {
 		return occuredEvents;
 	}
 
-	protected Collection<Event> getOutEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOutEvents() {
 		return outEvents;
 	}
 

+ 4 - 0
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/DefaultInterface.java

@@ -12,6 +12,10 @@ package org.yakindu.sct.runtime.java.test_parallelregions;
 
 public interface DefaultInterface {
 
+	public enum Events {
+		Event1, Event2, Event3, Event4, Event5, Event6,
+	}
+
 	public void raiseEvent1();
 	public void raiseEvent2();
 	public void raiseEvent3();

+ 12 - 12
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/DefaultInterfaceImpl.java

@@ -14,12 +14,12 @@ import org.yakindu.sct.runtime.java.Event;
 
 public class DefaultInterfaceImpl implements DefaultInterface {
 
-	private final Event EventEvent1 = new Event("event1");
-	private final Event EventEvent2 = new Event("event2");
-	private final Event EventEvent3 = new Event("event3");
-	private final Event EventEvent4 = new Event("event4");
-	private final Event EventEvent5 = new Event("event5");
-	private final Event EventEvent6 = new Event("event6");
+	private final Event<Events> EventEvent1 = new Event<Events>(Events.Event1);
+	private final Event<Events> EventEvent2 = new Event<Events>(Events.Event2);
+	private final Event<Events> EventEvent3 = new Event<Events>(Events.Event3);
+	private final Event<Events> EventEvent4 = new Event<Events>(Events.Event4);
+	private final Event<Events> EventEvent5 = new Event<Events>(Events.Event5);
+	private final Event<Events> EventEvent6 = new Event<Events>(Events.Event6);
 
 	private Test_ParallelRegionsCycleBasedStatemachine statemachine;
 
@@ -32,7 +32,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent1);
 	}
 
-	public Event getEventEvent1() {
+	public Event<Events> getEventEvent1() {
 		return EventEvent1;
 	}
 
@@ -40,7 +40,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent2);
 	}
 
-	public Event getEventEvent2() {
+	public Event<Events> getEventEvent2() {
 		return EventEvent2;
 	}
 
@@ -48,7 +48,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent3);
 	}
 
-	public Event getEventEvent3() {
+	public Event<Events> getEventEvent3() {
 		return EventEvent3;
 	}
 
@@ -56,7 +56,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent4);
 	}
 
-	public Event getEventEvent4() {
+	public Event<Events> getEventEvent4() {
 		return EventEvent4;
 	}
 
@@ -64,7 +64,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent5);
 	}
 
-	public Event getEventEvent5() {
+	public Event<Events> getEventEvent5() {
 		return EventEvent5;
 	}
 
@@ -72,7 +72,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent6);
 	}
 
-	public Event getEventEvent6() {
+	public Event<Events> getEventEvent6() {
 		return EventEvent6;
 	}
 

+ 0 - 22
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Interface.java

@@ -1,22 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_parallelregions;
-
-public interface Interface {
-
-	public void raiseEvent1();
-	public void raiseEvent2();
-	public void raiseEvent3();
-	public void raiseEvent4();
-	public void raiseEvent5();
-	public void raiseEvent6();
-
-}

+ 0 - 78
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/InterfaceImpl.java

@@ -1,78 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_parallelregions;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class InterfaceImpl implements Interface {
-
-	private final Event EventEvent1 = new Event("event1");
-	private final Event EventEvent2 = new Event("event2");
-	private final Event EventEvent3 = new Event("event3");
-	private final Event EventEvent4 = new Event("event4");
-	private final Event EventEvent5 = new Event("event5");
-	private final Event EventEvent6 = new Event("event6");
-
-	private Test_ParallelRegionsCycleBasedStatemachine statemachine;
-
-	public InterfaceImpl(Test_ParallelRegionsCycleBasedStatemachine statemachine) {
-		this.statemachine = statemachine;
-	}
-
-	public void raiseEvent1() {
-		statemachine.getOccuredEvents().add(EventEvent1);
-	}
-
-	public Event getEventEvent1() {
-		return EventEvent1;
-	}
-
-	public void raiseEvent2() {
-		statemachine.getOccuredEvents().add(EventEvent2);
-	}
-
-	public Event getEventEvent2() {
-		return EventEvent2;
-	}
-
-	public void raiseEvent3() {
-		statemachine.getOccuredEvents().add(EventEvent3);
-	}
-
-	public Event getEventEvent3() {
-		return EventEvent3;
-	}
-
-	public void raiseEvent4() {
-		statemachine.getOccuredEvents().add(EventEvent4);
-	}
-
-	public Event getEventEvent4() {
-		return EventEvent4;
-	}
-
-	public void raiseEvent5() {
-		statemachine.getOccuredEvents().add(EventEvent5);
-	}
-
-	public Event getEventEvent5() {
-		return EventEvent5;
-	}
-
-	public void raiseEvent6() {
-		statemachine.getOccuredEvents().add(EventEvent6);
-	}
-
-	public Event getEventEvent6() {
-		return EventEvent6;
-	}
-
-}

+ 6 - 6
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Test_ParallelRegionsCycleBasedStatemachine.java

@@ -30,22 +30,22 @@ public class Test_ParallelRegionsCycleBasedStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final ArrayList<Event> occuredEvents;
+	private final ArrayList<Event<? extends Enum<?>>> occuredEvents;
 
-	private final Collection<Event> outEvents;
+	private final Collection<Event<? extends Enum<?>>> outEvents;
 
 	public Test_ParallelRegionsCycleBasedStatemachine() {
-		occuredEvents = new ArrayList<Event>();
-		outEvents = new HashSet<Event>();
+		occuredEvents = new ArrayList<Event<? extends Enum<?>>>();
+		outEvents = new HashSet<Event<? extends Enum<?>>>();
 		defaultInterface = new DefaultInterfaceImpl(this);
 
 	}
 
-	protected Collection<Event> getOccuredEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOccuredEvents() {
 		return occuredEvents;
 	}
 
-	protected Collection<Event> getOutEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOutEvents() {
 		return outEvents;
 	}
 

+ 4 - 0
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/DefaultInterface.java

@@ -12,6 +12,10 @@ package org.yakindu.sct.runtime.java.test_shallowhistory;
 
 public interface DefaultInterface {
 
+	public enum Events {
+		Event1, Event2, Event3, Event4, Event5, Event6, Event7, Event8,
+	}
+
 	public void raiseEvent1();
 	public void raiseEvent2();
 	public void raiseEvent3();

+ 16 - 16
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/DefaultInterfaceImpl.java

@@ -14,14 +14,14 @@ import org.yakindu.sct.runtime.java.Event;
 
 public class DefaultInterfaceImpl implements DefaultInterface {
 
-	private final Event EventEvent1 = new Event("event1");
-	private final Event EventEvent2 = new Event("event2");
-	private final Event EventEvent3 = new Event("event3");
-	private final Event EventEvent4 = new Event("event4");
-	private final Event EventEvent5 = new Event("event5");
-	private final Event EventEvent6 = new Event("event6");
-	private final Event EventEvent7 = new Event("event7");
-	private final Event EventEvent8 = new Event("event8");
+	private final Event<Events> EventEvent1 = new Event<Events>(Events.Event1);
+	private final Event<Events> EventEvent2 = new Event<Events>(Events.Event2);
+	private final Event<Events> EventEvent3 = new Event<Events>(Events.Event3);
+	private final Event<Events> EventEvent4 = new Event<Events>(Events.Event4);
+	private final Event<Events> EventEvent5 = new Event<Events>(Events.Event5);
+	private final Event<Events> EventEvent6 = new Event<Events>(Events.Event6);
+	private final Event<Events> EventEvent7 = new Event<Events>(Events.Event7);
+	private final Event<Events> EventEvent8 = new Event<Events>(Events.Event8);
 
 	private Test_ShallowHistoryCycleBasedStatemachine statemachine;
 
@@ -34,7 +34,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent1);
 	}
 
-	public Event getEventEvent1() {
+	public Event<Events> getEventEvent1() {
 		return EventEvent1;
 	}
 
@@ -42,7 +42,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent2);
 	}
 
-	public Event getEventEvent2() {
+	public Event<Events> getEventEvent2() {
 		return EventEvent2;
 	}
 
@@ -50,7 +50,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent3);
 	}
 
-	public Event getEventEvent3() {
+	public Event<Events> getEventEvent3() {
 		return EventEvent3;
 	}
 
@@ -58,7 +58,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent4);
 	}
 
-	public Event getEventEvent4() {
+	public Event<Events> getEventEvent4() {
 		return EventEvent4;
 	}
 
@@ -66,7 +66,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent5);
 	}
 
-	public Event getEventEvent5() {
+	public Event<Events> getEventEvent5() {
 		return EventEvent5;
 	}
 
@@ -74,7 +74,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent6);
 	}
 
-	public Event getEventEvent6() {
+	public Event<Events> getEventEvent6() {
 		return EventEvent6;
 	}
 
@@ -82,7 +82,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent7);
 	}
 
-	public Event getEventEvent7() {
+	public Event<Events> getEventEvent7() {
 		return EventEvent7;
 	}
 
@@ -90,7 +90,7 @@ public class DefaultInterfaceImpl implements DefaultInterface {
 		statemachine.getOccuredEvents().add(EventEvent8);
 	}
 
-	public Event getEventEvent8() {
+	public Event<Events> getEventEvent8() {
 		return EventEvent8;
 	}
 

+ 0 - 24
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Interface.java

@@ -1,24 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_shallowhistory;
-
-public interface Interface {
-
-	public void raiseEvent1();
-	public void raiseEvent2();
-	public void raiseEvent3();
-	public void raiseEvent4();
-	public void raiseEvent5();
-	public void raiseEvent6();
-	public void raiseEvent7();
-	public void raiseEvent8();
-
-}

+ 0 - 96
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/InterfaceImpl.java

@@ -1,96 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_shallowhistory;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class InterfaceImpl implements Interface {
-
-	private final Event EventEvent1 = new Event("event1");
-	private final Event EventEvent2 = new Event("event2");
-	private final Event EventEvent3 = new Event("event3");
-	private final Event EventEvent4 = new Event("event4");
-	private final Event EventEvent5 = new Event("event5");
-	private final Event EventEvent6 = new Event("event6");
-	private final Event EventEvent7 = new Event("event7");
-	private final Event EventEvent8 = new Event("event8");
-
-	private Test_ShallowHistoryCycleBasedStatemachine statemachine;
-
-	public InterfaceImpl(Test_ShallowHistoryCycleBasedStatemachine statemachine) {
-		this.statemachine = statemachine;
-	}
-
-	public void raiseEvent1() {
-		statemachine.getOccuredEvents().add(EventEvent1);
-	}
-
-	public Event getEventEvent1() {
-		return EventEvent1;
-	}
-
-	public void raiseEvent2() {
-		statemachine.getOccuredEvents().add(EventEvent2);
-	}
-
-	public Event getEventEvent2() {
-		return EventEvent2;
-	}
-
-	public void raiseEvent3() {
-		statemachine.getOccuredEvents().add(EventEvent3);
-	}
-
-	public Event getEventEvent3() {
-		return EventEvent3;
-	}
-
-	public void raiseEvent4() {
-		statemachine.getOccuredEvents().add(EventEvent4);
-	}
-
-	public Event getEventEvent4() {
-		return EventEvent4;
-	}
-
-	public void raiseEvent5() {
-		statemachine.getOccuredEvents().add(EventEvent5);
-	}
-
-	public Event getEventEvent5() {
-		return EventEvent5;
-	}
-
-	public void raiseEvent6() {
-		statemachine.getOccuredEvents().add(EventEvent6);
-	}
-
-	public Event getEventEvent6() {
-		return EventEvent6;
-	}
-
-	public void raiseEvent7() {
-		statemachine.getOccuredEvents().add(EventEvent7);
-	}
-
-	public Event getEventEvent7() {
-		return EventEvent7;
-	}
-
-	public void raiseEvent8() {
-		statemachine.getOccuredEvents().add(EventEvent8);
-	}
-
-	public Event getEventEvent8() {
-		return EventEvent8;
-	}
-
-}

+ 6 - 6
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Test_ShallowHistoryCycleBasedStatemachine.java

@@ -28,22 +28,22 @@ public class Test_ShallowHistoryCycleBasedStatemachine implements IStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final ArrayList<Event> occuredEvents;
+	private final ArrayList<Event<? extends Enum<?>>> occuredEvents;
 
-	private final Collection<Event> outEvents;
+	private final Collection<Event<? extends Enum<?>>> outEvents;
 
 	public Test_ShallowHistoryCycleBasedStatemachine() {
-		occuredEvents = new ArrayList<Event>();
-		outEvents = new HashSet<Event>();
+		occuredEvents = new ArrayList<Event<? extends Enum<?>>>();
+		outEvents = new HashSet<Event<? extends Enum<?>>>();
 		defaultInterface = new DefaultInterfaceImpl(this);
 
 	}
 
-	protected Collection<Event> getOccuredEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOccuredEvents() {
 		return occuredEvents;
 	}
 
-	protected Collection<Event> getOutEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOutEvents() {
 		return outEvents;
 	}
 

+ 5 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/DefaultInterface.java

@@ -15,12 +15,16 @@ import org.yakindu.sct.runtime.java.INotificationSender;
 
 public interface DefaultInterface extends INotificationSender {
 
+	public enum Events {
+		Event5, Event6, Event7,
+	}
+
 	public void raiseEvent5();
 	public void raiseEvent5(boolean value);
 	public void raiseEvent6();
 	public boolean isRaisedEvent7();
 
-	public Event getEventEvent7();
+	public Event<Events> getEventEvent7();
 
 	public int getVarI();
 	public void setVarI(int value);

+ 7 - 7
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/DefaultInterfaceImpl.java

@@ -19,10 +19,10 @@ public class DefaultInterfaceImpl extends NotificationSender
 		implements
 			DefaultInterface {
 
-	private final ValuedEvent<Boolean> EventEvent5 = new ValuedEvent<Boolean>(
-			"event5", false);
-	private final Event EventEvent6 = new Event("event6");
-	private final Event EventEvent7 = new Event("event7");
+	private final ValuedEvent<Events, Boolean> EventEvent5 = new ValuedEvent<Events, Boolean>(
+			Events.Event5, false);
+	private final Event<Events> EventEvent6 = new Event<Events>(Events.Event6);
+	private final Event<Events> EventEvent7 = new Event<Events>(Events.Event7);
 
 	private Test_TransitionCycleBasedStatemachine statemachine;
 
@@ -40,7 +40,7 @@ public class DefaultInterfaceImpl extends NotificationSender
 		statemachine.getOccuredEvents().add(EventEvent5);
 	}
 
-	public ValuedEvent<Boolean> getEventEvent5() {
+	public ValuedEvent<Events, Boolean> getEventEvent5() {
 		return EventEvent5;
 	}
 
@@ -48,7 +48,7 @@ public class DefaultInterfaceImpl extends NotificationSender
 		statemachine.getOccuredEvents().add(EventEvent6);
 	}
 
-	public Event getEventEvent6() {
+	public Event<Events> getEventEvent6() {
 		return EventEvent6;
 	}
 
@@ -58,7 +58,7 @@ public class DefaultInterfaceImpl extends NotificationSender
 		notifyListeners(new EventNotification(EventEvent7));
 	}
 
-	public Event getEventEvent7() {
+	public Event<Events> getEventEvent7() {
 		return EventEvent7;
 	}
 

+ 0 - 29
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Interface.java

@@ -1,29 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_transition;
-
-import org.yakindu.sct.runtime.java.Event;
-import org.yakindu.sct.runtime.java.INotificationSender;
-
-public interface Interface extends INotificationSender {
-
-	public void raiseEvent5();
-	public void raiseEvent5(boolean value);
-	public void raiseEvent6();
-	public boolean isRaisedEvent7();
-
-	public Event getEventEvent7();
-
-	public int getVarI();
-	public void setVarI(int value);
-	public double getVarJ();
-	public void setVarJ(double value);
-}

+ 5 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceA.java

@@ -15,12 +15,16 @@ import org.yakindu.sct.runtime.java.INotificationSender;
 
 public interface InterfaceA extends INotificationSender {
 
+	public enum Events {
+		Event1, Event2, Event3, Event4,
+	}
+
 	public void raiseEvent1();
 	public void raiseEvent1(int value);
 	public void raiseEvent2();
 	public void raiseEvent3();
 	public boolean isRaisedEvent4();
 
-	public Event getEventEvent4();
+	public Event<Events> getEventEvent4();
 
 }

+ 9 - 9
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceAImpl.java

@@ -17,11 +17,11 @@ import org.yakindu.sct.runtime.java.ValuedEvent;
 
 public class InterfaceAImpl extends NotificationSender implements InterfaceA {
 
-	private final ValuedEvent<Integer> EventEvent1 = new ValuedEvent<Integer>(
-			"event1", 1);
-	private final Event EventEvent2 = new Event("event2");
-	private final Event EventEvent3 = new Event("event3");
-	private final Event EventEvent4 = new Event("event4");
+	private final ValuedEvent<Events, Integer> EventEvent1 = new ValuedEvent<Events, Integer>(
+			Events.Event1, 1);
+	private final Event<Events> EventEvent2 = new Event<Events>(Events.Event2);
+	private final Event<Events> EventEvent3 = new Event<Events>(Events.Event3);
+	private final Event<Events> EventEvent4 = new Event<Events>(Events.Event4);
 
 	private Test_TransitionCycleBasedStatemachine statemachine;
 
@@ -38,7 +38,7 @@ public class InterfaceAImpl extends NotificationSender implements InterfaceA {
 		statemachine.getOccuredEvents().add(EventEvent1);
 	}
 
-	public ValuedEvent<Integer> getEventEvent1() {
+	public ValuedEvent<Events, Integer> getEventEvent1() {
 		return EventEvent1;
 	}
 
@@ -46,7 +46,7 @@ public class InterfaceAImpl extends NotificationSender implements InterfaceA {
 		statemachine.getOccuredEvents().add(EventEvent2);
 	}
 
-	public Event getEventEvent2() {
+	public Event<Events> getEventEvent2() {
 		return EventEvent2;
 	}
 
@@ -54,7 +54,7 @@ public class InterfaceAImpl extends NotificationSender implements InterfaceA {
 		statemachine.getOccuredEvents().add(EventEvent3);
 	}
 
-	public Event getEventEvent3() {
+	public Event<Events> getEventEvent3() {
 		return EventEvent3;
 	}
 
@@ -64,7 +64,7 @@ public class InterfaceAImpl extends NotificationSender implements InterfaceA {
 		notifyListeners(new EventNotification(EventEvent4));
 	}
 
-	public Event getEventEvent4() {
+	public Event<Events> getEventEvent4() {
 		return EventEvent4;
 	}
 

+ 0 - 84
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceImpl.java

@@ -1,84 +0,0 @@
-/**
- * Copyright (c) 2011 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.runtime.java.test_transition;
-
-import org.yakindu.sct.runtime.java.Event;
-import org.yakindu.sct.runtime.java.EventNotification;
-import org.yakindu.sct.runtime.java.NotificationSender;
-import org.yakindu.sct.runtime.java.ValuedEvent;
-
-public class InterfaceImpl extends NotificationSender implements Interface {
-
-	private final ValuedEvent<Boolean> EventEvent5 = new ValuedEvent<Boolean>(
-			"event5", false);
-	private final Event EventEvent6 = new Event("event6");
-	private final Event EventEvent7 = new Event("event7");
-
-	private Test_TransitionCycleBasedStatemachine statemachine;
-
-	public InterfaceImpl(Test_TransitionCycleBasedStatemachine statemachine) {
-		this.statemachine = statemachine;
-	}
-
-	public void raiseEvent5() {
-		statemachine.getOccuredEvents().add(EventEvent5);
-	}
-
-	public void raiseEvent5(boolean value) {
-		EventEvent5.setValue(value);
-		statemachine.getOccuredEvents().add(EventEvent5);
-	}
-
-	public ValuedEvent<Boolean> getEventEvent5() {
-		return EventEvent5;
-	}
-
-	public void raiseEvent6() {
-		statemachine.getOccuredEvents().add(EventEvent6);
-	}
-
-	public Event getEventEvent6() {
-		return EventEvent6;
-	}
-
-	public void raiseEvent7() {
-		statemachine.getOccuredEvents().add(EventEvent7);
-		statemachine.getOutEvents().add(EventEvent7);
-		notifyListeners(new EventNotification(EventEvent7));
-	}
-
-	public Event getEventEvent7() {
-		return EventEvent7;
-	}
-
-	public boolean isRaisedEvent7() {
-		return statemachine.getOutEvents().contains(EventEvent7);
-	}
-
-	private int varI;
-
-	public int getVarI() {
-		return varI;
-	}
-
-	public void setVarI(int value) {
-		varI = value;
-	}
-	private double varJ;
-
-	public double getVarJ() {
-		return varJ;
-	}
-
-	public void setVarJ(double value) {
-		varJ = value;
-	}
-}

+ 21 - 13
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Test_TransitionCycleBasedStatemachine.java

@@ -27,13 +27,21 @@ public class Test_TransitionCycleBasedStatemachine
 		implements
 			ITimedStatemachine {
 
-	private final ValuedEvent<Integer> EventEvent10 = new ValuedEvent<Integer>(
-			"event10", 0);
+	private enum Events {
+		Event10,
+	}
+
+	private enum TimeEvents {
+		State1_time_event_0, State1_time_event_1,
+	}
+
+	private final ValuedEvent<Events, Integer> EventEvent10 = new ValuedEvent<Events, Integer>(
+			Events.Event10, 0);
 
-	private static final TimeEvent State1_time_event_0 = new TimeEvent(
-			"State1_time_event_0", false);
-	private static final TimeEvent State1_time_event_1 = new TimeEvent(
-			"State1_time_event_1", false);
+	private static final TimeEvent<TimeEvents> State1_time_event_0 = new TimeEvent<TimeEvents>(
+			TimeEvents.State1_time_event_0, false);
+	private static final TimeEvent<TimeEvents> State1_time_event_1 = new TimeEvent<TimeEvents>(
+			TimeEvents.State1_time_event_1, false);
 
 	public enum State {
 		State1, State2,
@@ -44,17 +52,17 @@ public class Test_TransitionCycleBasedStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final ArrayList<Event> occuredEvents;
+	private final ArrayList<Event<? extends Enum<?>>> occuredEvents;
 
-	private final Collection<Event> outEvents;
+	private final Collection<Event<? extends Enum<?>>> outEvents;
 
 	private ITimerHandler timerHandler;
 
 	private long cycleStartTime;
 
 	public Test_TransitionCycleBasedStatemachine() {
-		occuredEvents = new ArrayList<Event>();
-		outEvents = new HashSet<Event>();
+		occuredEvents = new ArrayList<Event<? extends Enum<?>>>();
+		outEvents = new HashSet<Event<? extends Enum<?>>>();
 		interfaceA = new InterfaceAImpl(this);
 		defaultInterface = new DefaultInterfaceImpl(this);
 		State1_time_event_0.setStatemachine(this);
@@ -62,11 +70,11 @@ public class Test_TransitionCycleBasedStatemachine
 
 	}
 
-	protected Collection<Event> getOccuredEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOccuredEvents() {
 		return occuredEvents;
 	}
 
-	protected Collection<Event> getOutEvents() {
+	protected Collection<Event<? extends Enum<?>>> getOutEvents() {
 		return outEvents;
 	}
 
@@ -118,7 +126,7 @@ public class Test_TransitionCycleBasedStatemachine
 		getOccuredEvents().add(EventEvent10);
 	}
 
-	private ValuedEvent<Integer> getEventEvent10() {
+	private ValuedEvent<Events, Integer> getEventEvent10() {
 		return EventEvent10;
 	}