]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.api.acr/src/org/argeo/api/acr/DName.java
Start splitting Content in more abstract interfaces
[lgpl/argeo-commons.git] / org.argeo.api.acr / src / org / argeo / api / acr / DName.java
index 162ae919f88a161e0bdf8da4fd3c20454e463c95..d39f35d86ff96104d8693477e8f77cb70034ac1d 100644 (file)
@@ -4,8 +4,8 @@ package org.argeo.api.acr;
  * Name for core concepts with the same semantics as defined in the WebDav
  * standard and extensions.
  * 
- * @see http://www.webdav.org/specs/rfc4918.html
- * @see http://www.webdav.org/specs/rfc3744.html
+ * @see "http://www.webdav.org/specs/rfc4918.html"
+ * @see "http://www.webdav.org/specs/rfc3744.html"
  */
 public enum DName implements QNamed
 
@@ -23,15 +23,38 @@ public enum DName implements QNamed
        // RFC4918 (WebDav) value used as CR class
        collection, //
 
-       // RFC3744 (ACL) properties uase as CR attr
+       // RFC3744 (ACL) properties used as CR attr
        owner, //
        group, //
+
+       // RFC3253 (versioning) properties used as CR attr
+       checkedOut("checked-out"), //
+       checkedIn("checked-in"), //
        //
        ;
 
        public final static String WEBDAV_NAMESPACE_URI = "DAV:";
        public final static String WEBDAV_DEFAULT_PREFIX = "D";
 
+       private final String localName;
+
+       private DName(String localName) {
+               assert localName != null;
+               this.localName = localName;
+       }
+
+       private DName() {
+               this.localName = null;
+       }
+
+       @Override
+       public String localName() {
+               if (localName != null)
+                       return localName;
+               else
+                       return name();
+       }
+
        @Override
        public String getNamespace() {
                return WEBDAV_NAMESPACE_URI;