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