Move qualified name to JCR bundle
[lgpl/argeo-commons.git] / org.argeo.enterprise / src / org / argeo / naming / LdapAttrs.java
index d5324974ba3f87e8e06b9c6bf07044d896e9c8b1..cfabeb7d6e9a4905af87c32f230534b819656caa 100644 (file)
@@ -267,12 +267,28 @@ public enum LdapAttrs implements SpecifiedName {
        /** */
        displayName("2.16.840.1.113730.3.1.241", "RFC 2798"),
 
-       // KERBEROS (partial
-       krbPrincipalName("2.16.840.1.113719.1.301.6.8.1", "Novell Kerberos Schema Definitions");
+       // 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"),
+
+       // RFC 2985 and RFC 3039 (partial)
+       dateOfBirth("1.3.6.1.5.5.7.9.1", "RFC 2985"),
+       /** */
+       placeOfBirth("1.3.6.1.5.5.7.9.2", "RFC 2985"),
+       /** */
+       gender("1.3.6.1.5.5.7.9.3", "RFC 2985"),
+       /** */
+       countryOfCitizenship("1.3.6.1.5.5.7.9.4", "RFC 2985"),
+       /** */
+       countryOfResidence("1.3.6.1.5.5.7.9.5", "RFC 2985"),
+       //
+       ;
 
        public final static String DN = "dn";
 
-       private final static String LDAP_ = "ldap:";
+//     private final static String LDAP_ = "ldap:";
 
        private final String oid, spec;
 
@@ -291,8 +307,35 @@ public enum LdapAttrs implements SpecifiedName {
                return spec;
        }
 
+       public String getPrefix() {
+               return prefix();
+       }
+
+       public static String prefix() {
+               return "ldap";
+       }
+
        public String property() {
-               return new StringBuilder(LDAP_).append(name()).toString();
+               return qualified();
+       }
+
+       public String qualified() {
+               String prefix = getPrefix();
+               return prefix != null ? prefix + ":" + name() : name();
+       }
+
+       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();
        }
 
 }