{
  "metadata" : {
    "triggers" : [ ],
    "entryPoints" : [ ],
    "callChains" : [ ],
    "properties" : {
      "default" : {
        "spring.application.name" : "statemachinedemo"
      }
    }
  },
  "name" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
  "renderChoicesAsDiamonds" : true,
  "startStates" : [ "OrderStates.SUBMITTED" ],
  "transitions" : [ {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "OrderStates.SUBMITTED",
      "fullIdentifier" : "OrderStates.SUBMITTED"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.PAID",
      "fullIdentifier" : "OrderStates.PAID"
    } ],
    "event" : {
      "rawName" : "OrderEvents.PAY",
      "fullIdentifier" : "OrderEvents.PAY"
    },
    "guards" : [ ],
    "actions" : [ ],
    "order" : null
  }, {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "OrderStates.PAID",
      "fullIdentifier" : "OrderStates.PAID"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.FULFILLED",
      "fullIdentifier" : "OrderStates.FULFILLED"
    } ],
    "event" : {
      "rawName" : "OrderEvents.FULFILL",
      "fullIdentifier" : "OrderEvents.FULFILL"
    },
    "guards" : [ ],
    "actions" : [ ],
    "order" : null
  }, {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "OrderStates.SUBMITTED",
      "fullIdentifier" : "OrderStates.SUBMITTED"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.CANCELED",
      "fullIdentifier" : "OrderStates.CANCELED"
    } ],
    "event" : {
      "rawName" : "OrderEvents.CANCEL",
      "fullIdentifier" : "OrderEvents.CANCEL"
    },
    "guards" : [ {
      "expression" : "new Guard<OrderStates,OrderEvents>(){\n  @Override public boolean evaluate(  StateContext<OrderStates,OrderEvents> context){\n    return false;\n  }\n}\n",
      "isLambda" : true,
      "internalLogic" : "new Guard<OrderStates,OrderEvents>(){\n  @Override public boolean evaluate(  StateContext<OrderStates,OrderEvents> context){\n    return false;\n  }\n}\n",
      "lineNumber" : 29,
      "className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
      "sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
    } ],
    "actions" : [ ],
    "order" : null
  }, {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "OrderStates.PAID",
      "fullIdentifier" : "OrderStates.PAID"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.CANCELED",
      "fullIdentifier" : "OrderStates.CANCELED"
    } ],
    "event" : {
      "rawName" : "OrderEvents.CANCEL",
      "fullIdentifier" : "OrderEvents.CANCEL"
    },
    "guards" : [ ],
    "actions" : [ ],
    "order" : null
  }, {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "OrderStates.SUBMITTED",
      "fullIdentifier" : "OrderStates.SUBMITTED"
    } ],
    "targetStates" : [ ],
    "event" : {
      "rawName" : "OrderEvents.ABCD",
      "fullIdentifier" : "OrderEvents.ABCD"
    },
    "guards" : [ ],
    "actions" : [ ],
    "order" : null
  }, {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "OrderStates.SUBMITTED",
      "fullIdentifier" : "OrderStates.SUBMITTED"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.PAID1",
      "fullIdentifier" : "OrderStates.PAID1"
    } ],
    "event" : {
      "rawName" : "OrderEvents.ABCD",
      "fullIdentifier" : "OrderEvents.ABCD"
    },
    "guards" : [ ],
    "actions" : [ ],
    "order" : null
  }, {
    "type" : "CHOICE",
    "sourceStates" : [ {
      "rawName" : "OrderStates.PAID1",
      "fullIdentifier" : "OrderStates.PAID1"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.PAID2",
      "fullIdentifier" : "OrderStates.PAID2"
    } ],
    "event" : null,
    "guards" : [ {
      "expression" : "new Guard<OrderStates,OrderEvents>(){\n  @Override public boolean evaluate(  StateContext<OrderStates,OrderEvents> context){\n    return true;\n  }\n}\n",
      "isLambda" : true,
      "internalLogic" : "new Guard<OrderStates,OrderEvents>(){\n  @Override public boolean evaluate(  StateContext<OrderStates,OrderEvents> context){\n    return true;\n  }\n}\n",
      "lineNumber" : 46,
      "className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
      "sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
    } ],
    "actions" : [ ],
    "order" : 0
  }, {
    "type" : "CHOICE",
    "sourceStates" : [ {
      "rawName" : "OrderStates.PAID1",
      "fullIdentifier" : "OrderStates.PAID1"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.PAID3",
      "fullIdentifier" : "OrderStates.PAID3"
    } ],
    "event" : null,
    "guards" : [ {
      "expression" : "guard1",
      "isLambda" : false,
      "internalLogic" : null,
      "lineNumber" : 52,
      "className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
      "sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
    } ],
    "actions" : [ ],
    "order" : 1
  }, {
    "type" : "CHOICE",
    "sourceStates" : [ {
      "rawName" : "OrderStates.PAID1",
      "fullIdentifier" : "OrderStates.PAID1"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.HAPPEN",
      "fullIdentifier" : "OrderStates.HAPPEN"
    } ],
    "event" : null,
    "guards" : [ {
      "expression" : "new Guard<OrderStates,OrderEvents>(){\n  @Override public boolean evaluate(  StateContext<OrderStates,OrderEvents> context){\n    return false;\n  }\n}\n",
      "isLambda" : true,
      "internalLogic" : "new Guard<OrderStates,OrderEvents>(){\n  @Override public boolean evaluate(  StateContext<OrderStates,OrderEvents> context){\n    return false;\n  }\n}\n",
      "lineNumber" : 53,
      "className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
      "sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
    } ],
    "actions" : [ ],
    "order" : 2
  }, {
    "type" : "CHOICE",
    "sourceStates" : [ {
      "rawName" : "OrderStates.PAID1",
      "fullIdentifier" : "OrderStates.PAID1"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.CANCELED",
      "fullIdentifier" : "OrderStates.CANCELED"
    } ],
    "event" : null,
    "guards" : [ ],
    "actions" : [ ],
    "order" : 3
  }, {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "OrderStates.PAID2",
      "fullIdentifier" : "OrderStates.PAID2"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.CANCELED",
      "fullIdentifier" : "OrderStates.CANCELED"
    } ],
    "event" : null,
    "guards" : [ ],
    "actions" : [ ],
    "order" : null
  }, {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "OrderStates.PAID3",
      "fullIdentifier" : "OrderStates.PAID3"
    } ],
    "targetStates" : [ {
      "rawName" : "OrderStates.CANCELED",
      "fullIdentifier" : "OrderStates.CANCELED"
    } ],
    "event" : null,
    "guards" : [ ],
    "actions" : [ ],
    "order" : null
  }, {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "OrderStates.PAID2",
      "fullIdentifier" : "OrderStates.PAID2"
    } ],
    "targetStates" : [ ],
    "event" : {
      "rawName" : "OrderEvents.ABCD",
      "fullIdentifier" : "OrderEvents.ABCD"
    },
    "guards" : [ ],
    "actions" : [ {
      "expression" : "new Action<OrderStates,OrderEvents>(){\n  @Override public void execute(  StateContext<OrderStates,OrderEvents> context){\n  }\n}\n",
      "isLambda" : true,
      "internalLogic" : "new Action<OrderStates,OrderEvents>(){\n  @Override public void execute(  StateContext<OrderStates,OrderEvents> context){\n  }\n}\n",
      "lineNumber" : 63,
      "className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
      "sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
    }, {
      "expression" : "action2",
      "isLambda" : false,
      "internalLogic" : null,
      "lineNumber" : 67,
      "className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
      "sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
    } ],
    "order" : null
  } ],
  "endStates" : [ "OrderStates.CANCELED", "OrderStates.FULFILLED" ]
}
