
net.sf.eBus.client.TestRequestorContext Maven / Gradle / Ivy
The newest version!
/*
* ex: set ro:
* DO NOT EDIT.
* generated by smc (http://smc.sourceforge.net/)
* from file : TestRequestor.sm.sm
*/
//
// Copyright 2009 - 2011, 2015 Charles W. Rapp
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package net.sf.eBus.client;
import static net.sf.eBus.client.ERequestFeed.RequestState;
import net.sf.eBus.messages.EReplyMessage;
import static net.sf.eBus.messages.EReplyMessage.ReplyStatus;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodHandles.Lookup;
import java.lang.invoke.MethodType;
import statemap.FSMContext7;
import statemap.State7;
import statemap.TransitionHandle;
public class TestRequestorContext
extends FSMContext7
{
//---------------------------------------------------------------
// Member methods.
//
//-----------------------------------------------------------
// Constructors.
//
public TestRequestorContext(final TestRequestor owner)
{
this (owner, sStates[NoReplier_TestStart_STATE_ID]);
}
public TestRequestorContext(final TestRequestor owner, final int initStateId)
{
this (owner, sStates[initStateId]); }
public TestRequestorContext(final TestRequestor owner, final State7 initState)
{
super (initState);
ctxt = owner;
}
//
// end of Constructors.
//-----------------------------------------------------------
//-----------------------------------------------------------
// FSMContext7 Abstract Method Override.
//
@Override
protected void executeAction(final MethodHandle mh)
{
try
{
mh.invokeExact(this);
}
catch (Throwable tex)
{
debugOutput(tex);
if (RuntimeException.class.isInstance(tex))
{
throw ((RuntimeException) tex);
}
}
}
//
// end of FSMContext7 Abstract Method Override.
//-----------------------------------------------------------
//-----------------------------------------------------------
// Transitions.
//
public void cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
mTransition = "cancelOrderReply";
try
{
final TransitionHandle th =
getState().transition(cancelOrderReply6_TRANSITION_ID);
if (th.isDefault())
{
(th.handle()).invokeExact(this);
}
else
{
(th.handle()).invokeExact(this, status, reason, msg);
}
}
catch (Throwable tex)
{
debugOutput(tex);
if (RuntimeException.class.isInstance(tex))
{
throw ((RuntimeException) tex);
}
}
mTransition = "";
}
public void cancelReply(final RequestState reqState)
{
mTransition = "cancelReply";
try
{
final TransitionHandle th =
getState().transition(cancelReply9_TRANSITION_ID);
if (th.isDefault())
{
(th.handle()).invokeExact(this);
}
else
{
(th.handle()).invokeExact(this, reqState);
}
}
catch (Throwable tex)
{
debugOutput(tex);
if (RuntimeException.class.isInstance(tex))
{
throw ((RuntimeException) tex);
}
}
mTransition = "";
}
public void cancelReply(final ReplyStatus status)
{
mTransition = "cancelReply";
try
{
final TransitionHandle th =
getState().transition(cancelReply10_TRANSITION_ID);
if (th.isDefault())
{
(th.handle()).invokeExact(this);
}
else
{
(th.handle()).invokeExact(this, status);
}
}
catch (Throwable tex)
{
debugOutput(tex);
if (RuntimeException.class.isInstance(tex))
{
throw ((RuntimeException) tex);
}
}
mTransition = "";
}
public void modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
mTransition = "modifyOrderReply";
try
{
final TransitionHandle th =
getState().transition(modifyOrderReply5_TRANSITION_ID);
if (th.isDefault())
{
(th.handle()).invokeExact(this);
}
else
{
(th.handle()).invokeExact(this, status, reason, msg);
}
}
catch (Throwable tex)
{
debugOutput(tex);
if (RuntimeException.class.isInstance(tex))
{
throw ((RuntimeException) tex);
}
}
mTransition = "";
}
public void newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
mTransition = "newOrderReply";
try
{
final TransitionHandle th =
getState().transition(newOrderReply4_TRANSITION_ID);
if (th.isDefault())
{
(th.handle()).invokeExact(this);
}
else
{
(th.handle()).invokeExact(this, status, reason, msg);
}
}
catch (Throwable tex)
{
debugOutput(tex);
if (RuntimeException.class.isInstance(tex))
{
throw ((RuntimeException) tex);
}
}
mTransition = "";
}
public void noMoreReplies()
{
mTransition = "noMoreReplies";
try
{
final TransitionHandle th =
getState().transition(noMoreReplies3_TRANSITION_ID);
(th.handle()).invokeExact(this);
}
catch (Throwable tex)
{
debugOutput(tex);
if (RuntimeException.class.isInstance(tex))
{
throw ((RuntimeException) tex);
}
}
mTransition = "";
}
public void sendRequest(final Side side, final int qty)
{
mTransition = "sendRequest";
try
{
final TransitionHandle th =
getState().transition(sendRequest2_TRANSITION_ID);
if (th.isDefault())
{
(th.handle()).invokeExact(this);
}
else
{
(th.handle()).invokeExact(this, side, qty);
}
}
catch (Throwable tex)
{
debugOutput(tex);
if (RuntimeException.class.isInstance(tex))
{
throw ((RuntimeException) tex);
}
}
mTransition = "";
}
public void testError(final Throwable t)
{
mTransition = "testError";
try
{
final TransitionHandle th =
getState().transition(testError8_TRANSITION_ID);
if (th.isDefault())
{
(th.handle()).invokeExact(this);
}
else
{
(th.handle()).invokeExact(this, t);
}
}
catch (Throwable tex)
{
debugOutput(tex);
if (RuntimeException.class.isInstance(tex))
{
throw ((RuntimeException) tex);
}
}
mTransition = "";
}
public void unknownRequest()
{
mTransition = "unknownRequest";
try
{
final TransitionHandle th =
getState().transition(unknownRequest7_TRANSITION_ID);
(th.handle()).invokeExact(this);
}
catch (Throwable tex)
{
debugOutput(tex);
if (RuntimeException.class.isInstance(tex))
{
throw ((RuntimeException) tex);
}
}
mTransition = "";
}
//
// end of Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// NoTest.TestDone State Entry/Exit Actions.
//
private void NoTest_TestDone__Entry_()
{
ctxt.signalDone();
}
//
// end of NoTest.TestDone State Entry/Exit Actions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// NoTest.TestDone State Transitions.
//
private void NoTest_TestDone_Default()
{
final int stateId = mState.getId();
exitState();
try
{
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of NoTest.TestDone State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// DoNothing.TestStart State Transitions.
//
private void DoNothing_TestStart_Default()
{
final int stateId = mState.getId();
}
//
// end of DoNothing.TestStart State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// NoReplier.Default State Transitions.
//
private void NoReplier_Default_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void NoReplier_Default_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected new reply");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void NoReplier_Default_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected modify reply");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void NoReplier_Default_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel reply");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void NoReplier_Default_unknownRequest()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("reply to unknown request");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void NoReplier_Default_testError(final Throwable t)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(t);
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void NoReplier_Default_Default()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(new IllegalArgumentException(
"invalid transition"));
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of NoReplier.Default State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// NoReplier.TestStart State Transitions.
//
private void NoReplier_TestStart_sendRequest(final Side side, final int qty)
{
final int stateId = mState.getId();
if (ctxt.marketOrder(side, qty) == false)
{
exitState();
try
{
// No actions.
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("request sent");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
}
//
// end of NoReplier.TestStart State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// ErrorReply.Default State Transitions.
//
private void ErrorReply_Default_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void ErrorReply_Default_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected modify reply");
}
finally
{
setState(sStates[ErrorReply_Failed_STATE_ID]);
}
enterState();
}
private void ErrorReply_Default_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel reply");
}
finally
{
setState(sStates[ErrorReply_Failed_STATE_ID]);
}
enterState();
}
private void ErrorReply_Default_unknownRequest()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("reply to unknown request");
}
finally
{
setState(sStates[ErrorReply_Failed_STATE_ID]);
}
enterState();
}
private void ErrorReply_Default_testError(final Throwable t)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(t);
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void ErrorReply_Default_Default()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(new IllegalArgumentException(
"invalid transition"));
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of ErrorReply.Default State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// ErrorReply.TestStart State Transitions.
//
private void ErrorReply_TestStart_sendRequest(final Side side, final int qty)
{
final int stateId = mState.getId();
if (ctxt.marketOrder(side, qty) == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("no repliers");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else
{
exitState();
try
{
}
finally
{
setState(sStates[ErrorReply_WaitForReply_STATE_ID]);
}
enterState();
}
}
//
// end of ErrorReply.TestStart State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// ErrorReply.WaitForReply State Transitions.
//
private void ErrorReply_WaitForReply_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
if (status == EReplyMessage.ReplyStatus.ERROR)
{
try
{
// No actions.
}
finally
{
}
}
else
{
exitState();
try
{
clearState();
ctxt.failed("unexpected success");
}
finally
{
setState(sStates[ErrorReply_Failed_STATE_ID]);
}
enterState();
}
}
//
// end of ErrorReply.WaitForReply State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// ErrorReply.Failed State Transitions.
//
private void ErrorReply_Failed_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void ErrorReply_Failed_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void ErrorReply_Failed_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void ErrorReply_Failed_unknownRequest()
{
final int stateId = mState.getId();
}
//
// end of ErrorReply.Failed State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// RejectReply.Default State Transitions.
//
private void RejectReply_Default_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void RejectReply_Default_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected modify reply");
}
finally
{
setState(sStates[RejectReply_Failed_STATE_ID]);
}
enterState();
}
private void RejectReply_Default_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel reply");
}
finally
{
setState(sStates[RejectReply_Failed_STATE_ID]);
}
enterState();
}
private void RejectReply_Default_unknownRequest()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("reply to unknown request");
}
finally
{
setState(sStates[RejectReply_Failed_STATE_ID]);
}
enterState();
}
private void RejectReply_Default_testError(final Throwable t)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(t);
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void RejectReply_Default_Default()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(new IllegalArgumentException(
"invalid transition"));
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of RejectReply.Default State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// RejectReply.TestStart State Transitions.
//
private void RejectReply_TestStart_sendRequest(final Side side, final int qty)
{
final int stateId = mState.getId();
if (ctxt.marketOrder(side, qty) == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("no repliers");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else
{
exitState();
try
{
}
finally
{
setState(sStates[RejectReply_WaitForReply_STATE_ID]);
}
enterState();
}
}
//
// end of RejectReply.TestStart State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// RejectReply.WaitForReply State Transitions.
//
private void RejectReply_WaitForReply_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
if (status == ReplyStatus.ERROR)
{
try
{
// No actions.
}
finally
{
}
}
else
{
exitState();
try
{
clearState();
ctxt.failed("unexpected success");
}
finally
{
setState(sStates[RejectReply_Failed_STATE_ID]);
}
enterState();
}
}
//
// end of RejectReply.WaitForReply State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// RejectReply.Failed State Transitions.
//
private void RejectReply_Failed_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void RejectReply_Failed_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void RejectReply_Failed_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void RejectReply_Failed_unknownRequest()
{
final int stateId = mState.getId();
}
//
// end of RejectReply.Failed State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OKReply.Default State Transitions.
//
private void OKReply_Default_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void OKReply_Default_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected modify reply");
}
finally
{
setState(sStates[OKReply_Failed_STATE_ID]);
}
enterState();
}
private void OKReply_Default_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel order reply");
}
finally
{
setState(sStates[OKReply_Failed_STATE_ID]);
}
enterState();
}
private void OKReply_Default_cancelReply(final RequestState reqState)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel reply");
}
finally
{
setState(sStates[OKReply_Failed_STATE_ID]);
}
enterState();
}
private void OKReply_Default_unknownRequest()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("reply to unknown request");
}
finally
{
setState(sStates[OKReply_Failed_STATE_ID]);
}
enterState();
}
private void OKReply_Default_testError(final Throwable t)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(t);
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void OKReply_Default_Default()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(new IllegalArgumentException(
"invalid transition"));
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of OKReply.Default State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OKReply.TestStart State Transitions.
//
private void OKReply_TestStart_sendRequest(final Side side, final int qty)
{
final int stateId = mState.getId();
if (ctxt.marketOrder(side, qty) == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("no repliers");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else
{
exitState();
try
{
}
finally
{
setState(sStates[OKReply_WaitForReply_STATE_ID]);
}
enterState();
}
}
//
// end of OKReply.TestStart State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OKReply.WaitForReply State Transitions.
//
private void OKReply_WaitForReply_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
if (status == ReplyStatus.ERROR)
{
exitState();
try
{
clearState();
ctxt.failed(reason);
}
finally
{
setState(sStates[OKReply_Failed_STATE_ID]);
}
enterState();
}
}
//
// end of OKReply.WaitForReply State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OKReply.Failed State Transitions.
//
private void OKReply_Failed_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void OKReply_Failed_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void OKReply_Failed_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void OKReply_Failed_unknownRequest()
{
final int stateId = mState.getId();
}
//
// end of OKReply.Failed State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// Cancel.Default State Transitions.
//
private void Cancel_Default_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void Cancel_Default_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("request not canceled");
}
finally
{
setState(sStates[Cancel_Failed_STATE_ID]);
}
enterState();
}
private void Cancel_Default_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected modify reply");
}
finally
{
setState(sStates[Cancel_Failed_STATE_ID]);
}
enterState();
}
private void Cancel_Default_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel order reply");
}
finally
{
setState(sStates[Cancel_Failed_STATE_ID]);
}
enterState();
}
private void Cancel_Default_cancelReply(final RequestState reqState)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel reply");
}
finally
{
setState(sStates[Cancel_Failed_STATE_ID]);
}
enterState();
}
private void Cancel_Default_unknownRequest()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("reply to unknown request");
}
finally
{
setState(sStates[Cancel_Failed_STATE_ID]);
}
enterState();
}
private void Cancel_Default_testError(final Throwable t)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(t);
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void Cancel_Default_Default()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(new IllegalArgumentException(
"invalid transition"));
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of Cancel.Default State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// Cancel.TestStart State Transitions.
//
private void Cancel_TestStart_sendRequest(final Side side, final int qty)
{
final int stateId = mState.getId();
if (ctxt.marketOrder(side, qty) == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("no repliers");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else if (ctxt.unrequest() == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("unrequest failed");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else
{
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
}
//
// end of Cancel.TestStart State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// Cancel.Failed State Transitions.
//
private void Cancel_Failed_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void Cancel_Failed_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void Cancel_Failed_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void Cancel_Failed_unknownRequest()
{
final int stateId = mState.getId();
}
//
// end of Cancel.Failed State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OptionalCancelAccept.Default State Transitions.
//
private void OptionalCancelAccept_Default_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void OptionalCancelAccept_Default_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("request not canceled");
}
finally
{
setState(sStates[OptionalCancelAccept_Failed_STATE_ID]);
}
enterState();
}
private void OptionalCancelAccept_Default_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected modify reply");
}
finally
{
setState(sStates[OptionalCancelAccept_Failed_STATE_ID]);
}
enterState();
}
private void OptionalCancelAccept_Default_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel order reply");
}
finally
{
setState(sStates[OptionalCancelAccept_Failed_STATE_ID]);
}
enterState();
}
private void OptionalCancelAccept_Default_cancelReply(final RequestState reqState)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel reply");
}
finally
{
setState(sStates[OptionalCancelAccept_Failed_STATE_ID]);
}
enterState();
}
private void OptionalCancelAccept_Default_unknownRequest()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("reply to unknown request");
}
finally
{
setState(sStates[OptionalCancelAccept_Failed_STATE_ID]);
}
enterState();
}
private void OptionalCancelAccept_Default_testError(final Throwable t)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(t);
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void OptionalCancelAccept_Default_Default()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(new IllegalArgumentException(
"invalid transition"));
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of OptionalCancelAccept.Default State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OptionalCancelAccept.TestStart State Transitions.
//
private void OptionalCancelAccept_TestStart_sendRequest(final Side side, final int qty)
{
final int stateId = mState.getId();
if (ctxt.marketOrder(side, qty) == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("no repliers");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else if (ctxt.cancelRequest() == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("cancel failed");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else
{
exitState();
try
{
}
finally
{
setState(sStates[OptionalCancelAccept_WaitForCancelAccept_STATE_ID]);
}
enterState();
}
}
//
// end of OptionalCancelAccept.TestStart State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OptionalCancelAccept.WaitForCancelAccept State Transitions.
//
private void OptionalCancelAccept_WaitForCancelAccept_cancelReply(final ReplyStatus status)
{
final int stateId = mState.getId();
if (status == ReplyStatus.CANCELED)
{
exitState();
try
{
// No actions.
}
finally
{
setState(sStates[OptionalCancelAccept_Success_STATE_ID]);
}
enterState();
}
else
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("cancel rejected");
}
finally
{
setState(sStates[OptionalCancelAccept_Failed_STATE_ID]);
}
enterState();
}
}
//
// end of OptionalCancelAccept.WaitForCancelAccept State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OptionalCancelAccept.Success State Transitions.
//
private void OptionalCancelAccept_Success_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of OptionalCancelAccept.Success State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OptionalCancelAccept.Failed State Transitions.
//
private void OptionalCancelAccept_Failed_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void OptionalCancelAccept_Failed_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void OptionalCancelAccept_Failed_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void OptionalCancelAccept_Failed_unknownRequest()
{
final int stateId = mState.getId();
}
//
// end of OptionalCancelAccept.Failed State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OptionalCancelReject.Default State Transitions.
//
private void OptionalCancelReject_Default_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void OptionalCancelReject_Default_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("request not canceled");
}
finally
{
setState(sStates[OptionalCancelReject_Failed_STATE_ID]);
}
enterState();
}
private void OptionalCancelReject_Default_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected modify reply");
}
finally
{
setState(sStates[OptionalCancelReject_Failed_STATE_ID]);
}
enterState();
}
private void OptionalCancelReject_Default_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel order reply");
}
finally
{
setState(sStates[OptionalCancelReject_Failed_STATE_ID]);
}
enterState();
}
private void OptionalCancelReject_Default_cancelReply(final RequestState reqState)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel reply");
}
finally
{
setState(sStates[OptionalCancelReject_Failed_STATE_ID]);
}
enterState();
}
private void OptionalCancelReject_Default_unknownRequest()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("reply to unknown request");
}
finally
{
setState(sStates[OptionalCancelReject_Failed_STATE_ID]);
}
enterState();
}
private void OptionalCancelReject_Default_testError(final Throwable t)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(t);
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void OptionalCancelReject_Default_Default()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(new IllegalArgumentException(
"invalid transition"));
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of OptionalCancelReject.Default State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OptionalCancelReject.TestStart State Transitions.
//
private void OptionalCancelReject_TestStart_sendRequest(final Side side, final int qty)
{
final int stateId = mState.getId();
if (ctxt.marketOrder(side, qty) == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("no repliers");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else if (ctxt.cancelRequest() == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("cancel failed");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else
{
exitState();
try
{
}
finally
{
setState(sStates[OptionalCancelReject_WaitForCancelReject_STATE_ID]);
}
enterState();
}
}
//
// end of OptionalCancelReject.TestStart State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OptionalCancelReject.WaitForCancelReject State Transitions.
//
private void OptionalCancelReject_WaitForCancelReject_cancelReply(final ReplyStatus status)
{
final int stateId = mState.getId();
if (status == ReplyStatus.CANCEL_REJECT)
{
exitState();
try
{
// No actions.
}
finally
{
setState(sStates[OptionalCancelReject_Success_STATE_ID]);
}
enterState();
}
else
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("cancel rejected");
}
finally
{
setState(sStates[OptionalCancelReject_Failed_STATE_ID]);
}
enterState();
}
}
//
// end of OptionalCancelReject.WaitForCancelReject State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OptionalCancelReject.Success State Transitions.
//
private void OptionalCancelReject_Success_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
if (status == ReplyStatus.ERROR)
{
exitState();
try
{
clearState();
ctxt.failed(reason);
}
finally
{
setState(sStates[OptionalCancelReject_Failed_STATE_ID]);
}
enterState();
}
}
private void OptionalCancelReject_Success_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of OptionalCancelReject.Success State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// OptionalCancelReject.Failed State Transitions.
//
private void OptionalCancelReject_Failed_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void OptionalCancelReject_Failed_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void OptionalCancelReject_Failed_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void OptionalCancelReject_Failed_unknownRequest()
{
final int stateId = mState.getId();
}
//
// end of OptionalCancelReject.Failed State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// Close.Default State Transitions.
//
private void Close_Default_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void Close_Default_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("request not canceled");
}
finally
{
setState(sStates[Close_Failed_STATE_ID]);
}
enterState();
}
private void Close_Default_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected modify reply");
}
finally
{
setState(sStates[Close_Failed_STATE_ID]);
}
enterState();
}
private void Close_Default_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel order reply");
}
finally
{
setState(sStates[Close_Failed_STATE_ID]);
}
enterState();
}
private void Close_Default_cancelReply(final RequestState reqState)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel reply");
}
finally
{
setState(sStates[Close_Failed_STATE_ID]);
}
enterState();
}
private void Close_Default_unknownRequest()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("reply to unknown request");
}
finally
{
setState(sStates[Close_Failed_STATE_ID]);
}
enterState();
}
private void Close_Default_testError(final Throwable t)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(t);
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
private void Close_Default_Default()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.storeException(new IllegalArgumentException(
"invalid transition"));
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of Close.Default State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// Close.TestStart State Transitions.
//
private void Close_TestStart_sendRequest(final Side side, final int qty)
{
final int stateId = mState.getId();
if (ctxt.marketOrder(side, qty) == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("no repliers");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else if (ctxt.closeRequest() == false)
{
exitState();
try
{
clearState();
ctxt.clearRequests();
ctxt.failed("unrequest failed");
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
else
{
exitState();
try
{
}
finally
{
setState(sStates[Close_WaitForCancel_STATE_ID]);
}
enterState();
}
}
//
// end of Close.TestStart State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// Close.WaitForCancel State Transitions.
//
private void Close_WaitForCancel_cancelReply(final RequestState reqState)
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.failed("unexpected cancel reply");
}
finally
{
setState(sStates[Close_Success_STATE_ID]);
}
enterState();
}
//
// end of Close.WaitForCancel State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// Close.Success State Transitions.
//
private void Close_Success_noMoreReplies()
{
final int stateId = mState.getId();
exitState();
try
{
clearState();
ctxt.clearRequests();
}
finally
{
setState(sStates[NoTest_TestDone_STATE_ID]);
}
enterState();
}
//
// end of Close.Success State Transitions.
//-----------------------------------------------------------
//-----------------------------------------------------------
// Close.Failed State Transitions.
//
private void Close_Failed_cancelOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void Close_Failed_modifyOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void Close_Failed_newOrderReply(final ReplyStatus status, final String reason, final EReplyMessage msg)
{
final int stateId = mState.getId();
}
private void Close_Failed_unknownRequest()
{
final int stateId = mState.getId();
}
//
// end of Close.Failed State Transitions.
//-----------------------------------------------------------
//---------------------------------------------------------------
// Member data.
//
transient private TestRequestor ctxt;
//-----------------------------------------------------------
// Constants.
//
private static final long serialVersionUID = 1L;
public static final int NoTest_TestDone_STATE_ID = 0;
public static final int DoNothing_TestStart_STATE_ID = 1;
public static final int NoReplier_TestStart_STATE_ID = 2;
public static final int ErrorReply_TestStart_STATE_ID = 3;
public static final int ErrorReply_WaitForReply_STATE_ID = 4;
public static final int ErrorReply_Failed_STATE_ID = 5;
public static final int RejectReply_TestStart_STATE_ID = 6;
public static final int RejectReply_WaitForReply_STATE_ID = 7;
public static final int RejectReply_Failed_STATE_ID = 8;
public static final int OKReply_TestStart_STATE_ID = 9;
public static final int OKReply_WaitForReply_STATE_ID = 10;
public static final int OKReply_Failed_STATE_ID = 11;
public static final int Cancel_TestStart_STATE_ID = 12;
public static final int Cancel_Failed_STATE_ID = 13;
public static final int OptionalCancelAccept_TestStart_STATE_ID = 14;
public static final int OptionalCancelAccept_WaitForCancelAccept_STATE_ID = 15;
public static final int OptionalCancelAccept_Success_STATE_ID = 16;
public static final int OptionalCancelAccept_Failed_STATE_ID = 17;
public static final int OptionalCancelReject_TestStart_STATE_ID = 18;
public static final int OptionalCancelReject_WaitForCancelReject_STATE_ID = 19;
public static final int OptionalCancelReject_Success_STATE_ID = 20;
public static final int OptionalCancelReject_Failed_STATE_ID = 21;
public static final int Close_TestStart_STATE_ID = 22;
public static final int Close_WaitForCancel_STATE_ID = 23;
public static final int Close_Success_STATE_ID = 24;
public static final int Close_Failed_STATE_ID = 25;
private static final int STATE_COUNT = 26;
private static final int cancelOrderReply6_TRANSITION_ID = 1;
private static final int cancelReply9_TRANSITION_ID = 2;
private static final int cancelReply10_TRANSITION_ID = 3;
private static final int modifyOrderReply5_TRANSITION_ID = 4;
private static final int newOrderReply4_TRANSITION_ID = 5;
private static final int noMoreReplies3_TRANSITION_ID = 6;
private static final int sendRequest2_TRANSITION_ID = 7;
private static final int testError8_TRANSITION_ID = 8;
private static final int unknownRequest7_TRANSITION_ID = 9;
private static final int TRANSITION_COUNT = 10;
private static final MethodType[] TRANSITION_TYPES =
{
NO_ARGS_TYPE,
MethodType.methodType(void.class, ReplyStatus.class, String.class, EReplyMessage.class),
MethodType.methodType(void.class, RequestState.class),
MethodType.methodType(void.class, ReplyStatus.class),
MethodType.methodType(void.class, ReplyStatus.class, String.class, EReplyMessage.class),
MethodType.methodType(void.class, ReplyStatus.class, String.class, EReplyMessage.class),
NO_ARGS_TYPE,
MethodType.methodType(void.class, Side.class, int.class),
MethodType.methodType(void.class, Throwable.class),
NO_ARGS_TYPE
};
private static final String[] MAP_NAMES =
{
"NoTest",
"DoNothing",
"NoReplier",
"ErrorReply",
"RejectReply",
"OKReply",
"Cancel",
"OptionalCancelAccept",
"OptionalCancelReject",
"Close"
};
private static final String[][] STATE_NAMES =
{
new String[]
{
"TestDone"
},
new String[]
{
"TestStart"
},
new String[]
{
"TestStart"
},
new String[]
{
"TestStart",
"WaitForReply",
"Failed"
},
new String[]
{
"TestStart",
"WaitForReply",
"Failed"
},
new String[]
{
"TestStart",
"WaitForReply",
"Failed"
},
new String[]
{
"TestStart",
"Failed"
},
new String[]
{
"TestStart",
"WaitForCancelAccept",
"Success",
"Failed"
},
new String[]
{
"TestStart",
"WaitForCancelReject",
"Success",
"Failed"
},
new String[]
{
"TestStart",
"WaitForCancel",
"Success",
"Failed"
}
};
private static String[][] STATE_TRANSITIONS =
{
new String[]
{
"Default"
},
new String[]
{
"Default"
},
new String[]
{
"sendRequest"
},
new String[]
{
"sendRequest"
},
new String[]
{
"newOrderReply"
},
new String[]
{
"cancelOrderReply",
"modifyOrderReply",
"newOrderReply",
"unknownRequest"
},
new String[]
{
"sendRequest"
},
new String[]
{
"newOrderReply"
},
new String[]
{
"cancelOrderReply",
"modifyOrderReply",
"newOrderReply",
"unknownRequest"
},
new String[]
{
"sendRequest"
},
new String[]
{
"newOrderReply"
},
new String[]
{
"cancelOrderReply",
"modifyOrderReply",
"newOrderReply",
"unknownRequest"
},
new String[]
{
"sendRequest"
},
new String[]
{
"cancelOrderReply",
"modifyOrderReply",
"newOrderReply",
"unknownRequest"
},
new String[]
{
"sendRequest"
},
new String[]
{
"cancelReply"
},
new String[]
{
"noMoreReplies"
},
new String[]
{
"cancelOrderReply",
"modifyOrderReply",
"newOrderReply",
"unknownRequest"
},
new String[]
{
"sendRequest"
},
new String[]
{
"cancelReply"
},
new String[]
{
"newOrderReply",
"noMoreReplies"
},
new String[]
{
"cancelOrderReply",
"modifyOrderReply",
"newOrderReply",
"unknownRequest"
},
new String[]
{
"sendRequest"
},
new String[]
{
"cancelReply"
},
new String[]
{
"noMoreReplies"
},
new String[]
{
"cancelOrderReply",
"modifyOrderReply",
"newOrderReply",
"unknownRequest"
}
};
private static final String[] TRANSITION_NAMES =
{
"Default",
"cancelOrderReply",
"cancelReply",
"cancelReply",
"modifyOrderReply",
"newOrderReply",
"noMoreReplies",
"sendRequest",
"testError",
"unknownRequest"
};
private static final State7[] sStates = new State7[STATE_COUNT];
static
{
final Lookup lookup = MethodHandles.lookup();
final Class> clazz = TestRequestorContext.class;
final int mapSize = MAP_NAMES.length;
int stateSize;
int mapIndex;
int stateIndex;
int transIndex;
int stateId = 0;
String mapName;
String stateName;
String transName;
String methodName;
MethodType transType;
MethodHandle entryHandle;
MethodHandle exitHandle;
TransitionHandle[] transitions;
for (mapIndex = 0; mapIndex < mapSize; ++mapIndex)
{
mapName = MAP_NAMES[mapIndex];
stateSize = STATE_NAMES[mapIndex].length;
for (stateIndex = 0; stateIndex < stateSize; ++stateIndex, ++stateId)
{
stateName = STATE_NAMES[mapIndex][stateIndex];
transitions = new TransitionHandle[TRANSITION_COUNT];
methodName = String.format(ENTRY_NAME, mapName, stateName);
entryHandle = lookupMethod(lookup, clazz, methodName, NO_ARGS_TYPE);
methodName = String.format(EXIT_NAME, mapName, stateName);
exitHandle = lookupMethod(lookup, clazz, methodName, NO_ARGS_TYPE);
for (transIndex = 1; transIndex < TRANSITION_COUNT; ++transIndex)
{
transName = TRANSITION_NAMES[transIndex];
transType = TRANSITION_TYPES[transIndex];
transitions[transIndex] =
lookupTransition(lookup, clazz, mapName, stateName, transName, transType);
}
sStates[stateId] =
new State7(
String.format(STATE_NAME_FORMAT, mapName, stateName),
stateId,
entryHandle,
exitHandle,
transitions,
STATE_TRANSITIONS[stateId]);
}
}
}
}
/*
* Local variables:
* buffer-read-only: t
* End:
*/
© 2015 - 2025 Weber Informatics LLC | Privacy Policy