]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.api.acr/src/org/argeo/api/acr/spi/ProvidedSession.java
Start supporting mounting of XML with FS.
[lgpl/argeo-commons.git] / org.argeo.api.acr / src / org / argeo / api / acr / spi / ProvidedSession.java
1 package org.argeo.api.acr.spi;
2
3 import java.util.Iterator;
4 import java.util.concurrent.CompletionStage;
5
6 import org.argeo.api.acr.Content;
7 import org.argeo.api.acr.ContentSession;
8
9 public interface ProvidedSession extends ContentSession {
10 ProvidedRepository getRepository();
11
12 CompletionStage<ProvidedSession> onClose();
13
14 Content getMountPoint(String path);
15
16 boolean isEditing();
17 /*
18 * NAMESPACE CONTEXT
19 */
20
21 @Override
22 default String getPrefix(String namespaceURI) {
23 Iterator<String> prefixes = getPrefixes(namespaceURI);
24 return prefixes.hasNext() ? prefixes.next() : null;
25 }
26
27 // /** @return the bound namespace or null if not found */
28 // String findNamespace(String prefix);
29 //
30 // // TODO find the default prefix?
31 // Set<String> findPrefixes(String namespaceURI);
32 //
33 // /** To be overridden for optimisation, as it will be called a lot */
34 // default String findPrefix(String namespaceURI) {
35 // Set<String> prefixes = findPrefixes(namespaceURI);
36 // if (prefixes.isEmpty())
37 // return null;
38 // return prefixes.iterator().next();
39 // }
40
41 // @Override
42 // default String getNamespaceURI(String prefix) {
43 // String namespaceURI = NamespaceUtils.getStandardNamespaceURI(prefix);
44 // if (namespaceURI != null)
45 // return namespaceURI;
46 // if (XMLConstants.DEFAULT_NS_PREFIX.equals(prefix))
47 // return XMLConstants.NULL_NS_URI;
48 // namespaceURI = findNamespace(prefix);
49 // if (namespaceURI != null)
50 // return namespaceURI;
51 // return XMLConstants.NULL_NS_URI;
52 // }
53 //
54 // @Override
55 // default String getPrefix(String namespaceURI) {
56 // String prefix = NamespaceUtils.getStandardPrefix(namespaceURI);
57 // if (prefix != null)
58 // return prefix;
59 // if (XMLConstants.NULL_NS_URI.equals(namespaceURI))
60 // return XMLConstants.DEFAULT_NS_PREFIX;
61 // return findPrefix(namespaceURI);
62 // }
63 //
64 // @Override
65 // default Iterator<String> getPrefixes(String namespaceURI) {
66 // Iterator<String> standard = NamespaceUtils.getStandardPrefixes(namespaceURI);
67 // if (standard != null)
68 // return standard;
69 // if (XMLConstants.NULL_NS_URI.equals(namespaceURI))
70 // return Collections.singleton(XMLConstants.DEFAULT_NS_PREFIX).iterator();
71 // Set<String> prefixes = findPrefixes(namespaceURI);
72 // assert prefixes != null;
73 // return prefixes.iterator();
74 // }
75
76 }