From 5c2f828834f45d07213020cc731e40de158b3bf7 Mon Sep 17 00:00:00 2001 From: omenem Date: Wed, 22 Apr 2020 16:48:49 +0200 Subject: [PATCH] wid, added implements keyword for Boolean/RangeTriggerable in all the devices --- .../usi/inf/sa4/sanmarinoes/smarthut/models/Dimmable.java | 7 ++++++- .../inf/sa4/sanmarinoes/smarthut/models/RegularLight.java | 7 ++++++- .../sa4/sanmarinoes/smarthut/models/SecurityCamera.java | 7 ++++++- .../inf/sa4/sanmarinoes/smarthut/models/SmartPlug.java | 8 ++++++-- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmable.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmable.java index a3ae206..ab49dd0 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmable.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmable.java @@ -9,7 +9,7 @@ import javax.validation.constraints.NotNull; @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) -public class Dimmable extends Switchable { +public class Dimmable extends Switchable implements RangeTriggerable { public static final Connector KNOB_DIMMER_DIMMABLE_CONNECTOR = Connector.basic(KnobDimmer::getOutputs, Dimmable::getDimmers); @@ -85,4 +85,9 @@ public class Dimmable extends Switchable { newState.setIntensity(getIntensity()); return newState; } + + @Override + public double readTriggerState() { + return intensity; + } } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RegularLight.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RegularLight.java index 2dcff1b..2d06c59 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RegularLight.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RegularLight.java @@ -6,7 +6,7 @@ import javax.validation.constraints.NotNull; /** Represents a standard non-dimmable light */ @Entity -public class RegularLight extends Switchable { +public class RegularLight extends Switchable implements BooleanTriggerable { /** Whether the light is on or not */ @Column(name = "light_on", nullable = false) @@ -27,4 +27,9 @@ public class RegularLight extends Switchable { public void setOn(boolean on) { this.on = on; } + + @Override + public boolean readTriggerState() { + return on; + } } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SecurityCamera.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SecurityCamera.java index 7ddde5d..3d4cef9 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SecurityCamera.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SecurityCamera.java @@ -5,7 +5,7 @@ import javax.persistence.Entity; import javax.validation.constraints.NotNull; @Entity -public class SecurityCamera extends Switchable { +public class SecurityCamera extends Switchable implements BooleanTriggerable { public SecurityCamera() { super("securityCamera"); @@ -33,4 +33,9 @@ public class SecurityCamera extends Switchable { public void setOn(boolean on) { this.on = on; } + + @Override + public boolean readTriggerState() { + return on; + } } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SmartPlug.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SmartPlug.java index 546c746..77f6c3d 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SmartPlug.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SmartPlug.java @@ -1,6 +1,5 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; -import com.google.common.base.Objects; import java.math.BigDecimal; import javax.persistence.Column; @@ -9,7 +8,7 @@ import javax.validation.constraints.NotNull; /** A smart plug that can be turned either on or off */ @Entity -public class SmartPlug extends Switchable { +public class SmartPlug extends Switchable implements BooleanTriggerable { /** The average consumption of an active plug when on in Watt */ public static final Double AVERAGE_CONSUMPTION_KW = 200.0; @@ -46,4 +45,9 @@ public class SmartPlug extends Switchable { public SmartPlug() { super("smartPlug"); } + + @Override + public boolean readTriggerState() { + return on; + } }