|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectgr.uoa.di.madgik.execution.plan.element.PlanElementBase
gr.uoa.di.madgik.execution.plan.element.TryCatchFinallyPlanElement
public class TryCatchFinallyPlanElement
This class acts as a try TryFlow / catch
(CatchFlows) / finally (FinallyFlow)
block of execution. During execution the subplan that is declared in the
TryFlow is executed. In case an exception is caught, the
CatchElements in the CatchFlows are iterated to match
the exception caught with one of the handled ones. If some CatchElement can handle the exception,
the subplan defined in it is executed. If the CatchElement does not define that the exception is
re-thrown after the execution of the compensation code, the execution is moved to the
FinallyFlow subplan. If however the exception is to be re-thrown or a new
exception is thrown from the compensation code, the exception is bubbled up after the
FinallyFlow subplan is executed.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class gr.uoa.di.madgik.execution.plan.element.PlanElementBase |
|---|
PlanElementBase.ClockType |
| Nested classes/interfaces inherited from interface gr.uoa.di.madgik.execution.plan.element.IPlanElement |
|---|
IPlanElement.PlanElementType |
| Field Summary | |
|---|---|
List<CatchElement> |
CatchFlows
The Catch flows. |
IPlanElement |
FinallyFlow
The Finally flow. |
IPlanElement |
TryFlow
The Try flow. |
| Constructor Summary | |
|---|---|
TryCatchFinallyPlanElement()
|
|
| Method Summary | |
|---|---|
void |
ExecuteExtender(ExecutionHandle Handle)
Execute extender. |
void |
FromXML(Element XML)
Populate the element from its xml serialization as returned by IPlanElement.ToXML() |
void |
FromXML(String XML)
Populate the element from its xml serialization as returned by IPlanElement.ToXML() |
List<ContingencyTrigger> |
GetContingencyTriggers()
Gets the contingency triggers. |
org.slf4j.Logger |
GetExtenderLogger()
Gets the extender logger. |
String |
GetID()
Gets the id. |
Set<String> |
GetModifiedVariableNames()
Gets the modified variable names of the element and of the elements contained. |
String |
GetName()
Gets the name. |
Set<String> |
GetNeededVariableNames()
Gets the needed variable names of the element and of the elements contained. |
IPlanElement.PlanElementType |
GetPlanElementType()
Gets the plan element type. |
IPlanElement |
Locate(String ID)
Locate the plan element with the provided id. |
Set<IPlanElement> |
LocateActionElements()
Retrieves the Action elements under this elements |
void |
SetContingencyResourcePick(ExecutionHandle Handle,
String Pick)
Sets the picked resource in case the IContingencyReaction.ReactionType#Pick reaction is supported |
void |
SetName(String Name)
Sets the name. |
IContingencyReaction.ReactionType[] |
SupportedContingencyTriggers()
Retrieves the supported contingency triggers. |
boolean |
SupportsContingencyTriggers()
Checks if the element supports contingency triggers. |
String |
ToXML()
Serialize to xml the element and all its contained elements |
void |
Validate()
Validate the element and any sub element it contains |
void |
ValidatePreExecution(ExecutionHandle Handle)
Validate the element and any sub element it contains before it is executed |
| Methods inherited from class gr.uoa.di.madgik.execution.plan.element.PlanElementBase |
|---|
CheckStatus, Execute, ExecuteWithStateAwareness, GetPerformanceEvent, RegisterToRunningActionElementsRestriction, ResetClocks, StartClock, StopClock, UnregisterToRunningActionElementsRestriction, update |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public IPlanElement TryFlow
public List<CatchElement> CatchFlows
public IPlanElement FinallyFlow
| Constructor Detail |
|---|
public TryCatchFinallyPlanElement()
| Method Detail |
|---|
public void FromXML(String XML)
throws ExecutionSerializationException
IPlanElementIPlanElement.ToXML()
XML - the xML serialization
ExecutionSerializationException - A serialization error occurred
public void FromXML(Element XML)
throws ExecutionSerializationException
IPlanElementIPlanElement.ToXML()
XML - the xML serialization
ExecutionSerializationException - A serialization error occurredpublic String GetID()
IPlanElement
public String GetName()
IPlanElement
public IPlanElement.PlanElementType GetPlanElementType()
IPlanElement
public IPlanElement Locate(String ID)
IPlanElement
ID - the iD
public Set<IPlanElement> LocateActionElements()
IPlanElement
public void SetName(String Name)
IPlanElement
Name - the name
public String ToXML()
throws ExecutionSerializationException
IPlanElement
ExecutionSerializationException - A serialization error occurred
public void Validate()
throws ExecutionValidationException
IPlanElement
ExecutionValidationException - A validation error occurredpublic IContingencyReaction.ReactionType[] SupportedContingencyTriggers()
IPlanElement
public boolean SupportsContingencyTriggers()
IPlanElement
public List<ContingencyTrigger> GetContingencyTriggers()
IPlanElement
public void SetContingencyResourcePick(ExecutionHandle Handle,
String Pick)
throws ExecutionRunTimeException
IPlanElementIContingencyReaction.ReactionType#Pick reaction is supported
Handle - the execution handle handlePick - the picked resource
ExecutionRunTimeException - A runtime error occurredpublic Set<String> GetModifiedVariableNames()
IPlanElement
public Set<String> GetNeededVariableNames()
IPlanElement
public org.slf4j.Logger GetExtenderLogger()
PlanElementBase
GetExtenderLogger in class PlanElementBase
public void ExecuteExtender(ExecutionHandle Handle)
throws ExecutionRunTimeException,
ExecutionInternalErrorException,
ExecutionCancelException,
ExecutionBreakException
PlanElementBase
ExecuteExtender in class PlanElementBaseHandle - the execution handle
ExecutionRunTimeException - A runtime error occurred
ExecutionInternalErrorException - An internal error occurred
ExecutionCancelException - The execution was canceled
ExecutionBreakException - The execution was terminated
public void ValidatePreExecution(ExecutionHandle Handle)
throws ExecutionValidationException
IPlanElement
Handle - the execution handle
ExecutionValidationException - A validation error occurred
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||