]> git.argeo.org Git - lgpl/argeo-commons.git/blob - ldap/LdapObj.java
Prepare next development cycle
[lgpl/argeo-commons.git] / ldap / LdapObj.java
1 package org.argeo.api.acr.ldap;
2
3 import static org.argeo.api.acr.ArgeoNamespace.LDAP_DEFAULT_PREFIX;
4 import static org.argeo.api.acr.ArgeoNamespace.LDAP_NAMESPACE_URI;
5
6 import javax.xml.namespace.QName;
7
8 import org.argeo.api.acr.ArgeoNamespace;
9 import org.argeo.api.acr.ContentName;
10 import org.argeo.api.acr.QNamed;
11 import org.argeo.api.acr.RuntimeNamespaceContext;
12
13 /**
14 * Standard LDAP object classes as per
15 * <a href="https://www.ldap.com/ldap-oid-reference">https://www.ldap.com/ldap-
16 * oid-reference</a>
17 */
18 public enum LdapObj implements QNamed, SpecifiedName {
19 account("0.9.2342.19200300.100.4.5", "RFC 4524"),
20 /** */
21 document("0.9.2342.19200300.100.4.6", "RFC 4524"),
22 /** */
23 room("0.9.2342.19200300.100.4.7", "RFC 4524"),
24 /** */
25 documentSeries("0.9.2342.19200300.100.4.9", "RFC 4524"),
26 /** */
27 domain("0.9.2342.19200300.100.4.13", "RFC 4524"),
28 /** */
29 rFC822localPart("0.9.2342.19200300.100.4.14", "RFC 4524"),
30 /** */
31 domainRelatedObject("0.9.2342.19200300.100.4.17", "RFC 4524"),
32 /** */
33 friendlyCountry("0.9.2342.19200300.100.4.18", "RFC 4524"),
34 /** */
35 simpleSecurityObject("0.9.2342.19200300.100.4.19", "RFC 4524"),
36 /** */
37 uidObject("1.3.6.1.1.3.1", "RFC 4519"),
38 /** */
39 extensibleObject("1.3.6.1.4.1.1466.101.120.111", "RFC 4512"),
40 /** */
41 dcObject("1.3.6.1.4.1.1466.344", "RFC 4519"),
42 /** */
43 authPasswordObject("1.3.6.1.4.1.4203.1.4.7", "RFC 3112"),
44 /** */
45 namedObject("1.3.6.1.4.1.5322.13.1.1", "draft-howard-namedobject"),
46 /** */
47 inheritableLDAPSubEntry("1.3.6.1.4.1.7628.5.6.1.1", "draft-ietf-ldup-subentry"),
48 /** */
49 top("2.5.6.0", "RFC 4512"),
50 /** */
51 alias("2.5.6.1", "RFC 4512"),
52 /** */
53 country("2.5.6.2", "RFC 4519"),
54 /** */
55 locality("2.5.6.3", "RFC 4519"),
56 /** */
57 organization("2.5.6.4", "RFC 4519"),
58 /** */
59 organizationalUnit("2.5.6.5", "RFC 4519"),
60 /** */
61 person("2.5.6.6", "RFC 4519"),
62 /** */
63 organizationalPerson("2.5.6.7", "RFC 4519"),
64 /** */
65 organizationalRole("2.5.6.8", "RFC 4519"),
66 /** */
67 groupOfNames("2.5.6.9", "RFC 4519"),
68 /** */
69 residentialPerson("2.5.6.10", "RFC 4519"),
70 /** */
71 applicationProcess("2.5.6.11", "RFC 4519"),
72 /** */
73 device("2.5.6.14", "RFC 4519"),
74 /** */
75 strongAuthenticationUser("2.5.6.15", "RFC 4523"),
76 /** */
77 certificationAuthority("2.5.6.16", "RFC 4523"),
78 // /** Should be certificationAuthority-V2 */
79 // certificationAuthority_V2("2.5.6.16.2", "RFC 4523") {
80 // },
81 /** */
82 groupOfUniqueNames("2.5.6.17", "RFC 4519"),
83 /** */
84 userSecurityInformation("2.5.6.18", "RFC 4523"),
85 /** */
86 cRLDistributionPoint("2.5.6.19", "RFC 4523"),
87 /** */
88 pkiUser("2.5.6.21", "RFC 4523"),
89 /** */
90 pkiCA("2.5.6.22", "RFC 4523"),
91 /** */
92 deltaCRL("2.5.6.23", "RFC 4523"),
93 /** */
94 subschema("2.5.20.1", "RFC 4512"),
95 /** */
96 ldapSubEntry("2.16.840.1.113719.2.142.6.1.1", "draft-ietf-ldup-subentry"),
97 /** */
98 changeLogEntry("2.16.840.1.113730.3.2.1", "draft-good-ldap-changelog"),
99 /** */
100 inetOrgPerson("2.16.840.1.113730.3.2.2", "RFC 2798"),
101 /** */
102 referral("2.16.840.1.113730.3.2.6", "RFC 3296"),
103
104 // RFC 2307bis (partial)
105 /** */
106 posixAccount("1.3.6.1.1.1.2.0", "RFC 2307bis"),
107 /** */
108 posixGroup("1.3.6.1.1.1.2.2", "RFC 2307bis"),
109
110 //
111 ;
112
113 private final String oid, spec;
114 private final QName value;
115
116 private LdapObj(String oid, String spec) {
117 this.oid = oid;
118 this.spec = spec;
119 this.value = new ContentName(ArgeoNamespace.LDAP_NAMESPACE_URI, name());
120 }
121
122 public QName qName() {
123 return value;
124 }
125
126 public String getOid() {
127 return oid;
128 }
129
130 public String getSpec() {
131 return spec;
132 }
133
134 @Deprecated
135 public String property() {
136 return get();
137 }
138
139 /** #deprecated use {@link #qName()} instead. */
140 // @Deprecated
141 public String get() {
142 return RuntimeNamespaceContext.getNamespaceContext().getPrefix(LDAP_NAMESPACE_URI) + ":" + name();
143 }
144
145 @Override
146 public String getNamespace() {
147 return LDAP_NAMESPACE_URI;
148 }
149
150 @Override
151 public String getDefaultPrefix() {
152 return LDAP_DEFAULT_PREFIX;
153 }
154
155 }