You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by jf...@apache.org on 2019/12/17 17:43:43 UTC

[plc4x] branch feature/complex-types updated: Added getKeys Method

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

jfeinauer pushed a commit to branch feature/complex-types
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/feature/complex-types by this push:
     new 65b4c2f  Added getKeys Method
65b4c2f is described below

commit 65b4c2f1286eca10b7baf2e4568d0800eaa5f454
Author: Julian Feinauer <j....@pragmaticminds.de>
AuthorDate: Tue Dec 17 18:43:38 2019 +0100

    Added getKeys Method
---
 .../api/src/main/java/org/apache/plc4x/java/api/value/PlcStruct.java | 5 +++++
 .../api/src/main/java/org/apache/plc4x/java/api/value/PlcValue.java  | 3 +++
 .../main/java/org/apache/plc4x/java/api/value/PlcValueAdapter.java   | 5 +++++
 3 files changed, 13 insertions(+)

diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcStruct.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcStruct.java
index 72df9b0..82d0fd7 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcStruct.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcStruct.java
@@ -5,6 +5,7 @@ import org.apache.plc4x.java.api.value.PlcValueAdapter;
 
 import java.util.Collections;
 import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 public class PlcStruct extends PlcValueAdapter {
@@ -19,6 +20,10 @@ public class PlcStruct extends PlcValueAdapter {
         return true;
     }
 
+    @Override public Set<String> getKeys() {
+        return map.keySet();
+    }
+
     @Override public boolean hasKey(String key) {
         return map.containsKey(key);
     }
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValue.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValue.java
index 7b5cedf..33e1739 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValue.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValue.java
@@ -2,6 +2,7 @@ package org.apache.plc4x.java.api.value;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * Base Type of all Types.
@@ -74,6 +75,8 @@ public interface PlcValue {
 
     boolean isStruct();
 
+    Set<String> getKeys();
+
     boolean hasKey(String key);
 
     PlcValue getValue(String key);
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValueAdapter.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValueAdapter.java
index d8d9032..7306299 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValueAdapter.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValueAdapter.java
@@ -4,6 +4,7 @@ import org.apache.plc4x.java.api.exceptions.PlcIncompatibleDatatypeException;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 public class PlcValueAdapter implements PlcValue {
 
@@ -103,6 +104,10 @@ public class PlcValueAdapter implements PlcValue {
         return false;
     }
 
+    @Override public Set<String> getKeys() {
+        throw new PlcIncompatibleDatatypeException("");
+    }
+
     @Override public boolean hasKey(String key) {
         return false;
     }