]> git.argeo.org Git - lgpl/argeo-commons.git/blob - FsContentProvider.java
e5732da1ecc7ac143127f94d5ec6ea7c9cb0fd44
[lgpl/argeo-commons.git] / FsContentProvider.java
1 package org.argeo.cms.gcr.fs;
2
3 import java.io.IOException;
4 import java.nio.file.Files;
5 import java.nio.file.Path;
6
7 import org.argeo.api.gcr.Content;
8 import org.argeo.api.gcr.ContentResourceException;
9 import org.argeo.api.gcr.spi.ContentProvider;
10 import org.argeo.api.gcr.spi.ProvidedSession;
11
12 public class FsContentProvider implements ContentProvider {
13 private final Path rootPath;
14
15 public FsContentProvider(Path rootPath) {
16 super();
17 this.rootPath = rootPath;
18 }
19
20 boolean isRoot(Path path) {
21 try {
22 return Files.isSameFile(rootPath, path);
23 } catch (IOException e) {
24 throw new ContentResourceException(e);
25 }
26 }
27
28 @Override
29 public Content get(ProvidedSession session, String mountPath, String relativePath) {
30 return new FsContent(session, this, rootPath.resolve(relativePath));
31 }
32 }