package org.yakindu.scr.declarations;
public class DeclarationsStatemachine implements IDeclarationsStatemachine {
protected class SCInterfaceImpl implements SCInterface {
private boolean evA;
public void raiseEvA() {
evA = true;
}
private boolean evB;
public boolean isRaisedEvB() {
return evB;
}
protected void raiseEvB() {
evB = true;
}
private boolean evC;
private boolean evCValue;
public void raiseEvC(boolean value) {
evC = true;
evCValue = value;
}
protected boolean getEvCValue() {
if (! evC )
throw new IllegalStateException("Illegal event value access. Event EvC is not raised!");
return evCValue;
}
private boolean evD;
private long evDValue;
public boolean isRaisedEvD() {
return evD;
}
protected void raiseEvD(long value) {
evD = true;
evDValue = value;
}
public long getEvDValue() {
if (! evD )
throw new IllegalStateException("Illegal event value access. Event EvD is not raised!");
return evDValue;
}
private boolean evE;
private double evEValue;
public void raiseEvE(double value) {
evE = true;
evEValue = value;
}
protected double getEvEValue() {
if (! evE )
throw new IllegalStateException("Illegal event value access. Event EvE is not raised!");
return evEValue;
}
private boolean evF;
private String evFValue;
public boolean isRaisedEvF() {
return evF;
}
protected void raiseEvF(String value) {
evF = true;
evFValue = value;
}
public String getEvFValue() {
if (! evF )
throw new IllegalStateException("Illegal event value access. Event EvF is not raised!");
return evFValue;
}
private boolean varA;
public boolean getVarA() {
return varA;
}
public void setVarA(boolean value) {
this.varA = value;
}
private long varB;
public long getVarB() {
return varB;
}
public void setVarB(long value) {
this.varB = value;
}
private double varC;
public double getVarC() {
return varC;
}
public void setVarC(double value) {
this.varC = value;
}
private String varD;
public String getVarD() {
return varD;
}
public void setVarD(String value) {
this.varD = value;
}
private long varE;
public long getVarE() {
return varE;
}
public void setVarE(long value) {
this.varE = value;
}
protected void clearEvents() {
evA = false;
evC = false;
evE = false;
}
protected void clearOutEvents() {
evB = false;
evD = false;
evF = false;
}
}
protected SCInterfaceImpl sCInterface;
protected class SCIIfAImpl implements SCIIfA {
private boolean evA;
public void raiseEvA() {
evA = true;
}
private boolean evB;
public boolean isRaisedEvB() {
return evB;
}
protected void raiseEvB() {
evB = true;
}
private boolean evC;
private boolean evCValue;
public void raiseEvC(boolean value) {
evC = true;
evCValue = value;
}
protected boolean getEvCValue() {
if (! evC )
throw new IllegalStateException("Illegal event value access. Event EvC is not raised!");
return evCValue;
}
private boolean evD;
private long evDValue;
public boolean isRaisedEvD() {
return evD;
}
protected void raiseEvD(long value) {
evD = true;
evDValue = value;
}
public long getEvDValue() {
if (! evD )
throw new IllegalStateException("Illegal event value access. Event EvD is not raised!");
return evDValue;
}
private boolean evE;
private double evEValue;
public void raiseEvE(double value) {
evE = true;
evEValue = value;
}
protected double getEvEValue() {
if (! evE )
throw new IllegalStateException("Illegal event value access. Event EvE is not raised!");
return evEValue;
}
private boolean evF;
private String evFValue;
public boolean isRaisedEvF() {
return evF;
}
protected void raiseEvF(String value) {
evF = true;
evFValue = value;
}
public String getEvFValue() {
if (! evF )
throw new IllegalStateException("Illegal event value access. Event EvF is not raised!");
return evFValue;
}
private boolean varA;
public boolean getVarA() {
return varA;
}
public void setVarA(boolean value) {
this.varA = value;
}
private long varB;
public long getVarB() {
return varB;
}
public void setVarB(long value) {
this.varB = value;
}
private double varC;
public double getVarC() {
return varC;
}
public void setVarC(double value) {
this.varC = value;
}
private String varD;
public String getVarD() {
return varD;
}
public void setVarD(String value) {
this.varD = value;
}
private long varE;
public long getVarE() {
return varE;
}
public void setVarE(long value) {
this.varE = value;
}
protected void clearEvents() {
evA = false;
evC = false;
evE = false;
}
protected void clearOutEvents() {
evB = false;
evD = false;
evF = false;
}
}
protected SCIIfAImpl sCIIfA;
private boolean initialized = false;
public enum State {
main_region_A,
main_region_B,
$NullState$
};
private final State[] stateVector = new State[1];
private int nextStateIndex;
private boolean evInA;
private boolean evInB;
private boolean evInC;
private boolean evInCValue;
private boolean evInD;
private long evInDValue;
private boolean evInE;
private double evInEValue;
private boolean evInF;
private String evInFValue;
private boolean varInA;
protected void setVarInA(boolean value) {
varInA = value;
}
protected boolean getVarInA() {
return varInA;
}
private long varInB;
protected void setVarInB(long value) {
varInB = value;
}
protected long getVarInB() {
return varInB;
}
private double varInC;
protected void setVarInC(double value) {
varInC = value;
}
protected double getVarInC() {
return varInC;
}
private String varInD;
protected void setVarInD(String value) {
varInD = value;
}
protected String getVarInD() {
return varInD;
}
private long varInE;
protected void setVarInE(long value) {
varInE = value;
}
protected long getVarInE() {
return varInE;
}
public DeclarationsStatemachine() {
sCInterface = new SCInterfaceImpl();
sCIIfA = new SCIIfAImpl();
}
public void init() {
this.initialized = true;
for (int i = 0; i < 1; i++) {
stateVector[i] = State.$NullState$;
}
clearEvents();
clearOutEvents();
sCInterface.setVarA(false);
sCInterface.setVarB(1);
sCInterface.setVarC(1.0);
sCInterface.setVarD("myString");
sCInterface.setVarE(16);
sCIIfA.setVarA(false);
sCIIfA.setVarB(1);
sCIIfA.setVarC(1.0);
sCIIfA.setVarD("myString");
sCIIfA.setVarE(16);
setVarInA(false);
setVarInB(1);
setVarInC(1.0);
setVarInD("myString");
setVarInE(16);
}
public void enter() {
if (!initialized) {
throw new IllegalStateException(
"The state machine needs to be initialized first by calling the init() function.");
}
enterSequence_main_region_default();
}
public void exit() {
exitSequence_main_region();
}
/**
* @see IStatemachine#isActive()
*/
public boolean isActive() {
return stateVector[0] != State.$NullState$;
}
/**
* Always returns 'false' since this state machine can never become final.
*
* @see IStatemachine#isFinal()
*/
public boolean isFinal() {
return false;
}
/**
* This method resets the incoming events (time events included).
*/
protected void clearEvents() {
sCInterface.clearEvents();
sCIIfA.clearEvents();
evInA = false;
evInB = false;
evInC = false;
evInD = false;
evInE = false;
evInF = false;
}
/**
* This method resets the outgoing events.
*/
protected void clearOutEvents() {
sCInterface.clearOutEvents();
sCIIfA.clearOutEvents();
}
/**
* Returns true if the given state is currently active otherwise false.
*/
public boolean isStateActive(State state) {
switch (state) {
case main_region_A:
return stateVector[0] == State.main_region_A;
case main_region_B:
return stateVector[0] == State.main_region_B;
default:
return false;
}
}
public SCInterface getSCInterface() {
return sCInterface;
}
public SCIIfA getSCIIfA() {
return sCIIfA;
}
private void raiseEvInA() {
evInA = true;
}
private void raiseEvInB() {
evInB = true;
}
private void raiseEvInC(boolean value) {
evInCValue = value;
evInC = true;
}
private boolean getEvInCValue() {
if (! evInC )
throw new IllegalStateException("Illegal event value access. Event EvInC is not raised!");
return evInCValue;
}
private void raiseEvInD(long value) {
evInDValue = value;
evInD = true;
}
private long getEvInDValue() {
if (! evInD )
throw new IllegalStateException("Illegal event value access. Event EvInD is not raised!");
return evInDValue;
}
private void raiseEvInE(double value) {
evInEValue = value;
evInE = true;
}
private double getEvInEValue() {
if (! evInE )
throw new IllegalStateException("Illegal event value access. Event EvInE is not raised!");
return evInEValue;
}
private void raiseEvInF(String value) {
evInFValue = value;
evInF = true;
}
private String getEvInFValue() {
if (! evInF )
throw new IllegalStateException("Illegal event value access. Event EvInF is not raised!");
return evInFValue;
}
public void raiseEvA() {
sCInterface.raiseEvA();
}
public boolean isRaisedEvB() {
return sCInterface.isRaisedEvB();
}
public void raiseEvC(boolean value) {
sCInterface.raiseEvC(value);
}
public boolean isRaisedEvD() {
return sCInterface.isRaisedEvD();
}
public long getEvDValue() {
return sCInterface.getEvDValue();
}
public void raiseEvE(double value) {
sCInterface.raiseEvE(value);
}
public boolean isRaisedEvF() {
return sCInterface.isRaisedEvF();
}
public String getEvFValue() {
return sCInterface.getEvFValue();
}
public boolean getVarA() {
return sCInterface.getVarA();
}
public void setVarA(boolean value) {
sCInterface.setVarA(value);
}
public long getVarB() {
return sCInterface.getVarB();
}
public void setVarB(long value) {
sCInterface.setVarB(value);
}
public double getVarC() {
return sCInterface.getVarC();
}
public void setVarC(double value) {
sCInterface.setVarC(value);
}
public String getVarD() {
return sCInterface.getVarD();
}
public void setVarD(String value) {
sCInterface.setVarD(value);
}
public long getVarE() {
return sCInterface.getVarE();
}
public void setVarE(long value) {
sCInterface.setVarE(value);
}
private boolean check_main_region_A_tr0_tr0() {
return evInA;
}
private boolean check_main_region_A_tr1_tr1() {
return evInC;
}
private boolean check_main_region_B_tr0_tr0() {
return evInB;
}
private boolean check_main_region_B_tr1_tr1() {
return evInD;
}
private boolean check_main_region_B_tr2_tr2() {
return evInE;
}
private boolean check_main_region_B_tr3_tr3() {
return evInF;
}
private void effect_main_region_A_tr0() {
exitSequence_main_region_A();
enterSequence_main_region_B_default();
}
private void effect_main_region_A_tr1() {
exitSequence_main_region_A();
enterSequence_main_region_A_default();
}
private void effect_main_region_B_tr0() {
exitSequence_main_region_B();
enterSequence_main_region_A_default();
}
private void effect_main_region_B_tr1() {
exitSequence_main_region_B();
enterSequence_main_region_B_default();
}
private void effect_main_region_B_tr2() {
exitSequence_main_region_B();
enterSequence_main_region_B_default();
}
private void effect_main_region_B_tr3() {
exitSequence_main_region_B();
enterSequence_main_region_A_default();
}
/* Entry action for state 'A'. */
private void entryAction_main_region_A() {
setVarInA(false);
setVarInB(1);
setVarInC(1.1);
setVarInD("blub");
setVarInE(1);
}
/* 'default' enter sequence for state A */
private void enterSequence_main_region_A_default() {
entryAction_main_region_A();
nextStateIndex = 0;
stateVector[0] = State.main_region_A;
}
/* 'default' enter sequence for state B */
private void enterSequence_main_region_B_default() {
nextStateIndex = 0;
stateVector[0] = State.main_region_B;
}
/* 'default' enter sequence for region main region */
private void enterSequence_main_region_default() {
react_main_region__entry_Default();
}
/* Default exit sequence for state A */
private void exitSequence_main_region_A() {
nextStateIndex = 0;
stateVector[0] = State.$NullState$;
}
/* Default exit sequence for state B */
private void exitSequence_main_region_B() {
nextStateIndex = 0;
stateVector[0] = State.$NullState$;
}
/* Default exit sequence for region main region */
private void exitSequence_main_region() {
switch (stateVector[0]) {
case main_region_A:
exitSequence_main_region_A();
break;
case main_region_B:
exitSequence_main_region_B();
break;
default:
break;
}
}
/* The reactions of state A. */
private void react_main_region_A() {
if (check_main_region_A_tr0_tr0()) {
effect_main_region_A_tr0();
} else {
if (check_main_region_A_tr1_tr1()) {
effect_main_region_A_tr1();
}
}
}
/* The reactions of state B. */
private void react_main_region_B() {
if (check_main_region_B_tr0_tr0()) {
effect_main_region_B_tr0();
} else {
if (check_main_region_B_tr1_tr1()) {
effect_main_region_B_tr1();
} else {
if (check_main_region_B_tr2_tr2()) {
effect_main_region_B_tr2();
} else {
if (check_main_region_B_tr3_tr3()) {
effect_main_region_B_tr3();
}
}
}
}
}
/* Default react sequence for initial entry */
private void react_main_region__entry_Default() {
enterSequence_main_region_A_default();
}
public void runCycle() {
if (!initialized)
throw new IllegalStateException(
"The state machine needs to be initialized first by calling the init() function.");
clearOutEvents();
for (nextStateIndex = 0; nextStateIndex < stateVector.length; nextStateIndex++) {
switch (stateVector[nextStateIndex]) {
case main_region_A:
react_main_region_A();
break;
case main_region_B:
react_main_region_B();
break;
default:
// $NullState$
}
}
clearEvents();
}
}