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;
}