]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.api.acr/src/org/argeo/api/acr/ContentSession.java
Introduce UUID identified and openForEdit/freeze cycle
[lgpl/argeo-commons.git] / org.argeo.api.acr / src / org / argeo / api / acr / ContentSession.java
1 package org.argeo.api.acr;
2
3 import java.util.Locale;
4 import java.util.concurrent.CompletionStage;
5 import java.util.function.Consumer;
6 import java.util.stream.Stream;
7
8 import javax.security.auth.Subject;
9 import javax.xml.namespace.NamespaceContext;
10
11 import org.argeo.api.acr.search.BasicSearch;
12
13 /** An authenticated session to a repository. */
14 public interface ContentSession extends NamespaceContext {
15 Subject getSubject();
16
17 Locale getLocale();
18
19 Content get(String path);
20
21 boolean exists(String path);
22
23 CompletionStage<ContentSession> edit(Consumer<ContentSession> work);
24
25 Stream<Content> search(Consumer<BasicSearch> search);
26 }