diff options
author | Magdalena GrodziĆska <mag.grodzinska@gmail.com> | 2020-01-12 22:58:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-12 22:58:53 +0100 |
commit | 39d7f8b70dfef38e4b6169e53fb7066743d734d4 (patch) | |
tree | 56f6843f62ff881628148e92ad068785e7b69166 /src/main/java/pl/edu/mimuw/cloudatlas/model/ValueUtils.java | |
parent | c48ec1604744ab330d18af1f55256c35dc5c34c6 (diff) | |
parent | 0f31d1f5c267f893d765ccd848b95fc111009de5 (diff) |
Merge branch 'master' into query_signer
Diffstat (limited to 'src/main/java/pl/edu/mimuw/cloudatlas/model/ValueUtils.java')
-rw-r--r-- | src/main/java/pl/edu/mimuw/cloudatlas/model/ValueUtils.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueUtils.java b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueUtils.java index 866349f..20d6600 100644 --- a/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueUtils.java +++ b/src/main/java/pl/edu/mimuw/cloudatlas/model/ValueUtils.java @@ -1,5 +1,8 @@ package pl.edu.mimuw.cloudatlas.model; +import java.util.List; +import java.util.Iterator; + public class ValueUtils { public static boolean valueNonNullOfType(Value value, Type type) { return value != null && !value.isNull() && value.getType().isCompatible(type); @@ -16,4 +19,23 @@ public class ValueUtils { public static ValueTime addToTime(ValueTime time, long millis) { return time.addValue(new ValueDuration(millis)); } + + public static boolean isPrefix(PathName prefix, PathName path) { + List<String> prefixComponents = prefix.getComponents(); + List<String> pathComponents = path.getComponents(); + + if (prefixComponents.size() > pathComponents.size()) { + return false; + } + + Iterator<String> prefixIterator = prefixComponents.iterator(); + Iterator<String> pathIterator = pathComponents.iterator(); + + while (prefixIterator.hasNext()) { + if (!prefixIterator.next().equals(pathIterator.next())) { + return false; + } + } + return true; + } } |