Interface OutboundSyncJobRegister

All Known Implementing Classes:
DefaultOutboundSyncJobRegister

public interface OutboundSyncJobRegister
A registry of currently running outbound sync jobs.
  • Method Details

    • getNewJob

      @NotNull @NotNull OutboundSyncJob getNewJob(@NotNull @NotNull OutboundSyncCronJobModel jobModel)
      Retrieves new instance of the outbound sync job object for the specified job model. Each subsequent call always returns new job instance. On the other hand, because it always returns a fresh job object instance, it guarantees the previous and possibly stale state of the job is discarded. For this reason, it makes sense to use this method only when it's reliably the first retrieval of the outbound sync job from this register. Otherwise, #getJob should be used.
      Parameters:
      jobModel - job entity model representing the cron job being executed.
      Returns:
      a state aggregator for the specified job model. If a state aggregator has been requested for the job model before, exactly same instance of aggregator is returned for the subsequent calls; otherwise a new instance of the aggregator is created and registered.
    • getJob

      @NotNull @NotNull OutboundSyncJob getJob(@NotNull @NotNull OutboundSyncCronJobModel jobModel)
      Retrieves the outbound sync job object corresponding to the specified job model.
      Parameters:
      jobModel - job entity model representing the cron job being executed.
      Returns:
      an outbound sync job for the specified job model. If that job has been requested by same job model before, exactly same instance of the outbound sync job is returned for the subsequent calls; otherwise a new instance of the job is created and registered.
    • getJob

      Optional<OutboundSyncJob> getJob(@NotNull @NotNull PK jobPk)
      Retrieves the outbound sync job object corresponding to the specified job model primary key.
      Parameters:
      jobPk - primary key of the job entity model, for which the outbound sync job needs to be retrieved.
      Returns:
      an Optional with the outbound sync job for the specified job model primary key. If the job has been requested for the job model before, exactly same instance of the job is returned in the Optional for the subsequent calls; otherwise a new instance of the outbound sync job is created and registered. If the primary key does not correspond to an OutboundSyncCronJobModel, then Optional.empty() is returned.
    • getRunningJobs

      @NotNull default @NotNull Collection<OutboundSyncJob> getRunningJobs()
      Retrieves all outbound sync jobs that are currently running.

      Note: default implementation in this interface returns an empty list. Each implementation of this interface must provide correct implementation of this method.

      Returns:
      a collection of states for the outbound sync jobs, which are currently registered by this register; or an empty collection, if there is no a single running outbound sync job now.
      See Also:
    • isRunning

      default boolean isRunning(PK id)
      Checks whether the specified job is running now or not. The default implementation of this method in this interface always returns false, so this method must be overridden by implementations to provide valid logic.
      Parameters:
      id - identifier of the job to acquire about.
      Returns:
      true, if an outbound sync job with the specified ID is registered in this registry now, i.e. it will be returned by the getRunningJobs() method; or false otherwise.
      See Also: