1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.api.ldap.model.schema.registries;
21
22
23 import java.util.Iterator;
24 import java.util.Map;
25
26 import org.apache.directory.api.i18n.I18n;
27 import org.apache.directory.api.ldap.model.exception.LdapException;
28 import org.apache.directory.api.ldap.model.exception.LdapNoSuchAttributeException;
29 import org.apache.directory.api.ldap.model.exception.LdapUnwillingToPerformException;
30 import org.apache.directory.api.ldap.model.message.ResultCodeEnum;
31 import org.apache.directory.api.ldap.model.schema.AttributeType;
32 import org.apache.directory.api.ldap.model.schema.SchemaObjectType;
33 import org.apache.directory.api.ldap.model.schema.normalizers.OidNormalizer;
34
35
36
37
38
39
40
41 public class ImmutableAttributeTypeRegistry implements AttributeTypeRegistry
42 {
43
44 AttributeTypeRegistry immutableAttributeTypeRegistry;
45
46
47
48
49
50
51
52 public ImmutableAttributeTypeRegistry( AttributeTypeRegistry attributeTypeRegistry )
53 {
54 immutableAttributeTypeRegistry = attributeTypeRegistry;
55 }
56
57
58
59
60
61 @Override
62 public Map<String, OidNormalizer> getNormalizerMapping()
63 {
64 return immutableAttributeTypeRegistry.getNormalizerMapping();
65 }
66
67
68
69
70
71 @Override
72 public boolean hasDescendants( String ancestorId ) throws LdapException
73 {
74 return immutableAttributeTypeRegistry.hasDescendants( ancestorId );
75 }
76
77
78
79
80
81 @Override
82 public boolean hasDescendants( AttributeType ancestor ) throws LdapException
83 {
84 return immutableAttributeTypeRegistry.hasDescendants( ancestor );
85 }
86
87
88
89
90
91 @Override
92 public Iterator<AttributeType> descendants( String ancestorId ) throws LdapException
93 {
94 return immutableAttributeTypeRegistry.descendants( ancestorId );
95 }
96
97
98
99
100
101 @Override
102 public Iterator<AttributeType> descendants( AttributeType ancestor ) throws LdapException
103 {
104 return immutableAttributeTypeRegistry.descendants( ancestor );
105 }
106
107
108
109
110
111 @Override
112 public void register( AttributeType attributeType ) throws LdapException
113 {
114 throw new LdapUnwillingToPerformException( ResultCodeEnum.NO_SUCH_OPERATION, I18n.err( I18n.ERR_04275 ) );
115 }
116
117
118
119
120
121 @Override
122 public void registerDescendants( AttributeType attributeType, AttributeType ancestor ) throws LdapException
123 {
124 throw new LdapUnwillingToPerformException( ResultCodeEnum.NO_SUCH_OPERATION, I18n.err( I18n.ERR_04275 ) );
125 }
126
127
128
129
130
131 @Override
132 public void unregisterDescendants( AttributeType attributeType, AttributeType ancestor ) throws LdapException
133 {
134 throw new LdapUnwillingToPerformException( ResultCodeEnum.NO_SUCH_OPERATION, I18n.err( I18n.ERR_04275 ) );
135 }
136
137
138
139
140
141 @Override
142 public AttributeType unregister( String numericOid ) throws LdapException
143 {
144 throw new LdapUnwillingToPerformException( ResultCodeEnum.NO_SUCH_OPERATION,
145 "Cannot modify the AttributeTypeRegistry copy" );
146 }
147
148
149
150
151
152 @Override
153 public void addMappingFor( AttributeType attributeType ) throws LdapException
154 {
155 throw new LdapUnwillingToPerformException( ResultCodeEnum.NO_SUCH_OPERATION, I18n.err( I18n.ERR_04275 ) );
156 }
157
158
159
160
161
162 @Override
163 public void removeMappingFor( AttributeType attributeType ) throws LdapException
164 {
165 throw new LdapUnwillingToPerformException( ResultCodeEnum.NO_SUCH_OPERATION, I18n.err( I18n.ERR_04275 ) );
166 }
167
168
169
170
171
172 @Override
173 public AttributeType lookup( String oid ) throws LdapException
174 {
175 return immutableAttributeTypeRegistry.lookup( oid );
176 }
177
178
179
180
181
182 @Override
183 public String toString()
184 {
185 return immutableAttributeTypeRegistry.toString();
186 }
187
188
189
190
191
192 @Override
193 public AttributeTypeRegistry copy()
194 {
195 return immutableAttributeTypeRegistry.copy();
196 }
197
198
199
200
201
202 @Override
203 public int size()
204 {
205 return immutableAttributeTypeRegistry.size();
206 }
207
208
209
210
211
212 @Override
213 public Iterator<AttributeType> iterator()
214 {
215 return immutableAttributeTypeRegistry.iterator();
216 }
217
218
219
220
221
222 @Override
223 public Iterator<String> oidsIterator()
224 {
225 return immutableAttributeTypeRegistry.oidsIterator();
226 }
227
228
229
230
231
232 @Override
233 public boolean contains( String oid )
234 {
235 return immutableAttributeTypeRegistry.contains( oid );
236 }
237
238
239
240
241
242 @Override
243 public String getOidByName( String name ) throws LdapException
244 {
245 try
246 {
247 return immutableAttributeTypeRegistry.getOidByName( name );
248 }
249 catch ( LdapException le )
250 {
251 throw new LdapNoSuchAttributeException( le.getMessage(), le );
252 }
253 }
254
255
256
257
258
259 @Override
260 public String getSchemaName( String oid ) throws LdapException
261 {
262 return immutableAttributeTypeRegistry.getSchemaName( oid );
263 }
264
265
266
267
268
269 @Override
270 public SchemaObjectType getType()
271 {
272 return immutableAttributeTypeRegistry.getType();
273 }
274
275
276
277
278
279 @Override
280 public void renameSchema( String originalSchemaName, String newSchemaName )
281 {
282
283 }
284
285
286
287
288
289 @Override
290 public void unregisterSchemaElements( String schemaName ) throws LdapException
291 {
292 throw new LdapUnwillingToPerformException( ResultCodeEnum.NO_SUCH_OPERATION, I18n.err( I18n.ERR_04275 ) );
293 }
294
295
296
297
298
299 @Override
300 public AttributeType get( String oid )
301 {
302 return immutableAttributeTypeRegistry.get( oid );
303 }
304
305
306
307
308
309 @Override
310 public void clear() throws LdapException
311 {
312 throw new LdapUnwillingToPerformException( ResultCodeEnum.NO_SUCH_OPERATION, I18n.err( I18n.ERR_04275 ) );
313 }
314
315
316
317
318
319 @Override
320 public AttributeType unregister( AttributeType schemaObject ) throws LdapException
321 {
322 throw new LdapUnwillingToPerformException( ResultCodeEnum.NO_SUCH_OPERATION, I18n.err( I18n.ERR_04275 ) );
323 }
324 }