summaryrefslogtreecommitdiffstats
path: root/config-lib/src/main/java/com/yahoo/config/LeafNodeVector.java
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-09-07 12:25:37 +0200
committerHarald Musum <musum@yahooinc.com>2023-09-07 12:25:37 +0200
commitcac205f35b56d0bd584013b79b88a6635dee5ab4 (patch)
treebcf8461b3091c44ae78e5d9355a2109ba7d6a77a /config-lib/src/main/java/com/yahoo/config/LeafNodeVector.java
parentdaba552c567f1fcb9e300ae65825c1d97cedbb5e (diff)
Support optional 'path' config type
Initial work needed for this to work (config definition and config library)
Diffstat (limited to 'config-lib/src/main/java/com/yahoo/config/LeafNodeVector.java')
-rw-r--r--config-lib/src/main/java/com/yahoo/config/LeafNodeVector.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/config-lib/src/main/java/com/yahoo/config/LeafNodeVector.java b/config-lib/src/main/java/com/yahoo/config/LeafNodeVector.java
index a4fea95088d..cfb8cd4eebd 100644
--- a/config-lib/src/main/java/com/yahoo/config/LeafNodeVector.java
+++ b/config-lib/src/main/java/com/yahoo/config/LeafNodeVector.java
@@ -8,6 +8,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Optional;
/**
* A vector of leaf nodes.
@@ -71,6 +72,13 @@ public class LeafNodeVector<REAL, NODE extends LeafNode<REAL>> extends NodeVecto
return new LeafNodeVector<>(paths, new PathNode());
}
+ public static LeafNodeVector<Optional<Path>, OptionalPathNode> createOptionalPathNodeVector(Collection<Optional<FileReference>> values) {
+ List<Optional<Path>> paths = new ArrayList<>();
+ for (Optional<FileReference> fileReference : values)
+ paths.add(fileReference.map(reference -> Paths.get(reference.value())));
+ return new LeafNodeVector<>(paths, new OptionalPathNode());
+ }
+
public static LeafNodeVector<File, UrlNode> createUrlNodeVector(Collection<UrlReference> values) {
List<File> files = new ArrayList<>();
for (UrlReference urlReference : values)