Interface FunctionBuilder<F extends java.lang.Enum<F>>

    • Method Detail

      • setResponsibleTeam

        void setResponsibleTeam​(java.lang.String officeTeamName)

        Specifies the Team by its Office registered name that that is responsible for this node.

        Should this not be specified, any Team will be used.

        Parameters:
        officeTeamName - Name of the Team within the Office.
      • linkFlow

        void linkFlow​(F key,
                      java.lang.String functionName,
                      java.lang.Class<?> argumentType,
                      boolean isSpawnThreadState)
        Links in a Flow by specifying the first ManagedFunction of the Flow.
        Parameters:
        key - Key identifying the Flow.
        functionName - Name of the initial ManagedFunction for the Flow.
        argumentType - Type of argument passed to the instigated Flow. May be null to indicate no argument.
        isSpawnThreadState - true to instigate the Flow in a spawned ThreadState.
      • linkFlow

        void linkFlow​(int flowIndex,
                      java.lang.String functionName,
                      java.lang.Class<?> argumentType,
                      boolean isSpawnThreadState)
        Links in a Flow by specifying the first ManagedFunction of the Flow.
        Parameters:
        flowIndex - Index identifying the Flow.
        functionName - Name of the initial ManagedFunction for the Flow.
        argumentType - Type of argument passed to the instigated Flow. May be null to indicate no argument.
        isSpawnThreadState - true to instigate the Flow in a spawned ThreadState.
      • addEscalation

        void addEscalation​(java.lang.Class<? extends java.lang.Throwable> typeOfCause,
                           java.lang.String functionName)

        Adds an EscalationFlow to the EscalationProcedure for the ManagedFunction.

        The order in which the EscalationFlow instances are added is the order in which they are checked for handling escalation. Only one EscalationFlow is used to handle escalation and the first one covering the cause will be used. This is similar to try ... catch blocks.

        Parameters:
        typeOfCause - Type of cause handled by this EscalationFlow.
        functionName - Name of the ManagedFunction to handle the Escalation.