]> git.basschouten.com Git - openhab-addons.git/commitdiff
[knx] Java17 instanceof pattern matching (#14718)
authorHolger Friedrich <holgerfriedrich@users.noreply.github.com>
Tue, 28 Mar 2023 18:49:31 +0000 (20:49 +0200)
committerGitHub <noreply@github.com>
Tue, 28 Mar 2023 18:49:31 +0000 (20:49 +0200)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/dpt/DPTUnits.java
bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/dpt/ValueEncoder.java
bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/DeviceThingHandler.java

index 21ae841118f0f426093db15d0ca5ae0c8a351547..d7a1be02d236bcb6b1d051afa6800fb1c30e4a3c 100644 (file)
@@ -78,8 +78,7 @@ public class DPTUnits {
             for (Field field : fields) {
                 try {
                     Object o = field.get(null);
-                    if (o instanceof DPT) {
-                        DPT dpt = (DPT) o;
+                    if (o instanceof DPT dpt) {
                         String unit = dpt.getUnit().replaceAll(" ", "");
                         // Calimero provides some units (like "ms⁻²") that can't be parsed by our library because of the
                         // negative exponent
index 91e102adade8bfa5c7757adbd04b950dd5f714e7..40af768bc4fd32da692cf428b2b7dbe24c6eea5e 100644 (file)
@@ -87,8 +87,8 @@ public class ValueEncoder {
             DPT dpt = translator.getType();
 
             // check for HSBType first, because it extends PercentType as well
-            if (value instanceof HSBType) {
-                return handleHSBType(dptId, (HSBType) value);
+            if (value instanceof HSBType type) {
+                return handleHSBType(dptId, type);
             } else if (value instanceof OnOffType) {
                 return OnOffType.OFF.equals(value) ? dpt.getLowerValue() : dpt.getUpperValue();
             } else if (value instanceof UpDownType) {
@@ -101,15 +101,15 @@ public class ValueEncoder {
                 return OpenClosedType.CLOSED.equals(value) ? dpt.getLowerValue() : dpt.getUpperValue();
             } else if (value instanceof StopMoveType) {
                 return StopMoveType.STOP.equals(value) ? dpt.getLowerValue() : dpt.getUpperValue();
-            } else if (value instanceof PercentType) {
-                int intValue = ((PercentType) value).intValue();
+            } else if (value instanceof PercentType type) {
+                int intValue = type.intValue();
                 return "251.600".equals(dptId) ? String.format("- - - %d %%", intValue) : String.valueOf(intValue);
             } else if (value instanceof DecimalType || value instanceof QuantityType<?>) {
                 return handleNumericTypes(dptId, mainNumber, dpt, value);
             } else if (value instanceof StringType) {
                 return value.toString();
-            } else if (value instanceof DateTimeType) {
-                return handleDateTimeType(dptId, (DateTimeType) value);
+            } else if (value instanceof DateTimeType type) {
+                return handleDateTimeType(dptId, type);
             }
         } catch (KNXException e) {
             return null;
index b7612cdd132b46e8080c27163072cfd5a88af223..be5828a828682f1885d5156372337b2af185111a 100644 (file)
@@ -366,9 +366,9 @@ public class DeviceThingHandler extends BaseThingHandler implements GroupAddress
                     if (oldFuture != null) {
                         oldFuture.cancel(true);
                     }
-                    if (value instanceof IncreaseDecreaseType) {
+                    if (value instanceof IncreaseDecreaseType type) {
                         channelFutures.put(channelUID, scheduler.scheduleWithFixedDelay(
-                                () -> postCommand(channelUID, (Command) value), 0, frequency, TimeUnit.MILLISECONDS));
+                                () -> postCommand(channelUID, type), 0, frequency, TimeUnit.MILLISECONDS));
                     }
                 } else {
                     if (value instanceof Command command) {