Introduce qualified name concept.
[lgpl/argeo-commons.git] / org.argeo.enterprise / src / org / argeo / naming / LdapAttrs.java
index 006f0e767e3ed045beb058ec23efada81f3f96f8..dc266998db5cb9d3612f9ae44b53d6a1e87cf0c5 100644 (file)
@@ -7,7 +7,7 @@ package org.argeo.naming;
  * "https://github.com/krb5/krb5/blob/master/src/plugins/kdb/ldap/libkdb_ldap/kerberos.schema">Kerberos
  * LDAP (partial)</a>
  */
-public enum LdapAttrs implements SpecifiedName {
+public enum LdapAttrs implements SpecifiedName, QualifiedName {
        /** */
        uid("0.9.2342.19200300.100.1.1", "RFC 4519"),
        /** */
@@ -267,6 +267,9 @@ public enum LdapAttrs implements SpecifiedName {
        /** */
        displayName("2.16.840.1.113730.3.1.241", "RFC 2798"),
 
+       // Sun memberOf
+       memberOf("1.2.840.113556.1.2.102", "389 DS memberOf"),
+
        // KERBEROS (partial)
        krbPrincipalName("2.16.840.1.113719.1.301.6.8.1", "Novell Kerberos Schema Definitions"),
 
@@ -285,7 +288,7 @@ public enum LdapAttrs implements SpecifiedName {
 
        public final static String DN = "dn";
 
-       private final static String LDAP_ = "ldap:";
+//     private final static String LDAP_ = "ldap:";
 
        private final String oid, spec;
 
@@ -304,8 +307,28 @@ public enum LdapAttrs implements SpecifiedName {
                return spec;
        }
 
-       public String property() {
-               return new StringBuilder(LDAP_).append(name()).toString();
+       @Override
+       public String getPrefix() {
+               return prefix();
+       }
+
+       public static String prefix() {
+               return "ldap";
+       }
+
+       @Override
+       public String getNamespace() {
+               return namespace();
+       }
+
+       public static String namespace() {
+               return "http://www.argeo.org/ns/ldap";
+       }
+
+       @Override
+       public final String toString() {
+               // must return the name
+               return name();
        }
 
 }