Class Workflow


  • public abstract class Workflow
    extends java.lang.Object
    The Workflow class represents a `WfSpec` object in the API.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void compileAndSaveToDisk​(java.lang.String directory)
      Writes out the PutWfSpecRequest in JSON form in a directory.
      java.lang.String compileWfToJson()
      Returns the associated PutWfSpecRequest in JSON form.
      abstract io.littlehorse.sdk.common.proto.PutWfSpecRequest compileWorkflow()
      Compiles this Workflow into a `WfSpec`.
      boolean doesWfSpecExist​(io.littlehorse.sdk.common.proto.LHPublicApiGrpc.LHPublicApiBlockingStub client)
      Checks if the WfSpec exists
      boolean doesWfSpecExist​(io.littlehorse.sdk.common.proto.LHPublicApiGrpc.LHPublicApiBlockingStub client, java.lang.Integer version)
      Checks if the WfSpec exists for a given version
      java.lang.String getName()
      Gets the workflow name passed at newWorkflow(String, ThreadFunc)
      abstract java.util.Set<java.lang.String> getRequiredExternalEventDefNames()
      Returns the names of all `ExternalEventDef`s used by this workflow.
      abstract java.util.Set<java.lang.String> getRequiredTaskDefNames()
      Returns the names of all `TaskDef`s used by this workflow.
      static Workflow newWorkflow​(java.lang.String name, ThreadFunc entrypointThreadFunc)
      Creates a new Workflow with the provided name and entrypoint thread function.
      void registerWfSpec​(io.littlehorse.sdk.common.proto.LHPublicApiGrpc.LHPublicApiBlockingStub client)
      Deploys the WfSpec object to the LH Server.
      void withRetentionHours​(int retentionHours)
      Add the hours of life that the workflow will have in the system
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • withRetentionHours

        public void withRetentionHours​(int retentionHours)
        Add the hours of life that the workflow will have in the system
        Parameters:
        retentionHours - are the hours in which the workflow will live in the system
      • newWorkflow

        public static Workflow newWorkflow​(java.lang.String name,
                                           ThreadFunc entrypointThreadFunc)
        Creates a new Workflow with the provided name and entrypoint thread function.
        Parameters:
        name - is the name of the `WfSpec`.
        entrypointThreadFunc - is the ThreadFunc for the entrypoint ThreadSpec.
        Returns:
        a Workflow.
      • compileWorkflow

        public abstract io.littlehorse.sdk.common.proto.PutWfSpecRequest compileWorkflow()
        Compiles this Workflow into a `WfSpec`.
        Returns:
        a `PutWfSpecRequest` that can be used for the gRPC putWfSpec() call.
      • getRequiredTaskDefNames

        public abstract java.util.Set<java.lang.String> getRequiredTaskDefNames()
        Returns the names of all `TaskDef`s used by this workflow.
        Returns:
        a Set of Strings containing the names of all `TaskDef`s used by this workflow.
      • getRequiredExternalEventDefNames

        public abstract java.util.Set<java.lang.String> getRequiredExternalEventDefNames()
        Returns the names of all `ExternalEventDef`s used by this workflow. Includes ExternalEventDefs used for Interrupts or for EXTERNAL_EVENT nodes.
        Returns:
        a Set of Strings containing the names of all `ExternalEventDef`s used by this workflow.
      • compileWfToJson

        public java.lang.String compileWfToJson()
        Returns the associated PutWfSpecRequest in JSON form.
        Returns:
        the associated PutWfSpecRequest in JSON form.
      • doesWfSpecExist

        public boolean doesWfSpecExist​(io.littlehorse.sdk.common.proto.LHPublicApiGrpc.LHPublicApiBlockingStub client)
        Checks if the WfSpec exists
        Parameters:
        client - is an LHClient.
        Returns:
        true if the workflow spec is registered or false otherwise
      • doesWfSpecExist

        public boolean doesWfSpecExist​(io.littlehorse.sdk.common.proto.LHPublicApiGrpc.LHPublicApiBlockingStub client,
                                       java.lang.Integer version)
        Checks if the WfSpec exists for a given version
        Parameters:
        client - is an LHClient.
        version - workflow version
        Returns:
        true if the workflow spec is registered for this version or false otherwise
      • registerWfSpec

        public void registerWfSpec​(io.littlehorse.sdk.common.proto.LHPublicApiGrpc.LHPublicApiBlockingStub client)
        Deploys the WfSpec object to the LH Server. Registering the WfSpec via Workflow::registerWfSpec() is the same as client.putWfSpec(workflow.compileWorkflow()).
        Parameters:
        client - is an LHClient.
      • compileAndSaveToDisk

        public void compileAndSaveToDisk​(java.lang.String directory)
        Writes out the PutWfSpecRequest in JSON form in a directory.
        Parameters:
        directory - is the location to save the resources.