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