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 allow Alternatives to be nested.
Author:
Quickstone Technologies Limited
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Flags to control behaviour of this ALT if used as a guard.
    static final int
    Flags to control behaviour of this ALT if used as a guard.
    static final int
    Flags to control behaviour of this ALT if used as a guard.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new one
    InlineAlternative(Guard[] guards, int mode)
    Creates a new one
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Creates an Alternative (if needed) and delegates the call to it.
    getGuardByIndex(int index)
    Returns the guard object at a given index.
    int
    Returns the index of the guard obtained by a call to select() or if this guard became ready within its parent ALT.
    Returns the actual guard object corresponding to the selected guard.
    int
    Creates an Alternative (if needed) and delegates the call to it.
    int
    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().

    Methods inherited from class org.jcsp.lang.Guard

    schedule

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • MODE_ARBITRARY

      public static final int MODE_ARBITRARY
      Flags to control behaviour of this ALT if used as a guard.
      See Also:
    • MODE_FAIR

      public static final int MODE_FAIR
      Flags to control behaviour of this ALT if used as a guard.
      See Also:
    • MODE_PRI

      public static final int MODE_PRI
      Flags to control behaviour of this ALT if used as a guard.
      See Also:
  • Constructor Details

    • InlineAlternative

      public InlineAlternative(Guard[] guards)
      Creates a new one
    • InlineAlternative

      public InlineAlternative(Guard[] guards, int mode)
      Creates a new one
  • Method Details

    • 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.