X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.acr%2Fsrc%2Forg%2Fargeo%2Fapi%2Facr%2Fspi%2FProvidedContent.java;h=f1e5aaaa80f24af4dce505a935b342645d9910c8;hb=98f329e8641b792a07a4a0df62637565db0f738f;hp=d4162afb0d09d9db7ac8ebccc9ea8d7ea938861d;hpb=369abbec35158f11bcca3651c1c3f2f7d6652226;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/spi/ProvidedContent.java b/org.argeo.api.acr/src/org/argeo/api/acr/spi/ProvidedContent.java index d4162afb0..f1e5aaaa8 100644 --- a/org.argeo.api.acr/src/org/argeo/api/acr/spi/ProvidedContent.java +++ b/org.argeo.api.acr/src/org/argeo/api/acr/spi/ProvidedContent.java @@ -1,11 +1,11 @@ package org.argeo.api.acr.spi; +import java.util.Optional; + import org.argeo.api.acr.Content; /** A {@link Content} implementation. */ public interface ProvidedContent extends Content { - final static String ROOT_PATH = "/"; - /** The related {@link ProvidedSession}. */ ProvidedSession getSession(); @@ -39,15 +39,14 @@ public interface ProvidedContent extends Content { } @Override - default ProvidedContent getContent(String path) { - Content fileNode; - if (path.startsWith(ROOT_PATH)) {// absolute - fileNode = getSession().get(path); + default Optional getContent(String path) { + String absolutePath; + if (path.startsWith(Content.ROOT_PATH)) {// absolute + absolutePath = path; } else {// relative - String absolutePath = getPath() + '/' + path; - fileNode = getSession().get(absolutePath); + absolutePath = getPath() + '/' + path; } - return (ProvidedContent) fileNode; + return getSession().exists(absolutePath) ? Optional.of(getSession().get(absolutePath)) : Optional.empty(); } /*