From 2c90807a925c23f2dff5373e746b92cb8668fc43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Grze=C5=9Blowski?= Date: Sun, 15 Sep 2024 10:41:33 +0200 Subject: [PATCH] Toggle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin GrzeĊ›lowski --- .../main/java/org/openhab/core/library/types/OnOffType.java | 4 ++++ .../java/org/openhab/core/library/types/OpenClosedType.java | 4 ++++ .../java/org/openhab/core/library/types/PlayPauseType.java | 4 ++++ .../main/java/org/openhab/core/library/types/UpDownType.java | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/OnOffType.java b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/OnOffType.java index 55d45b0fdc..91b0ae84c7 100644 --- a/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/OnOffType.java +++ b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/OnOffType.java @@ -60,6 +60,10 @@ public enum OnOffType implements PrimitiveType, State, Command { return super.toString(); } + public OnOffType toggle() { + return this == ON ? OFF : ON; + } + @Override public @Nullable T as(@Nullable Class target) { if (target == DecimalType.class) { diff --git a/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/OpenClosedType.java b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/OpenClosedType.java index 22fad77121..ad5d660a5c 100644 --- a/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/OpenClosedType.java +++ b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/OpenClosedType.java @@ -42,6 +42,10 @@ public enum OpenClosedType implements PrimitiveType, State, Command { return super.toString(); } + public OpenClosedType toggle() { + return this == OPEN ? CLOSED : OPEN; + } + @Override public @Nullable T as(@Nullable Class target) { if (target == DecimalType.class) { diff --git a/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/PlayPauseType.java b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/PlayPauseType.java index 870cf3db0a..9360a87c80 100644 --- a/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/PlayPauseType.java +++ b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/PlayPauseType.java @@ -42,4 +42,8 @@ public enum PlayPauseType implements PrimitiveType, State, Command { public String toFullString() { return super.toString(); } + + public PlayPauseType toggle() { + return this == PLAY ? PAUSE : PLAY; + } } diff --git a/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/UpDownType.java b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/UpDownType.java index f7266d22d5..4f24b510a9 100644 --- a/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/UpDownType.java +++ b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/UpDownType.java @@ -44,6 +44,10 @@ public enum UpDownType implements PrimitiveType, State, Command { return super.toString(); } + public UpDownType toggle() { + return this == UP ? DOWN : UP; + } + @Override public @Nullable T as(@Nullable Class target) { if (target == DecimalType.class) {