Package org.jcsp.lang
Class InlineAlternative
- java.lang.Object
-
- org.jcsp.lang.Guard
-
- org.jcsp.lang.InlineAlternative
-
public class InlineAlternative extends Guard
This class is experimental (i.e. not properly documented yet). It is intended to allowAlternative
s to be nested.- Author:
- Quickstone Technologies Limited
-
-
Field Summary
Fields Modifier and Type Field Description static int
MODE_ARBITRARY
Flags to control behaviour of this ALT if used as a guard.static int
MODE_FAIR
Flags to control behaviour of this ALT if used as a guard.static int
MODE_PRI
Flags to control behaviour of this ALT if used as a guard.
-
Constructor Summary
Constructors Constructor Description InlineAlternative(Guard[] guards)
Creates a new oneInlineAlternative(Guard[] guards, int mode)
Creates a new one
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
fairSelect()
Creates an Alternative (if needed) and delegates the call to it.Guard
getGuardByIndex(int index)
Returns the guard object at a given index.int
getSelected()
Returns the index of the guard obtained by a call to select() or if this guard became ready within its parent ALT.Guard
getSelectedGuard()
Returns the actual guard object corresponding to the selected guard.int
priSelect()
Creates an Alternative (if needed) and delegates the call to it.int
select()
Creates an Alternative (if needed) and delegates the call to it.void
setPreconditionByIndex(int index, boolean on)
Alters the precondition on a guard.void
setPreconditions(boolean[] precons)
Establishes a precondition array that will be used by default in calls to select().
-
-
-
Field Detail
-
MODE_ARBITRARY
public static final int MODE_ARBITRARY
Flags to control behaviour of this ALT if used as a guard.- See Also:
- Constant Field Values
-
MODE_FAIR
public static final int MODE_FAIR
Flags to control behaviour of this ALT if used as a guard.- See Also:
- Constant Field Values
-
MODE_PRI
public static final int MODE_PRI
Flags to control behaviour of this ALT if used as a guard.- See Also:
- Constant Field Values
-
-
Method Detail
-
getSelected
public int getSelected()
Returns the index of the guard obtained by a call to select() or if this guard became ready within its parent ALT.
-
setPreconditions
public void setPreconditions(boolean[] precons)
Establishes a precondition array that will be used by default in calls to select(). This is useful when the ALT is used as a guard within another ALT.
-
setPreconditionByIndex
public void setPreconditionByIndex(int index, boolean on)
Alters the precondition on a guard.
-
getSelectedGuard
public Guard getSelectedGuard()
Returns the actual guard object corresponding to the selected guard. For example it can return the channel or the ALT object.
-
getGuardByIndex
public Guard getGuardByIndex(int index)
Returns the guard object at a given index. For example to obtain a channel or ALT object.
-
select
public int select()
Creates an Alternative (if needed) and delegates the call to it.
-
priSelect
public int priSelect()
Creates an Alternative (if needed) and delegates the call to it.
-
fairSelect
public int fairSelect()
Creates an Alternative (if needed) and delegates the call to it.
-
-