From f454e6d9054f43a300743f206054e4d1ab6e7fe7 Mon Sep 17 00:00:00 2001 From: crschnick Date: Tue, 9 Jan 2024 01:33:38 +0000 Subject: [PATCH] Allow for better contextual file reference handling --- .../app/storage/ContextualFileReference.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/src/main/java/io/xpipe/app/storage/ContextualFileReference.java b/app/src/main/java/io/xpipe/app/storage/ContextualFileReference.java index 8e1e3219..3e8e75c6 100644 --- a/app/src/main/java/io/xpipe/app/storage/ContextualFileReference.java +++ b/app/src/main/java/io/xpipe/app/storage/ContextualFileReference.java @@ -9,6 +9,7 @@ import lombok.NonNull; import java.nio.file.InvalidPathException; import java.nio.file.Path; +import java.util.Optional; import java.util.regex.Matcher; @AllArgsConstructor(access = AccessLevel.PRIVATE) @@ -36,6 +37,24 @@ public class ContextualFileReference { } } + public static Optional parseIfInDataDirectory(String s) { + var cf = of(s); + if (cf.serialize().contains("")) { + return Optional.of(cf); + } else { + return Optional.empty(); + } + } + + public static Optional resolveIfInDataDirectory(ShellControl shellControl, String s) { + if (s.contains("")) { + var cf = of(s); + return Optional.of(cf.toFilePath(shellControl)); + } else { + return Optional.empty(); + } + } + public static ContextualFileReference of(String s) { if (s == null) { return null;