1 package org
.argeo
.cms
.dav
;
3 import java
.util
.Comparator
;
4 import java
.util
.Objects
;
6 import javax
.xml
.namespace
.QName
;
7 import javax
.xml
.stream
.XMLStreamException
;
8 import javax
.xml
.stream
.XMLStreamWriter
;
10 import org
.argeo
.api
.acr
.QNamed
;
12 enum DavXmlElement
implements QNamed
{
16 /** MUST be the same as DName.collection */
40 final static String WEBDAV_NAMESPACE_URI
= "DAV:";
41 final static String WEBDAV_DEFAULT_PREFIX
= "D";
43 final static Comparator
<QName
> QNAME_COMPARATOR
= new Comparator
<QName
>() {
46 public int compare(QName qn1
, QName qn2
) {
47 if (Objects
.equals(qn1
.getNamespaceURI(), qn2
.getNamespaceURI())) {// same namespace
48 return qn1
.getLocalPart().compareTo(qn2
.getLocalPart());
50 return qn1
.getNamespaceURI().compareTo(qn2
.getNamespaceURI());
56 // private final QName value;
58 // private DavXmlElement() {
59 // this.value = new ContentName(getNamespace(), localName(), RuntimeNamespaceContext.getNamespaceContext());
63 // public QName qName() {
68 public String
getNamespace() {
69 return WEBDAV_NAMESPACE_URI
;
73 public String
getDefaultPrefix() {
74 return WEBDAV_DEFAULT_PREFIX
;
77 public static DavXmlElement
toEnum(QName name
) {
78 for (DavXmlElement e
: values()) {
79 if (e
.qName().equals(name
))
85 public void setSimpleValue(XMLStreamWriter xsWriter
, String value
) throws XMLStreamException
{
87 emptyElement(xsWriter
);
90 startElement(xsWriter
);
91 xsWriter
.writeCharacters(value
);
92 xsWriter
.writeEndElement();
95 public void emptyElement(XMLStreamWriter xsWriter
) throws XMLStreamException
{
96 xsWriter
.writeEmptyElement(WEBDAV_NAMESPACE_URI
, name());
99 public void startElement(XMLStreamWriter xsWriter
) throws XMLStreamException
{
100 xsWriter
.writeStartElement(WEBDAV_NAMESPACE_URI
, name());