ScheduledActivity
Keywords: net.corda.core.contracts.ScheduledActivity class
Date: 2023-09-18

net.corda.core.contracts

## Class ScheduledActivity

- net.corda.core.contracts.ScheduledActivity

- All Implemented Interfaces:
    Scheduled

      public class ScheduledActivity
      implements Scheduled

  This class represents the lifecycle activity that a contract state of type `interface LinearState` would like to perform at a given point in time. e.g. run a fixing flow.

  Note the use of `interface FlowLogicRef` to represent a safe way to transport a `class FlowLogic` out of the contract sandbox.

  Currently we support only flow based activities as we expect there to be a transaction generated off the back of the activity, otherwise we have to start tracking secondary state on the platform of which scheduled activities for a particular `interface ContractState` have been processed/fired etc. If the activity is not "on ledger" then the scheduled activity shouldn't be either.

  See Also:
    `interface LinearState`, `interface FlowLogicRef`, `class FlowLogic`, `interface ContractState`

- - ### Constructor Detail

    - #### ScheduledActivity

          public ScheduledActivity(@NotNull
                                   FlowLogicRef logicRef,
                                   @NotNull
                                   java.time.Instant scheduledAt)

      This class represents the lifecycle activity that a contract state of type `interface LinearState` would like to perform at a given point in time. e.g. run a fixing flow.

      Note the use of `interface FlowLogicRef` to represent a safe way to transport a `class FlowLogic` out of the contract sandbox.

      Currently we support only flow based activities as we expect there to be a transaction generated off the back of the activity, otherwise we have to start tracking secondary state on the platform of which scheduled activities for a particular `interface ContractState` have been processed/fired etc. If the activity is not "on ledger" then the scheduled activity shouldn't be either.

      See Also:
        `interface LinearState`, `interface FlowLogicRef`, `class FlowLogic`, `interface ContractState`

  - ### Method Detail

    - #### getLogicRef

          @NotNull
          public FlowLogicRef getLogicRef()

    - #### getScheduledAt

          @NotNull
          public java.time.Instant getScheduledAt()

    - #### component1

          @NotNull
          public FlowLogicRef component1()

    - #### component2

          @NotNull
          public java.time.Instant component2()

    - #### copy

          @NotNull
          public ScheduledActivity copy(@NotNull
                                                 FlowLogicRef logicRef,
                                                 @NotNull
                                                 java.time.Instant scheduledAt)

      This class represents the lifecycle activity that a contract state of type `interface LinearState` would like to perform at a given point in time. e.g. run a fixing flow.

      Note the use of `interface FlowLogicRef` to represent a safe way to transport a `class FlowLogic` out of the contract sandbox.

      Currently we support only flow based activities as we expect there to be a transaction generated off the back of the activity, otherwise we have to start tracking secondary state on the platform of which scheduled activities for a particular `interface ContractState` have been processed/fired etc. If the activity is not "on ledger" then the scheduled activity shouldn't be either.

      See Also:
        `interface LinearState`, `interface FlowLogicRef`, `class FlowLogic`, `interface ContractState`

    - #### toString

          @NotNull
          public java.lang.String toString()

      This class represents the lifecycle activity that a contract state of type `interface LinearState` would like to perform at a given point in time. e.g. run a fixing flow.

      Note the use of `interface FlowLogicRef` to represent a safe way to transport a `class FlowLogic` out of the contract sandbox.

      Currently we support only flow based activities as we expect there to be a transaction generated off the back of the activity, otherwise we have to start tracking secondary state on the platform of which scheduled activities for a particular `interface ContractState` have been processed/fired etc. If the activity is not "on ledger" then the scheduled activity shouldn't be either.

      See Also:
        `interface LinearState`, `interface FlowLogicRef`, `class FlowLogic`, `interface ContractState`

    - #### hashCode

          public int hashCode()

      This class represents the lifecycle activity that a contract state of type `interface LinearState` would like to perform at a given point in time. e.g. run a fixing flow.

      Note the use of `interface FlowLogicRef` to represent a safe way to transport a `class FlowLogic` out of the contract sandbox.

      Currently we support only flow based activities as we expect there to be a transaction generated off the back of the activity, otherwise we have to start tracking secondary state on the platform of which scheduled activities for a particular `interface ContractState` have been processed/fired etc. If the activity is not "on ledger" then the scheduled activity shouldn't be either.

      See Also:
        `interface LinearState`, `interface FlowLogicRef`, `class FlowLogic`, `interface ContractState`

    - #### equals

          public boolean equals(@Nullable
                                java.lang.Object p)

      This class represents the lifecycle activity that a contract state of type `interface LinearState` would like to perform at a given point in time. e.g. run a fixing flow.

      Note the use of `interface FlowLogicRef` to represent a safe way to transport a `class FlowLogic` out of the contract sandbox.

      Currently we support only flow based activities as we expect there to be a transaction generated off the back of the activity, otherwise we have to start tracking secondary state on the platform of which scheduled activities for a particular `interface ContractState` have been processed/fired etc. If the activity is not "on ledger" then the scheduled activity shouldn't be either.

      See Also:
        `interface LinearState`, `interface FlowLogicRef`, `class FlowLogic`, `interface ContractState`