View Javadoc
1   /*
2    *   Licensed to the Apache Software Foundation (ASF) under one
3    *   or more contributor license agreements.  See the NOTICE file
4    *   distributed with this work for additional information
5    *   regarding copyright ownership.  The ASF licenses this file
6    *   to you under the Apache License, Version 2.0 (the
7    *   "License"); you may not use this file except in compliance
8    *   with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   *   Unless required by applicable law or agreed to in writing,
13   *   software distributed under the License is distributed on an
14   *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   *   KIND, either express or implied.  See the License for the
16   *   specific language governing permissions and limitations
17   *   under the License.
18   *
19   */
20  
21  package org.apache.directory.api.i18n;
22  
23  
24  import java.text.MessageFormat;
25  import java.util.Locale;
26  import java.util.MissingResourceException;
27  import java.util.ResourceBundle;
28  
29  
30  /**
31   * Provides i18n handling of error codes.
32   * About formatting see also {@link MessageFormat}
33   *
34   * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
35   */
36  public enum I18n
37  {
38      // asn1
39      ERR_00001_BAD_TRANSITION_FROM_STATE("ERR_00001_BAD_TRANSITION_FROM_STATE"),
40      ERR_00002_BAD_TRANSITION("ERR_00002_BAD_TRANSITION"),
41      ERR_00003_CANNOT_PUT_PDU_IN_NULL_BUFFER("ERR_00003_CANNOT_PUT_PDU_IN_NULL_BUFFER"),
42      ERR_00004_PDU_BUFFER_SIZE_TOO_SMALL("ERR_00004_PDU_BUFFER_SIZE_TOO_SMALL"),
43      ERR_00005_LENGTH_OVERFLOW("ERR_00005_LENGTH_OVERFLOW"),
44      ERR_00006_LENGTH_EXTENSION_RESERVED("ERR_00006_LENGTH_EXTENSION_RESERVED"),
45      ERR_00007_TLV_NULL("ERR_00007_TLV_NULL"),
46      ERR_00008_VALUE_LENGTH_ABOVE_EXPECTED_LENGTH("ERR_00008_VALUE_LENGTH_ABOVE_EXPECTED_LENGTH"),
47      ERR_00009_MORE_TLV_EXPECTED("ERR_00009_MORE_TLV_EXPECTED"),
48      ERR_00010_TRUNCATED_PDU("ERR_00010_TRUNCATED_PDU"),
49      ERR_00011_LENGTH_TOO_LONG_FOR_DEFINITE_FORM("ERR_00011_LENGTH_TOO_LONG_FOR_DEFINITE_FORM"),
50      ERR_00013_ODD_NUM_OF_CHARS("ERR_00013_ODD_NUM_OF_CHARS"),
51      ERR_00014_ILLEGAL_HEX_CHAR("ERR_00014_ILLEGAL_HEX_CHAR"),
52      ERR_00016_END_OF_STREAM("ERR_00016_END_OF_STREAM"),
53      ERR_00017_EOF_FOUND_LENGTH_EXPECTED("ERR_00017_EOF_FOUND_LENGTH_EXPECTED"),
54      ERR_00018_DER_LENGTH_ABOVE_4_BYTES("ERR_00018_DER_LENGTH_ABOVE_4_BYTES"),
55      ERR_00019_EOF_FOUND_IN_LENGTH("ERR_00019_EOF_FOUND_IN_LENGTH"),
56      ERR_00020_CORRUPTED_STREAM("ERR_00020_CORRUPTED_STREAM"),
57      ERR_00021_EOF_FOUND_IN_OBJECT("ERR_00021_EOF_FOUND_IN_OBJECT"),
58      ERR_00022_READ_PAST_END_OF_FILE("ERR_00022_READ_PAST_END_OF_FILE"),
59      ERR_00023_UNKNOWN_BER_OBJECT("ERR_00023_UNKNOWN_BER_OBJECT"),
60      ERR_00024_OBJECT_NOT_DER_ENCODABLE("ERR_00024_OBJECT_NOT_DER_ENCODABLE"),
61      ERR_00025_DER_OCTET_STRING_EXPECTED("ERR_DER_OCTET_STRING_EXPECTED_00025"),
62      ERR_00026_CANNOT_CONVERT_OCTETS("ERR_00026_CANNOT_CONVERT_OCTETS"),
63      ERR_00027_NOT_IMPLEMENTED("ERR_00027_NOT_IMPLEMENTED"),
64      ERR_00028_INTERNAL_ERROR_ENCODING_BITSTRING("ERR_00028_INTERNAL_ERROR_ENCODING_BITSTRING"),
65      ERR_00029_NULL_OR_NEG_LENGTH_NOT_ALLOWED("ERR_00029_NULL_OR_NEG_LENGTH_NOT_ALLOWED"),
66      ERR_00030_BIT_NUMBER_OUT_OF_BOUND("ERR_00030_BIT_NUMBER_OUT_OF_BOUND"),
67      ERR_00031_CANNOT_FIND_BIT("ERR_00031_CANNOT_FIND_BIT"),
68      ERR_00032_NULL_OID("ERR_00032_NULL_OID"),
69      ERR_00033_INVALID_OID("ERR_00033_INVALID_OID"),
70      ERR_00034_0_BYTES_LONG_BOOLEAN("ERR_00034_0_BYTES_LONG_BOOLEAN"),
71      ERR_00035_N_BYTES_LONG_BOOLEAN("ERR_00035_N_BYTES_LONG_BOOLEAN"),
72      ERR_00036_0_BYTES_LONG_INTEGER("ERR_00036_0_BYTES_LONG_INTEGER"),
73      ERR_00037_ABOVE_4_BYTES_INTEGER("ERR_00037_ABOVE_4_BYTES_INTEGER"),
74      ERR_00038_VALUE_NOT_IN_RANGE("ERR_00038_VALUE_NOT_IN_RANGE"),
75      ERR_00039_0_BYTES_LONG_LONG("ERR_00039_0_BYTES_LONG_LONG"),
76      ERR_00041_CURRENT_LENGTH_EXCEED_EXPECTED_LENGTH("ERR_00041_CURRENT_LENGTH_EXCEED_EXPECTED_LENGTH"),
77      ERR_00042_PDU_SIZE_TOO_LONG("ERR_00042_PDU_SIZE_TOO_LONG"),
78      ERR_00043_REMAINING_BYTES_FOR_DECODED_PDU("ERR_00043_REMAINING_BYTES_FOR_DECODED_PDU"),
79  
80      // cursor
81      ERR_02001_MONITOR("ERR_02001_MONITOR"),
82      ERR_02002_FAILURE_ON_UNDERLYING_CURSOR("ERR_02002_FAILURE_ON_UNDERLYING_CURSOR"),
83      ERR_02003_REMOVAL_NOT_SUPPORTED("ERR_02003_REMOVAL_NOT_SUPPORTED"),
84      ERR_02004_EMPTY_CURSOR("ERR_02004_EMPTY_CURSOR"),
85      ERR_02005_START_INDEX_OUT_OF_RANGE("ERR_02005_START_INDEX_OUT_OF_RANGE"),
86      ERR_02006_END_INDEX_OUT_OF_RANGE("ERR_02006_END_INDEX_OUT_OF_RANGE"),
87      ERR_02007_START_INDEX_ABOVE_END_INDEX("ERR_02007_START_INDEX_ABOVE_END_INDEX"),
88      ERR_02008_LIST_MAY_BE_SORTED("ERR_02008_LIST_MAY_BE_SORTED"),
89      ERR_02009_CURSOR_NOT_POSITIONED("ERR_02009_CURSOR_NOT_POSITIONED"),
90      ERR_02010_NO_COMPARATOR_CANT_MOVE_BEFORE("ERR_02010_NO_COMPARATOR_CANT_MOVE_BEFORE"),
91      ERR_02011_NO_COMPARATOR_CANT_MOVE_AFTER("ERR_02011_NO_COMPARATOR_CANT_MOVE_AFTER"),
92      ERR_02012_CANNOT_ACCESS_IF_BEFORE_FIRST("ERR_02012_CANNOT_ACCESS_IF_BEFORE_FIRST"),
93      ERR_02013_CANNOT_ACCESS_IF_AFTER_LAST("ERR_02013_CANNOT_ACCESS_IF_AFTER_LAST"),
94      ERR_02014_UNSUPPORTED_OPERATION("ERR_02014_UNSUPPORTED_OPERATION"),
95  
96      // dsml-parser
97      ERR_03001("ERR_03001"),
98      ERR_03002("ERR_03002"),
99      ERR_03003("ERR_03003"),
100     ERR_03004("ERR_03004"),
101     ERR_03005("ERR_03005"),
102     ERR_03006("ERR_03006"),
103     ERR_03007("ERR_03007"),
104     ERR_03008("ERR_03008"),
105     ERR_03009("ERR_03009"),
106     ERR_03010("ERR_03010"),
107     ERR_03011("ERR_03011"),
108     ERR_03012("ERR_03012"),
109     ERR_03013("ERR_03013"),
110     ERR_03014("ERR_03014"),
111     ERR_03015("ERR_03015"),
112     ERR_03016("ERR_03016"),
113     ERR_03017("ERR_03017"),
114     ERR_03018("ERR_03018"),
115     ERR_03019("ERR_03019"),
116     ERR_03020("ERR_03020"),
117     ERR_03021("ERR_03021"),
118     ERR_03022("ERR_03022"),
119     ERR_03023("ERR_03023"),
120     ERR_03024("ERR_03024"),
121     ERR_03025("ERR_00025"),
122     ERR_03026("ERR_03026"),
123     ERR_03027("ERR_03027"),
124     ERR_03028("ERR_03028"),
125     ERR_03029("ERR_03029"),
126     ERR_03030("ERR_03030"),
127     ERR_03031("ERR_03031"),
128     ERR_03032("ERR_03032"),
129     ERR_03033("ERR_03033"),
130     ERR_03034("ERR_03034"),
131     ERR_03035("ERR_03035"),
132     ERR_03036("ERR_03036"),
133     ERR_03037("ERR_03037"),
134     ERR_03038("ERR_03038"),
135     ERR_03039("ERR_03039"),
136     ERR_03040("ERR_03040"),
137 
138     // dsml-engine
139     ERR_03101_MISSING_CONNECTION_TO("ERR_03101_MISSING_CONNECTION_TO"),
140 
141     // ldap
142     ERR_04001_NULL_IDENTIFICATION_TAG("ERR_04001_NULL_IDENTIFICATION_TAG"),
143     ERR_04002_BAD_PRECENDENCE("ERR_04002_BAD_PRECENDENCE"),
144     ERR_04003_NULL_AUTHENTICATION_LEVEL("ERR_04003_NULL_AUTHENTICATION_LEVEL"),
145     ERR_04004_PARSER_FAILURE_ACI_ITEM("ERR_04004_PARSER_FAILURE_ACI_ITEM"),
146     ERR_04005("ERR_04005"),
147     ERR_04006("ERR_04006"),
148     ERR_04007("ERR_04007"),
149     ERR_04008("ERR_04008"),
150     ERR_04009("ERR_04009"),
151     ERR_04010("ERR_04010"),
152     ERR_04011("ERR_04011"),
153     ERR_04012("ERR_04012"),
154     ERR_04013("ERR_04013"),
155     ERR_04014("ERR_04014"),
156     ERR_04015("ERR_04015"),
157     ERR_04016("ERR_04016"),
158     ERR_04017("ERR_04017"),
159     ERR_04018("ERR_04018"),
160     ERR_04019("ERR_04019"),
161     ERR_04020("ERR_04020"),
162     ERR_04021("ERR_04021"),
163     ERR_04022("ERR_04022"),
164     ERR_04023("ERR_04023"),
165     ERR_04024("ERR_04024"),
166     ERR_04025("ERR_04025"),
167     ERR_04026("ERR_04026"),
168     ERR_04027("ERR_04027"),
169     ERR_04028("ERR_04028"),
170     ERR_04029("ERR_04029"),
171     ERR_04030("ERR_04030"),
172     ERR_04031("ERR_04031"),
173     ERR_04032("ERR_04032"),
174     ERR_04033("ERR_04033"),
175     ERR_04034("ERR_04034"),
176     ERR_04035("ERR_04035"),
177     ERR_04036("ERR_04036"),
178     ERR_04037("ERR_04037"),
179     ERR_04038("ERR_04038"),
180     ERR_04039("ERR_04039"),
181     ERR_04040("ERR_04040"),
182     ERR_04041("ERR_04041"),
183     ERR_04042("ERR_04042"),
184     ERR_04043("ERR_04043"),
185     ERR_04044("ERR_04044"),
186     ERR_04045("ERR_04045"),
187     ERR_04046("ERR_04046"),
188     ERR_04047("ERR_04047"),
189     ERR_04048("ERR_04048"),
190     ERR_04049("ERR_04049"),
191     ERR_04050("ERR_04050"),
192     ERR_04051("ERR_04051"),
193     ERR_04052("ERR_04052"),
194     ERR_04053("ERR_04053"),
195     ERR_04054("ERR_04054"),
196     ERR_04055("ERR_04055"),
197     ERR_04056("ERR_04056"),
198     ERR_04057("ERR_04057"),
199     ERR_04058("ERR_04058"),
200     ERR_04059("ERR_04059"),
201     ERR_04060("ERR_04060"),
202     ERR_04061("ERR_04061"),
203     ERR_04062("ERR_04062"),
204     ERR_04063("ERR_04063"),
205     ERR_04064("ERR_04064"),
206     ERR_04065("ERR_04065"),
207     ERR_04066("ERR_04066"),
208     ERR_04067("ERR_04067"),
209     ERR_04068("ERR_04068"),
210     ERR_04069("ERR_04069"),
211     ERR_04070("ERR_04070"),
212     ERR_04071("ERR_04071"),
213     ERR_04072("ERR_04072"),
214     ERR_04073("ERR_04073"),
215     ERR_04074("ERR_04074"),
216     ERR_04075("ERR_04075"),
217     ERR_04076("ERR_04076"),
218     ERR_04077("ERR_04077"),
219     ERR_04078("ERR_04078"),
220     ERR_04079("ERR_04079"),
221     ERR_04080("ERR_04080"),
222     ERR_04081("ERR_04081"),
223     ERR_04082("ERR_04082"),
224     ERR_04083("ERR_04083"),
225     ERR_04084("ERR_04084"),
226     ERR_04085("ERR_04085"),
227     ERR_04086("ERR_04086"),
228     ERR_04087("ERR_04087"),
229     ERR_04088("ERR_04088"),
230     ERR_04089("ERR_04089"),
231     ERR_04090("ERR_04090"),
232     ERR_04091("ERR_04091"),
233     ERR_04092("ERR_04092"),
234     ERR_04093("ERR_04093"),
235     ERR_04094("ERR_04094"),
236     ERR_04095("ERR_04095"),
237     ERR_04096("ERR_04096"),
238     ERR_04097("ERR_04097"),
239     ERR_04098("ERR_04098"),
240     ERR_04099("ERR_04099"),
241     ERR_04100("ERR_04100"),
242     ERR_04101("ERR_04101"),
243     ERR_04102("ERR_04102"),
244     ERR_04103("ERR_04103"),
245     ERR_04104("ERR_04104"),
246     ERR_04105("ERR_04105"),
247     ERR_04106("ERR_04106"),
248     ERR_04107("ERR_04107"),
249     ERR_04108("ERR_04108"),
250     ERR_04109("ERR_04109"),
251     ERR_04110("ERR_04110"),
252     ERR_04111("ERR_04111"),
253     ERR_04112("ERR_04112"),
254     ERR_04113("ERR_04113"),
255     ERR_04114("ERR_04114"),
256     ERR_04115("ERR_04115"),
257     ERR_04116("ERR_04116"),
258     ERR_04117("ERR_04117"),
259     ERR_04118("ERR_04118"),
260     ERR_04119("ERR_04119"),
261     ERR_04120("ERR_04120"),
262     ERR_04121("ERR_04121"),
263     ERR_04122("ERR_04122"),
264     ERR_04123("ERR_04123"),
265     ERR_04124("ERR_04124"),
266     ERR_04125("ERR_04125"),
267     ERR_04126("ERR_04126"),
268     ERR_04127("ERR_04127"),
269     ERR_04128("ERR_04128"),
270     ERR_04129("ERR_04129"),
271     ERR_04130("ERR_04130"),
272     ERR_04131("ERR_04131"),
273     ERR_04132("ERR_04132"),
274     ERR_04133("ERR_04133"),
275     ERR_04134("ERR_04134"),
276     ERR_04135("ERR_04135"),
277     ERR_04136("ERR_04136"),
278     ERR_04137("ERR_04137"),
279     ERR_04138("ERR_04138"),
280     ERR_04139("ERR_04139"),
281     ERR_04140_UNACCEPTABLE_RESULT_CODE("ERR_04140_UNACCEPTABLE_RESULT_CODE"),
282     ERR_04141("ERR_04141"),
283     ERR_04142("ERR_04142"),
284     ERR_04143("ERR_04143"),
285     ERR_04144("ERR_04144"),
286     ERR_04145("ERR_04145"),
287     ERR_04146("ERR_04146"),
288     ERR_04147("ERR_04147"),
289     ERR_04148("ERR_04148"),
290     ERR_04149("ERR_04149"),
291     ERR_04150("ERR_04150"),
292     ERR_04151("ERR_04151"),
293     ERR_04152("ERR_04152"),
294     ERR_04153("ERR_04153"),
295     ERR_04154("ERR_04154"),
296     ERR_04155("ERR_04155"),
297     ERR_04156("ERR_04156"),
298     ERR_04157("ERR_04157"),
299     ERR_04158("ERR_04158"),
300     ERR_04159("ERR_04159"),
301     ERR_04160("ERR_04160"),
302     ERR_04161("ERR_04161"),
303     ERR_04162("ERR_04162"),
304     ERR_04163("ERR_04163"),
305     ERR_04164("ERR_04164"),
306     ERR_04165("ERR_04165"),
307     ERR_04166("ERR_04166"),
308     ERR_04167("ERR_04167"),
309     ERR_04168("ERR_04168"),
310     ERR_04169("ERR_04169"),
311     ERR_04170("ERR_04170"),
312     ERR_04171("ERR_04171"),
313     ERR_04172("ERR_04172"),
314     ERR_04173("ERR_04173"),
315     ERR_04174("ERR_04174"),
316     ERR_04175("ERR_04175"),
317     ERR_04176("ERR_04176"),
318     ERR_04177("ERR_04177"),
319     ERR_04178("ERR_04178"),
320     ERR_04179("ERR_04179"),
321     ERR_04180("ERR_04180"),
322     ERR_04181("ERR_04181"),
323     ERR_04182("ERR_04182"),
324     ERR_04183("ERR_04183"),
325     ERR_04184("ERR_04184"),
326     ERR_04185("ERR_04185"),
327     ERR_04186("ERR_04186"),
328     ERR_04187("ERR_04187"),
329     ERR_04188("ERR_04188"),
330     ERR_04189("ERR_04189"),
331     ERR_04190("ERR_04190"),
332     ERR_04191("ERR_04191"),
333     ERR_04192("ERR_04192"),
334     ERR_04193("ERR_04193"),
335     ERR_04194("ERR_04194"),
336     ERR_04195("ERR_04195"),
337     ERR_04196("ERR_04196"),
338     ERR_04197("ERR_04197"),
339     ERR_04198("ERR_04198"),
340     ERR_04199("ERR_04199"),
341     ERR_04200("ERR_04200"),
342     ERR_04201("ERR_04201"),
343     ERR_04202("ERR_04202"),
344     ERR_04203("ERR_04203"),
345     ERR_04204("ERR_04204"),
346     ERR_04205("ERR_04205"),
347     ERR_04206("ERR_04206"),
348     ERR_04207("ERR_04207"),
349     ERR_04208("ERR_04208"),
350     ERR_04209_EMPTY_TYPE_NOT_ALLOWED("ERR_04209_EMPTY_TYPE_NOT_ALLOWED"),
351     ERR_04210("ERR_04210"),
352     ERR_04211("ERR_04211"),
353     ERR_04212("ERR_04212"),
354     ERR_04213("ERR_04213"),
355     ERR_04214("ERR_04214"),
356     ERR_04215("ERR_04215"),
357     ERR_04216("ERR_04216"),
358     ERR_04217("ERR_04217"),
359     ERR_04218("ERR_04218"),
360     ERR_04219_ARGUMENT1_NULL("ERR_04219_ARGUMENT1_NULL"),
361     ERR_04220_ARGUMENT2_NULL("ERR_04220_ARGUMENT2_NULL"),
362     ERR_04221("ERR_04221"),
363     ERR_04222("ERR_04222"),
364     ERR_04223("ERR_04223"),
365     ERR_04224("ERR_04224"),
366     ERR_04225("ERR_04225"),
367     ERR_04226("ERR_04226"),
368     ERR_04227("ERR_04227"),
369     ERR_04228("ERR_04228"),
370     ERR_04229("ERR_04229"),
371     ERR_04230("ERR_04230"),
372     ERR_04231("ERR_04231"),
373     ERR_04232("ERR_04232"),
374     ERR_04233("ERR_04233"),
375     ERR_04234("ERR_04234"),
376     ERR_04235("ERR_04235"),
377     ERR_04236("ERR_04236"),
378     ERR_04237("ERR_04237"),
379     ERR_04238("ERR_04238"),
380     ERR_04239("ERR_04239"),
381     ERR_04240("ERR_04240"),
382     ERR_04241("ERR_04241"),
383     ERR_04242("ERR_04242"),
384     ERR_04243("ERR_04243"),
385     ERR_04244("ERR_04244"),
386     ERR_04245("ERR_04245"),
387     ERR_04246("ERR_04246"),
388     ERR_04247("ERR_04247"),
389     ERR_04248("ERR_04248"),
390     ERR_04249("ERR_04249"),
391     ERR_04250("ERR_04250"),
392     ERR_04251("ERR_04251"),
393     ERR_04252("ERR_04252"),
394     ERR_04253("ERR_04253"),
395     ERR_04254("ERR_04254"),
396     ERR_04255("ERR_04255"),
397     ERR_04256("ERR_04256"),
398     ERR_04257("ERR_04257"),
399     ERR_04258("ERR_04258"),
400     ERR_04259("ERR_04259"),
401     ERR_04260("ERR_04260"),
402     ERR_04261("ERR_04261"),
403     ERR_04262("ERR_04262"),
404     ERR_04263("ERR_04263"),
405     ERR_04264("ERR_04264"),
406     ERR_04265("ERR_04265"),
407     ERR_04266("ERR_04266"),
408     ERR_04267("ERR_04267"),
409     ERR_04268_OID_NOT_FOUND("ERR_04268_OID_NOT_FOUND"),
410     ERR_04269("ERR_04269"),
411     ERR_04270("ERR_04270"),
412     ERR_04271("ERR_04271"),
413     ERR_04272("ERR_04272"),
414     ERR_04273("ERR_04273"),
415     ERR_04274("ERR_04274"),
416     ERR_04275("ERR_04275"),
417     ERR_04276("ERR_04276"),
418     ERR_04277("ERR_04277"),
419     ERR_04278("ERR_04278"),
420     ERR_04279("ERR_04279"),
421     ERR_04280("ERR_04280"),
422     ERR_04281("ERR_04281"),
423     ERR_04282("ERR_04282"),
424     ERR_04283("ERR_04283"),
425     ERR_04284("ERR_04284"),
426     ERR_04285("ERR_04285"),
427     ERR_04286("ERR_04286"),
428     ERR_04287("ERR_04287"),
429     ERR_04288("ERR_04288"),
430     ERR_04289("ERR_04289"),
431     ERR_04290("ERR_04290"),
432     ERR_04291("ERR_04291"),
433     ERR_04292("ERR_04292"),
434     ERR_04293("ERR_04293"),
435     ERR_04294("ERR_04294"),
436     ERR_04295("ERR_04295"),
437     ERR_04296("ERR_04296"),
438     ERR_04297("ERR_04297"),
439     ERR_04298("ERR_04298"),
440     ERR_04299("ERR_04299"),
441     ERR_04300("ERR_04300"),
442     ERR_04301("ERR_04301"),
443     ERR_04302("ERR_04302"),
444     ERR_04303("ERR_04303"),
445     ERR_04304("ERR_04304"),
446     ERR_04305("ERR_04305"),
447     ERR_04306("ERR_04306"),
448     ERR_04307("ERR_04307"),
449     ERR_04308("ERR_04308"),
450     ERR_04309("ERR_04309"),
451     ERR_04310("ERR_04310"),
452     ERR_04311("ERR_04311"),
453     ERR_04312("ERR_04312"),
454     ERR_04313("ERR_04313"),
455     ERR_04314("ERR_04314"),
456     ERR_04315("ERR_04315"),
457     ERR_04316("ERR_04316"),
458     ERR_04317("ERR_04317"),
459     ERR_04318("ERR_04318"),
460     ERR_04319("ERR_04319"),
461     ERR_04320("ERR_04320"),
462     ERR_04321("ERR_04321"),
463     ERR_04322("ERR_04322"),
464     ERR_04323("ERR_04323"),
465     ERR_04324("ERR_04324"),
466     ERR_04325("ERR_04325"),
467     ERR_04326("ERR_04326"),
468     ERR_04327("ERR_04327"),
469     ERR_04328("ERR_04328"),
470     ERR_04329("ERR_04329"),
471     ERR_04330("ERR_04330"),
472     ERR_04331("ERR_04331"),
473     ERR_04332("ERR_04332"),
474     ERR_04333("ERR_04333"),
475     ERR_04334("ERR_04334"),
476     ERR_04335("ERR_04335"),
477     ERR_04336("ERR_04336"),
478     ERR_04337("ERR_04337"),
479     ERR_04338("ERR_04338"),
480     ERR_04339("ERR_04339"),
481     ERR_04340("ERR_04340"),
482     ERR_04341("ERR_04341"),
483     ERR_04342("ERR_04342"),
484     ERR_04343("ERR_04343"),
485     ERR_04344("ERR_04344"),
486     ERR_04345("ERR_04345"),
487     ERR_04346("ERR_04346"),
488     ERR_04347("ERR_04347"),
489     ERR_04348("ERR_04348"),
490     ERR_04349("ERR_04349"),
491     ERR_04350("ERR_04350"),
492     ERR_04351("ERR_04351"),
493     ERR_04352("ERR_04352"),
494     ERR_04353("ERR_04353"),
495     ERR_04354("ERR_04354"),
496     ERR_04355("ERR_04355"),
497     ERR_04356("ERR_04356"),
498     ERR_04357("ERR_04357"),
499     ERR_04358("ERR_04358"),
500     ERR_04359("ERR_04359"),
501     ERR_04360("ERR_04360"),
502     ERR_04361("ERR_04361"),
503     ERR_04362("ERR_04362"),
504     ERR_04363("ERR_04363"),
505     ERR_04364("ERR_04364"),
506     ERR_04365("ERR_04365"),
507     ERR_04366("ERR_04366"),
508     ERR_04367("ERR_04367"),
509     ERR_04368("ERR_04368"),
510     ERR_04369("ERR_04369"),
511     ERR_04370("ERR_04370"),
512     ERR_04371("ERR_04371"),
513     ERR_04372("ERR_04372"),
514     ERR_04373("ERR_04373"),
515     ERR_04374("ERR_04374"),
516     ERR_04375("ERR_04375"),
517     ERR_04376("ERR_04376"),
518     ERR_04377("ERR_04377"),
519     ERR_04378("ERR_04378"),
520     ERR_04379("ERR_04379"),
521     ERR_04380("ERR_04380"),
522     ERR_04381("ERR_04381"),
523     ERR_04382("ERR_04382"),
524     ERR_04383("ERR_04383"),
525     ERR_04384("ERR_04384"),
526     ERR_04385("ERR_04385"),
527     ERR_04386("ERR_04386"),
528     ERR_04387("ERR_04387"),
529     ERR_04388("ERR_04388"),
530     ERR_04389("ERR_04389"),
531     ERR_04390("ERR_04390"),
532     ERR_04391("ERR_04391"),
533     ERR_04392("ERR_04392"),
534     ERR_04393("ERR_04393"),
535     ERR_04394("ERR_04394"),
536     ERR_04395("ERR_04395"),
537     ERR_04396("ERR_04396"),
538     ERR_04397("ERR_04397"),
539     ERR_04398("ERR_04398"),
540     ERR_04399("ERR_04399"),
541     ERR_04400("ERR_04400"),
542     ERR_04401("ERR_04401"),
543     ERR_04402("ERR_04402"),
544     ERR_04403("ERR_04403"),
545     ERR_04404("ERR_04404"),
546     ERR_04405("ERR_04405"),
547     ERR_04406("ERR_04406"),
548     ERR_04407("ERR_04407"),
549     ERR_04408("ERR_04408"),
550     ERR_04409("ERR_04409"),
551     ERR_04410("ERR_04410"),
552     ERR_04411("ERR_04411"),
553     ERR_04412("ERR_04412"),
554     ERR_04413("ERR_04413"),
555     ERR_04414("ERR_04414"),
556     ERR_04415("ERR_04415"),
557     ERR_04416("ERR_04416"),
558     ERR_04417("ERR_04417"),
559     ERR_04418("ERR_04418"),
560     ERR_04419("ERR_04419"),
561     ERR_04420("ERR_04420"),
562     ERR_04421("ERR_04421"),
563     ERR_04422("ERR_04422"),
564     ERR_04423("ERR_04423"),
565     ERR_04424("ERR_04424"),
566     ERR_04425("ERR_04425"),
567     ERR_04426("ERR_04426"),
568     ERR_04427("ERR_04427"),
569     ERR_04428("ERR_04428"),
570     ERR_04429("ERR_04429"),
571     ERR_04430("ERR_04430"),
572     ERR_04431("ERR_04431"),
573     ERR_04432("ERR_04432"),
574     ERR_04433("ERR_04433"),
575     ERR_04434("ERR_04434"),
576     ERR_04435("ERR_04435"),
577     ERR_04436("ERR_04436"),
578     ERR_04437("ERR_04437"),
579     ERR_04438("ERR_04438"),
580     ERR_04439("ERR_04439"),
581     ERR_04440("ERR_04440"),
582     ERR_04441("ERR_04441"),
583     ERR_04442_NOT_EXISTING_ATRIBUTE_TYPE("ERR_04442_NOT_EXISTING_ATRIBUTE_TYPE"),
584     ERR_04443("ERR_04443"),
585     ERR_04444("ERR_04444"),
586     ERR_04445("ERR_04445"),
587     ERR_04446("ERR_04446"),
588     ERR_04447_CANNOT_NORMALIZE_VALUE("ERR_04447_CANNOT_NORMALIZE_VALUE"),
589     ERR_04448("ERR_04448"),
590     ERR_04449("ERR_04449"),
591     ERR_04450("ERR_04450"),
592     ERR_04451("ERR_04451"),
593     ERR_04452("ERR_04452"),
594     ERR_04453("ERR_04453"),
595     ERR_04454("ERR_04454"),
596     ERR_04455("ERR_04455"),
597     ERR_04456("ERR_04456"),
598     ERR_04457_NULL_ATTRIBUTE_ID("ERR_04457_NULL_ATTRIBUTE_ID"),
599     ERR_04458("ERR_04458"),
600     ERR_04459("ERR_04459"),
601     ERR_04460_ATTRIBUTE_TYPE_NULL_NOT_ALLOWED("ERR_04460_ATTRIBUTE_TYPE_NULL_NOT_ALLOWED"),
602     ERR_04461("ERR_04461"),
603     ERR_04462("ERR_04462"),
604     ERR_04463("ERR_04463"),
605     ERR_04464("ERR_04464"),
606     ERR_04465("ERR_04465"),
607     ERR_04466("ERR_04466"),
608     ERR_04467("ERR_04467"),
609     ERR_04468("ERR_04468"),
610     ERR_04469("ERR_04469"),
611     ERR_04470("ERR_04470"),
612     ERR_04471("ERR_04471"),
613     ERR_04472("ERR_04472"),
614     ERR_04473_NOT_VALID_VALUE("ERR_04473_NOT_VALID_VALUE"),
615     ERR_04474("ERR_04474"),
616     ERR_04475("ERR_04475"),
617     ERR_04476("ERR_04476"),
618     ERR_04477_NO_VALID_AT_FOR_THIS_ID("ERR_04477_NO_VALID_AT_FOR_THIS_ID"),
619     ERR_04478_NO_VALUE_NOT_ALLOWED("ERR_04478_NO_VALUE_NOT_ALLOWED"),
620     ERR_04479_INVALID_SYNTAX_VALUE("ERR_04479_INVALID_SYNTAX_VALUE"),
621     ERR_04480_END_OF_STREAM("ERR_04480_END_OF_STREAM"),
622     ERR_04481_ENTRY_NULL_VALUE("ERR_04481_ENTRY_NULL_VALUE"),
623     ERR_04482_CANNOT_SUBTYPE_COLLECTIVE("ERR_04482_CANNOT_SUBTYPE_COLLECTIVE"),
624     ERR_04483_COLLECTIVE_NOT_MULTI_VALUED("ERR_04483_COLLECTIVE_NOT_MULTI_VALUED"),
625     ERR_04484_COLLECTIVE_NOT_ALLOWED_IN_MUST("ERR_04484_COLLECTIVE_NOT_ALLOWED_IN_MUST"),
626     ERR_04485_COLLECTIVE_NOT_ALLOWED_IN_MAY("ERR_04485_COLLECTIVE_NOT_ALLOWED_IN_MAY"),
627     ERR_04486_VALUE_ALREADY_EXISTS("ERR_04486_VALUE_ALREADY_EXISTS"),
628     ERR_04487_ATTRIBUTE_IS_SINGLE_VALUED("ERR_04487_ATTRIBUTE_IS_SINGLE_VALUED"),
629     ERR_04488_SYNTAX_INVALID("ERR_04488_SYNTAX_INVALID"),
630       
631     // ldap-client-api  4100-
632     ERR_4100_TLS_HANDSHAKE_ERROR( "ERR_4100_TLS_HANDSHAKE_ERROR" ),
633  
634     // ldap-constants
635     ERR_05001_UNKNOWN_AUTHENT_LEVEL("ERR_05001_UNKNOWN_AUTHENT_LEVEL"),
636 
637     // ldap-converter
638     ERR_06001_EMPTY_OR_NULL_SCHEMA_OBJECT("ERR_06001_EMPTY_OR_NULL_SCHEMA_OBJECT"),
639     ERR_06002_PARSER_FAILURE("ERR_06002_PARSER_FAILURE"),
640     ERR_06003_NO_NAME("ERR_06003_NO_NAME"),
641     ERR_06004_CANNOT_GENERATE_SOURCES("ERR_06004_CANNOT_GENERATE_SOURCES"),
642     ERR_06005_NULL_SCHEMA("ERR_06005_NULL_SCHEMA"),
643     ERR_06006_NO_PROPERTY("ERR_06006_NO_PROPERTY"),
644 
645     // ldap-jndi
646     // no exceptions to translate
647 
648     // ldap-schema
649     ERR_08001("ERR_08001"),
650     ERR_08002("ERR_08002"),
651     ERR_08003("ERR_08003"),
652     ERR_08004("ERR_08004"),
653     ERR_08005("ERR_08005"),
654     ERR_08006("ERR_08006"),
655 
656     // ldap-schema
657     ERR_09001_DIRECTORY_CREATION_FAILED("ERR_09001_DIRECTORY_CREATION_FAILED"),
658 
659     // ldap-schema-loader
660     ERR_10001("ERR_10001"),
661     ERR_10002("ERR_10002"),
662     ERR_10003("ERR_10003"),
663     ERR_10004("ERR_10004"),
664     ERR_10005("ERR_10005"),
665     ERR_10006("ERR_10006"),
666     ERR_10007("ERR_10007"),
667     ERR_10008("ERR_10008"),
668     ERR_10009("ERR_10009"),
669     ERR_10010("ERR_10010"),
670     ERR_10011("ERR_10011"),
671     ERR_10012("ERR_10012"),
672     ERR_10013("ERR_10013"),
673     ERR_10014("ERR_10014"),
674     ERR_10015("ERR_10015"),
675     ERR_10016("ERR_10016"),
676     ERR_10017("ERR_10017"),
677     ERR_10018("ERR_10018"),
678     ERR_10019("ERR_10019"),
679     ERR_10020("ERR_10020"),
680     ERR_10021("ERR_10021"),
681     ERR_10022("ERR_10022"),
682     ERR_10023("ERR_10023"),
683     ERR_10024("ERR_10024"),
684     ERR_10025("ERR_10025"),
685     ERR_10026("ERR_10026"),
686     ERR_10027("ERR_10027"),
687     ERR_10028("ERR_10028"),
688 
689     // ldap-schema-manager
690     ERR_11001("ERR_11001"),
691     ERR_11002("ERR_11002"),
692     ERR_11003("ERR_11003"),
693     ERR_11004("ERR_11004"),
694     ERR_11005("ERR_11005"),
695     ERR_11006("ERR_11006"),
696     ERR_11007("ERR_11007"),
697     ERR_11008("ERR_11008"),
698     ERR_11009("ERR_11009"),
699     ERR_11010("ERR_11010"),
700     ERR_11011("ERR_11011"),
701     ERR_11012("ERR_11012"),
702     ERR_11013("ERR_11013"),
703 
704     // ldap-schema-manager
705     ERR_12001_UNKNOWN_CHANGE_TYPE("ERR_12001_UNKNOWN_CHANGE_TYPE"),
706     ERR_12002_ENTRY_WITH_TWO_DNS("ERR_12002_ENTRY_WITH_TWO_DNS"),
707     ERR_12003_LDIF_ENTRY_WITH_TWO_DNS("ERR_12003_LDIF_ENTRY_WITH_TWO_DNS"),
708     ERR_12004_CHANGE_NOT_ALLOWED("ERR_12004_CHANGE_NOT_ALLOWED"),
709     ERR_12005_NO_CHANGE("ERR_12005_NO_CHANGE"),
710     ERR_12006_EXPECTING_ATTRIBUTE_TYPE("ERR_12006_EXPECTING_ATTRIBUTE_TYPE"),
711     ERR_12007_BAD_ATTRIBUTE("ERR_12007_BAD_ATTRIBUTE"),
712     ERR_12008_CANNOT_PARSE_LDIF_BUFFER("ERR_12008_CANNOT_PARSE_LDIF_BUFFER"),
713     ERR_12009_ERROR_PARSING_LDIF_BUFFER("ERR_12009_ERROR_PARSING_LDIF_BUFFER"),
714     ERR_12010_CANNOT_FIND_FILE("ERR_12010_CANNOT_FIND_FILE"),
715     ERR_12011_CANNOT_READ_FILE("ERR_12011_CANNOT_READ_FILE"),
716     ERR_12012_EMPTY_DN_NOT_ALLOWED("ERR_12012_EMPTY_DN_NOT_ALLOWED"),
717     ERR_12013_NO_DN("ERR_12013_NO_DN"),
718     ERR_12014_BASE64_DN_EXPECTED("ERR_12014_BASE64_DN_EXPECTED"),
719     ERR_12015_INVALID_BASE64_DN("ERR_12015_INVALID_BASE64_DN"),
720     ERR_12016_DN_EXPECTED("ERR_12016_DN_EXPECTED"),
721     ERR_12017_INVALID_DN("ERR_12017_INVALID_DN"),
722     ERR_12018_FILE_NOT_FOUND("ERR_12018_FILE_NOT_FOUND"),
723     ERR_12019_BAD_URL_FILE_NOT_FOUND("ERR_12019_BAD_URL_FILE_NOT_FOUND"),
724     ERR_12020_FILE_TOO_BIG("ERR_12020_FILE_TOO_BIG"),
725     ERR_12022_ERROR_READING_FILE("ERR_12022_ERROR_READING_FILE"),
726     ERR_12023_ERROR_READING_BAD_URL("ERR_12023_ERROR_READING_BAD_URL"),
727     ERR_12024_CANNOT_CLOSE_FILE("ERR_12024_CANNOT_CLOSE_FILE"),
728     ERR_12025_BAD_PROTOCOL("ERR_12025_BAD_PROTOCOL"),
729     ERR_12026_UNSUPPORTED_PROTOCOL("ERR_12026_UNSUPPORTED_PROTOCOL"),
730     ERR_12027_BAD_URL("ERR_12027_BAD_URL"),
731     ERR_12029_CONTROL_WITHOUT_OID("ERR_12029_CONTROL_WITHOUT_OID"),
732     ERR_12031_INVALID_OID("ERR_12031_INVALID_OID"),
733     ERR_12033_INVALID_CRITICALITY("ERR_12033_INVALID_CRITICALITY"),
734     ERR_12035_BAD_MODRDN_OPERATION("ERR_12035_BAD_MODRDN_OPERATION"),
735     ERR_12038_NO_DELETEOLDRDN("ERR_12038_NO_DELETEOLDRDN"),
736     ERR_12040_BAD_MODIFY_SEPARATOR("ERR_12040_BAD_MODIFY_SEPARATOR"),
737     ERR_12042_BAD_MODIFY_SEPARATOR_2("ERR_12042_BAD_MODIFY_SEPARATOR_2"),
738     ERR_12044("ERR_12044"),
739     ERR_12045("ERR_12045"),
740     ERR_12046("ERR_12046"),
741     ERR_12047("ERR_12047"),
742     ERR_12048("ERR_12048"),
743     ERR_12049("ERR_12049"),
744     ERR_12050("ERR_12050"),
745     ERR_12051("ERR_12051"),
746     ERR_12052("ERR_12052"),
747     ERR_12053("ERR_12053"),
748     ERR_12054("ERR_12054"),
749     ERR_12055("ERR_12055"),
750     ERR_12056("ERR_12056"),
751     ERR_12057_BAD_ATTRIBUTE("ERR_12057_BAD_ATTRIBUTE"),
752     ERR_12058_UNKNOWN_ENTRY_TYPE("ERR_12058_UNKNOWN_ENTRY_TYPE"),
753     ERR_12059_UNKNOWN_ENTRY("ERR_12059_UNKNOWN_ENTRY"),
754     ERR_12060_VERSION_NOT_A_NUMBER("ERR_12060_VERSION_NOT_A_NUMBER"),
755     ERR_12061_LDIF_PARSING_ERROR("ERR_12061_LDIF_PARSING_ERROR"),
756     ERR_12062_EMPTY_CONTINUATION_LINE("ERR_12062_EMPTY_CONTINUATION_LINE"),
757     ERR_12063_ERROR_WHILE_READING_LDIF_LINE("ERR_12063_ERROR_WHILE_READING_LDIF_LINE"),
758     ERR_12064_EMPTY_FILE_NAME("ERR_12064_EMPTY_FILE_NAME"),
759     ERR_12066("ERR_12066"),
760     ERR_12067("ERR_12067"),
761     ERR_12068("ERR_12068"),
762     ERR_12069("ERR_12069"),
763     ERR_12070("ERR_12070"),
764     ERR_12071("ERR_12071"),
765     ERR_12072("ERR_12072"),
766     ERR_12073("ERR_12073"),
767     ERR_12074("ERR_12074"),
768     ERR_12075("ERR_12075"),
769     ERR_12076("ERR_12076"),
770     ERR_12077("ERR_12077"),
771     ERR_12078("ERR_12078"),
772     ERR_12079("ERR_12079"),
773     ERR_12080("ERR_12080"),
774     ERR_12081("ERR_12081"),
775     ERR_12082("ERR_12082"),
776     ERR_12083("ERR_12083"),
777     ERR_12084("ERR_12084"),
778     ERR_12085("ERR_12085"),
779     ERR_12086("ERR_12086"),
780     ERR_12087("ERR_12087"),
781 
782     // The messages
783     MSG_04489_SYNTAX_VALID( "MSG_04489_SYNTAX_VALID" );
784     
785     /** The error code */
786     private String errorCode;
787 
788     /** The file containing the errors */
789     private static final ResourceBundle ERR_BUNDLE = ResourceBundle
790         .getBundle( "org/apache/directory/api/i18n/errors", Locale.ROOT );
791 
792     /** The file containing the messages */
793     private static final ResourceBundle MSG_BUNDLE = ResourceBundle
794         .getBundle( "org/apache/directory/api/i18n/messages", Locale.ROOT );
795 
796     /**
797      * Creates a new instance of I18n.
798      * 
799      * @param errorCode the error code
800      */
801     I18n( String errorCode )
802     {
803         this.errorCode = errorCode;
804     }
805 
806 
807     /**
808      * Getter for the field <code>errorCode</code>.
809      *
810      * @return the errorCode
811      * @since 0.9.20
812      */
813     public String getErrorCode()
814     {
815         return errorCode;
816     }
817 
818 
819     /**
820      *
821      * Translate an error code with argument(s)
822      *
823      * @param err The error code
824      * @param args The argument(s)
825      * @return The translated error
826      */
827     public static String err( I18n err, Object... args )
828     {
829         try
830         {
831             return err + " " + format( ERR_BUNDLE.getString( err.getErrorCode() ), args );
832         }
833         catch ( Exception e )
834         {
835             StringBuilder sb = new StringBuilder();
836             boolean comma = false;
837 
838             for ( Object obj : args )
839             {
840                 if ( comma )
841                 {
842                     sb.append( "," );
843                 }
844                 else
845                 {
846                     comma = true;
847                 }
848 
849                 sb.append( obj );
850             }
851             return err + " (" + sb.toString() + ")";
852         }
853     }
854 
855 
856     /**
857      *
858      * Translate a message code with argument(s)
859      *
860      * @param msg The message code
861      * @param args The argument(s)
862      * @return The translated error
863      */
864     public static String msg( I18n msg, Object... args )
865     {
866         try
867         {
868             return msg + " " + format( ERR_BUNDLE.getString( msg.getErrorCode() ), args );
869         }
870         catch ( Exception e )
871         {
872             StringBuilder sb = new StringBuilder();
873             boolean comma = false;
874 
875             for ( Object obj : args )
876             {
877                 if ( comma )
878                 {
879                     sb.append( "," );
880                 }
881                 else
882                 {
883                     comma = true;
884                 }
885 
886                 sb.append( obj );
887             }
888             return msg + " (" + sb.toString() + ")";
889         }
890     }
891 
892 
893     /**
894      *
895      * Translate a message with argument(s)
896      *
897      * @param msg The message
898      * @param args The argument(s)
899      * @return The translated error
900      */
901     public static String msg( String msg, Object... args )
902     {
903         try
904         {
905             return format( MSG_BUNDLE.getString( msg ), args );
906         }
907         catch ( MissingResourceException mre )
908         {
909             try
910             {
911                 return format( msg, args );
912             }
913             catch ( Exception e )
914             {
915                 StringBuilder sb = new StringBuilder();
916                 boolean comma = false;
917 
918                 for ( Object obj : args )
919                 {
920                     if ( comma )
921                     {
922                         sb.append( "," );
923                     }
924                     else
925                     {
926                         comma = true;
927                     }
928 
929                     sb.append( obj );
930                 }
931 
932                 return msg + " (" + sb.toString() + ")";
933             }
934         }
935     }
936 
937     /**
938      * Format a message injecting some parameters in the pattern.
939      * 
940      * @param pattern The message pattern
941      * @param args The arguments to inject in the pattern
942      * @return The resulting messages
943      */
944     public static String format( String pattern, Object... args )
945     {
946         return new MessageFormat( pattern, Locale.ROOT ).format( args );
947     }
948 }