You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2018/02/16 19:19:58 UTC

[incubator-plc4x] branch master updated: improved toString from enums in ADS

This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git


The following commit(s) were added to refs/heads/master by this push:
     new 9616412  improved toString from enums in ADS
9616412 is described below

commit 961641201d74082978a1b0f0e09aab92118c4999
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Fri Feb 16 20:19:53 2018 +0100

    improved toString from enums in ADS
---
 .../plc4x/java/ads/api/commands/types/AdsReturnCode.java      |  4 +++-
 .../org/apache/plc4x/java/ads/api/generic/types/Command.java  |  7 +++++++
 .../org/apache/plc4x/java/ads/api/generic/types/State.java    | 11 +++++++++++
 3 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/AdsReturnCode.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/AdsReturnCode.java
index e9e1b13..8a1e941 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/AdsReturnCode.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/AdsReturnCode.java
@@ -20,6 +20,8 @@ package org.apache.plc4x.java.ads.api.commands.types;
 
 import java.util.Objects;
 
+import static java.lang.Long.toHexString;
+
 /**
  * Based on spec from: https://infosys.beckhoff.com/content/1033/tcadscommon/html/ads_returncodes.htm
  */
@@ -191,7 +193,7 @@ public enum AdsReturnCode {
     @Override
     public String toString() {
         return "AdsReturnCode{" +
-            "hex=" + hex +
+            "hex=" + String.format("0x%4s", toHexString(hex)).replace(' ', '0') +
             ", dec=" + dec +
             ", description='" + description + '\'' +
             ", possibleCauses='" + possibleCauses + '\'' +
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/Command.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/Command.java
index 988f1d9..d526795 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/Command.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/Command.java
@@ -26,6 +26,8 @@ import org.apache.plc4x.java.ads.api.util.ByteValue;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
+import static java.lang.Integer.toHexString;
+
 public enum Command implements ByteReadable {
     Invalid(0x00),
     ADS_Read_Device_Info(0x01),
@@ -102,4 +104,9 @@ public enum Command implements ByteReadable {
     public static Command of(ByteBuf byteBuf) {
         return of(byteBuf.readUnsignedShortLE());
     }
+
+    @Override
+    public String toString() {
+        return name() + "/hex=" + String.format("0x%2s", toHexString(intValue)).replace(' ', '0');
+    }
 }
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/State.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/State.java
index 1c4a756..5627506 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/State.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/State.java
@@ -26,6 +26,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.stream.Stream;
 
+import static java.lang.Integer.toBinaryString;
 import static org.apache.plc4x.java.ads.api.generic.types.State.StateMask.*;
 
 /**
@@ -74,6 +75,11 @@ public class State extends UnsignedShortLEByteValue {
         public int getMask() {
             return mask;
         }
+
+        @Override
+        public String toString() {
+            return name() + "/mask=" + String.format("0b%16s", toBinaryString(mask)).replace(' ', '0');
+        }
     }
 
     public static final State DEFAULT = State.of(ADS_COMMAND);
@@ -186,4 +192,9 @@ public class State extends UnsignedShortLEByteValue {
     public boolean isBroadcast() {
         return BROADCAST.applies(this);
     }
+
+    @Override
+    public String toString() {
+        return "State{" + getStateMaskEnumSet() + "} " + super.toString();
+    }
 }

-- 
To stop receiving notification emails like this one, please contact
sruehl@apache.org.