]> git.argeo.org Git - lgpl/argeo-commons.git/blob - ContentProvider.java
25b9be5c2081b924b7f08a0d4f0ce72b8a5e1559
[lgpl/argeo-commons.git] / ContentProvider.java
1 package org.argeo.api.acr.spi;
2
3 import java.util.Iterator;
4 import java.util.Spliterator;
5
6 import javax.xml.namespace.NamespaceContext;
7
8 import org.argeo.api.acr.Content;
9 import org.argeo.api.acr.search.BasicSearch;
10
11 public interface ContentProvider extends NamespaceContext {
12
13 ProvidedContent get(ProvidedSession session, String relativePath);
14
15 boolean exists(ProvidedSession session, String relativePath);
16
17 String getMountPath();
18
19 /*
20 * NAMESPACE CONTEXT
21 */
22 @Override
23 default String getPrefix(String namespaceURI) {
24 Iterator<String> prefixes = getPrefixes(namespaceURI);
25 return prefixes.hasNext() ? prefixes.next() : null;
26 }
27
28 default Spliterator<Content> search(ProvidedSession session, BasicSearch search, String relPath) {
29 throw new UnsupportedOperationException();
30 }
31
32 // default ContentName parsePrefixedName(String nameWithPrefix) {
33 // return NamespaceUtils.parsePrefixedName(this, nameWithPrefix);
34 // }
35 //
36 // default String toPrefixedName(QName name) {
37 // return NamespaceUtils.toPrefixedName(this, name);
38 // }
39
40 }