]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.api.acr/src/org/argeo/api/acr/ContentNameSupplier.java
1 package org
.argeo
.api
.acr
;
3 import java
.util
.Collections
;
4 import java
.util
.Iterator
;
5 import java
.util
.function
.Supplier
;
7 import javax
.xml
.XMLConstants
;
8 import javax
.xml
.namespace
.NamespaceContext
;
10 public interface ContentNameSupplier
extends Supplier
<ContentName
>, NamespaceContext
{
13 String
getNamespaceURI();
15 String
getDefaultPrefix();
18 default ContentName
get() {
19 return toContentName();
22 default ContentName
toContentName() {
23 CompositeString cs
= new CompositeString(name());
24 String camlName
= cs
.toStringCaml(false);
25 return new ContentName(getNamespaceURI(), camlName
, this);
28 // default String getNamespaceURI() {
29 // return XMLConstants.NULL_NS_URI;
32 // default String getDefaultPrefix() {
33 // return XMLConstants.DEFAULT_NS_PREFIX;
36 // static ContentName toContentName(String namespaceURI, String localName, String prefix) {
37 // CompositeString cs = new CompositeString(localName);
38 // String camlName = cs.toStringCaml(false);
39 // return new ContentName(namespaceURI, camlName, this);
47 default String
getNamespaceURI(String prefix
) {
48 String namespaceURI
= NamespaceUtils
.getStandardNamespaceURI(prefix
);
49 if (namespaceURI
!= null)
51 if (prefix
.equals(getDefaultPrefix()))
52 return getNamespaceURI();
53 return XMLConstants
.NULL_NS_URI
;
57 default String
getPrefix(String namespaceURI
) {
58 String prefix
= NamespaceUtils
.getStandardPrefix(namespaceURI
);
61 if (namespaceURI
.equals(getNamespaceURI()))
62 return getDefaultPrefix();
67 default Iterator
<String
> getPrefixes(String namespaceURI
) {
68 Iterator
<String
> it
= NamespaceUtils
.getStandardPrefixes(namespaceURI
);
71 if (namespaceURI
.equals(getNamespaceURI()))
72 return Collections
.singleton(getDefaultPrefix()).iterator();
73 return Collections
.emptyIterator();