From 107cc9cdfd4a44db9e2c57323b07645fcba46b4e Mon Sep 17 00:00:00 2001 From: Thomas Oster <thomas.oster@rwth-aachen.de> Date: Tue, 25 Sep 2012 06:36:03 +0200 Subject: [PATCH] Estimate Job Duration is optional --- src/com/t_oster/liblasercut/LaserCutter.java | 16 +++++++++++++++- .../liblasercut/drivers/EpilogCutter.java | 6 ++++++ .../t_oster/liblasercut/drivers/LaosCutter.java | 6 ------ .../t_oster/liblasercut/drivers/Lasersaur.java | 5 ----- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/com/t_oster/liblasercut/LaserCutter.java b/src/com/t_oster/liblasercut/LaserCutter.java index e8ea2d5..e76d27b 100644 --- a/src/com/t_oster/liblasercut/LaserCutter.java +++ b/src/com/t_oster/liblasercut/LaserCutter.java @@ -153,13 +153,27 @@ public abstract class LaserCutter implements Cloneable */ public abstract void setSettingValue(String attribute, String value); + /** + * Override this method, return true and override the + * estimateJobDuration-method to allow Programs to use + * your driver to estimate the duration of a job before + * executing + * @return + */ + public boolean canEstimateJobDuration() + { + return false; + } /** * Returns an estimated time, how long the job would take * in seconds * @param job * @return */ - public abstract int estimateJobDuration(LaserJob job); + public int estimateJobDuration(LaserJob job) + { + throw new RuntimeException("Method not implemented"); + } public LaserProperty getLaserPropertyForVectorPart() { diff --git a/src/com/t_oster/liblasercut/drivers/EpilogCutter.java b/src/com/t_oster/liblasercut/drivers/EpilogCutter.java index f694eda..47bdc71 100644 --- a/src/com/t_oster/liblasercut/drivers/EpilogCutter.java +++ b/src/com/t_oster/liblasercut/drivers/EpilogCutter.java @@ -848,6 +848,12 @@ abstract class EpilogCutter extends LaserCutter return Arrays.asList(attributes); } + @Override + public boolean canEstimateJobDuration() + { + return true; + } + @Override public int estimateJobDuration(LaserJob job) { diff --git a/src/com/t_oster/liblasercut/drivers/LaosCutter.java b/src/com/t_oster/liblasercut/drivers/LaosCutter.java index 1ed40e0..1a0996d 100644 --- a/src/com/t_oster/liblasercut/drivers/LaosCutter.java +++ b/src/com/t_oster/liblasercut/drivers/LaosCutter.java @@ -813,12 +813,6 @@ public class LaosCutter extends LaserCutter } } - @Override - public int estimateJobDuration(LaserJob job) - { - return 10000; - } - @Override public LaserCutter clone() { diff --git a/src/com/t_oster/liblasercut/drivers/Lasersaur.java b/src/com/t_oster/liblasercut/drivers/Lasersaur.java index e51ed7b..78e06a8 100644 --- a/src/com/t_oster/liblasercut/drivers/Lasersaur.java +++ b/src/com/t_oster/liblasercut/drivers/Lasersaur.java @@ -544,11 +544,6 @@ public class Lasersaur extends LaserCutter { } } - @Override - public int estimateJobDuration(LaserJob job) { - return 10000; - } - @Override public LaserCutter clone() { Lasersaur clone = new Lasersaur(); -- GitLab