]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.api.acr/src/org/argeo/api/acr/spi/ProvidedSession.java
1 package org
.argeo
.api
.acr
.spi
;
3 import java
.util
.Iterator
;
5 import java
.util
.concurrent
.CompletionStage
;
7 import org
.argeo
.api
.acr
.Content
;
8 import org
.argeo
.api
.acr
.ContentSession
;
10 /** A {@link ContentSession} implementation. */
11 public interface ProvidedSession
extends ContentSession
{
12 ProvidedRepository
getRepository();
14 CompletionStage
<ProvidedSession
> onClose();
16 Content
getMountPoint(String path
);
20 void notifyModification(ProvidedContent content
);
24 Content
getSessionRunDir();
31 default String
getPrefix(String namespaceURI
) {
32 Iterator
<String
> prefixes
= getPrefixes(namespaceURI
);
33 return prefixes
.hasNext() ? prefixes
.next() : null;
36 // /** @return the bound namespace or null if not found */
37 // String findNamespace(String prefix);
39 // // TODO find the default prefix?
40 // Set<String> findPrefixes(String namespaceURI);
42 // /** To be overridden for optimisation, as it will be called a lot */
43 // default String findPrefix(String namespaceURI) {
44 // Set<String> prefixes = findPrefixes(namespaceURI);
45 // if (prefixes.isEmpty())
47 // return prefixes.iterator().next();
51 // default String getNamespaceURI(String prefix) {
52 // String namespaceURI = NamespaceUtils.getStandardNamespaceURI(prefix);
53 // if (namespaceURI != null)
54 // return namespaceURI;
55 // if (XMLConstants.DEFAULT_NS_PREFIX.equals(prefix))
56 // return XMLConstants.NULL_NS_URI;
57 // namespaceURI = findNamespace(prefix);
58 // if (namespaceURI != null)
59 // return namespaceURI;
60 // return XMLConstants.NULL_NS_URI;
64 // default String getPrefix(String namespaceURI) {
65 // String prefix = NamespaceUtils.getStandardPrefix(namespaceURI);
66 // if (prefix != null)
68 // if (XMLConstants.NULL_NS_URI.equals(namespaceURI))
69 // return XMLConstants.DEFAULT_NS_PREFIX;
70 // return findPrefix(namespaceURI);
74 // default Iterator<String> getPrefixes(String namespaceURI) {
75 // Iterator<String> standard = NamespaceUtils.getStandardPrefixes(namespaceURI);
76 // if (standard != null)
78 // if (XMLConstants.NULL_NS_URI.equals(namespaceURI))
79 // return Collections.singleton(XMLConstants.DEFAULT_NS_PREFIX).iterator();
80 // Set<String> prefixes = findPrefixes(namespaceURI);
81 // assert prefixes != null;
82 // return prefixes.iterator();