From 072b27a0e1f0ec459f388f5b62a82cd42c2476db Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Fri, 28 Dec 2018 10:19:14 +0000
Subject: [PATCH] Job queuing...
---
borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java
index e1cd523..743c175 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java
@@ -1,5 +1,6 @@
package de.micromata.borgbutler.jobs;
+import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
@@ -10,6 +11,7 @@
private boolean stopRequested;
@Getter
+ @Setter(AccessLevel.PACKAGE)
private Status status;
@Getter
@Setter
@@ -21,10 +23,23 @@
@Setter
private String log;
- protected void stopped() {
- this.status = Status.STOPPED;
+ /**
+ *
+ * @return true, if the job is done, stopped or failed. Otherwise false (if job is running or queued).
+ */
+ public boolean isFinished() {
+ if (status == Status.DONE || status == Status.STOPPED || status == Status.FAILED) {
+ return true;
+ }
+ return false;
}
- public abstract void execute() throws InterruptedException;
+ public abstract void execute();
+ /**
+ * A job is identified by this id. If a job with the same id is already queued (not yet finished), this job will
+ * not be added twice.
+ * @return
+ */
+ public abstract Object getId();
}
--
Gitblit v1.10.0