ICU-8991 A new tool for building ISO 4217 currency numeric code mapping data.

X-SVN-Rev: 31235
This commit is contained in:
Yoshito Umaoka 2012-01-20 05:23:37 +00:00
parent fa68259b4d
commit 2027e719ec
10 changed files with 1214 additions and 0 deletions

5
.gitattributes vendored
View file

@ -728,6 +728,11 @@ icu4j/tools/build/icu4j48.api2.gz -text
icu4j/tools/build/manifest.stub -text
icu4j/tools/misc/.settings/org.eclipse.core.resources.prefs -text
icu4j/tools/misc/manifest.stub -text
tools/currency/.classpath -text
tools/currency/.project -text
tools/currency/.settings/org.eclipse.core.resources.prefs -text
tools/currency/.settings/org.eclipse.jdt.core.prefs -text
tools/currency/.settings/org.eclipse.jdt.ui.prefs -text
tools/multi/c/Makefile-c.inc -text
tools/multi/c/patch/3_0 -text
tools/multi/c/patch/3_2 -text

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="out/bin"/>
</classpath>

17
tools/currency/.project Normal file
View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>currency-numeric</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,3 @@
#Fri Jan 20 00:09:53 EST 2012
eclipse.preferences.version=1
encoding/<project>=UTF-8

View file

@ -0,0 +1,347 @@
#Thu Jan 19 10:20:40 EST 2012
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=warning
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.6
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
org.eclipse.jdt.core.formatter.blank_lines_before_field=0
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
org.eclipse.jdt.core.formatter.blank_lines_before_method=1
org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
org.eclipse.jdt.core.formatter.blank_lines_before_package=0
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
org.eclipse.jdt.core.formatter.comment.format_block_comments=true
org.eclipse.jdt.core.formatter.comment.format_header=false
org.eclipse.jdt.core.formatter.comment.format_html=true
org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
org.eclipse.jdt.core.formatter.comment.format_line_comments=true
org.eclipse.jdt.core.formatter.comment.format_source_code=true
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
org.eclipse.jdt.core.formatter.comment.line_length=120
org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
org.eclipse.jdt.core.formatter.compact_else_if=true
org.eclipse.jdt.core.formatter.continuation_indentation=2
org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_empty_lines=false
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
org.eclipse.jdt.core.formatter.indentation.size=4
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.join_lines_in_comments=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
org.eclipse.jdt.core.formatter.lineSplit=120
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,141 @@
/*
*******************************************************************************
* Copyright (C) 2012, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
package com.ibm.icu.dev.tool.currency;
/**
* Currency data entry corresponding to the XML data distributed by SIX Interbank Clearing
* (The ISO 4217 maintenance agency).
*/
public class CurrencyDataEntry {
private String entity;
private String currency;
private String alphabeticCode;
private Integer numericCode;
private Integer minorUnit;
private String withdrawalDate;
private String remark;
private boolean historic;
private CurrencyDataEntry(String entity, String currency, String alphabeticCode, Integer numericCode, Integer minorUnit, String withdrawalDate, String remark, boolean historic) {
this.entity = entity;
this.currency = currency;
this.alphabeticCode = alphabeticCode;
this.numericCode = numericCode;
this.minorUnit = minorUnit;
this.withdrawalDate = withdrawalDate;
this.remark = remark;
this.historic = historic;
}
public String entity() {
return entity;
}
public String currency() {
return currency;
}
public String alphabeticCode() {
return alphabeticCode;
}
public Integer numericCode() {
return numericCode;
}
public Integer minorUnit() {
return minorUnit;
}
public String withdrawalDate() {
return withdrawalDate;
}
public String remark() {
return remark;
}
public boolean historic() {
return historic;
}
public static class Builder {
private String entity_;
private String currency_;
private String alphabeticCode_;
private Integer numericCode_;
private Integer minorUnit_;
private String withdrawalDate_;
private String remark_;
private boolean historic_ = false;
public Builder setEntity(String entity) {
entity_ = entity;
return this;
}
public Builder setCurrency(String currency) {
currency_ = currency;
return this;
}
public Builder setAlphabeticCode(String alphabeticCode) {
alphabeticCode_ = alphabeticCode;
return this;
}
public Builder setNumericCode(String numericCode) {
try {
numericCode_ = Integer.parseInt(numericCode);
} catch (NumberFormatException e) {
// ignore
}
return this;
}
public Builder setMinorUnit(String minorUnit) {
try {
minorUnit_ = Integer.parseInt(minorUnit);
} catch (NumberFormatException e) {
// ignore
}
return this;
}
public Builder setWithdrawalDate(String withdrawalDate) {
withdrawalDate_ = withdrawalDate;
return this;
}
public Builder setRemark(String remark) {
remark_ = remark;
return this;
}
public Builder setHistoric() {
historic_ = true;
return this;
}
public CurrencyDataEntry build() {
return new CurrencyDataEntry(entity_, currency_, alphabeticCode_, numericCode_, minorUnit_, withdrawalDate_, remark_, historic_);
}
public Builder reset() {
entity_ = null;
currency_ = null;
alphabeticCode_ = null;
numericCode_ = null;
minorUnit_ = null;
withdrawalDate_ = null;
remark_ = null;
historic_ = false;
return this;
}
}
}

View file

@ -0,0 +1,130 @@
/*
*******************************************************************************
* Copyright (C) 2012, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
package com.ibm.icu.dev.tool.currency;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Collection;
import java.util.LinkedList;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import com.ibm.icu.dev.tool.currency.CurrencyDataEntry.Builder;
/**
* Parser for ISO 4217 data file in XML format distributed by SIX Interbank Clearing
* (The ISO 4217 maintenance agency).
*/
public class CurrencyDataParser {
public static Collection<CurrencyDataEntry> parse(File dataFile, boolean historic) throws IOException {
Collection<CurrencyDataEntry> result = null;
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser;
parser = factory.newSAXParser();
Handler handler = new Handler(historic);
parser.parse(new FileInputStream(dataFile), handler);
result = handler.getParsedISOCurrencies();
} catch (SAXException e) {
throw new RuntimeException(e);
} catch (ParserConfigurationException e) {
throw new RuntimeException(e);
}
return result;
}
private static class Handler extends DefaultHandler {
private enum ElementType {
ENTITY,
CURRENCY,
ALPHABETIC_CODE,
NUMERIC_CODE,
MINOR_UNIT,
WITHDRAWAL_DATE,
REMARK,
OTHER
};
Collection<CurrencyDataEntry> isoCurrencies = new LinkedList<CurrencyDataEntry>();
ElementType elem = ElementType.OTHER;
Builder currBld = new Builder();
private final boolean historic;
private final String currElemName;
public Handler(boolean historic) {
this.historic = historic;
currElemName = historic ? "ISO_CURRENCY_HISTORIC" : "ISO_CURRENCY";
}
public Collection<CurrencyDataEntry> getParsedISOCurrencies() {
return isoCurrencies;
}
public void startElement(String uri, String localName, String qName, Attributes attributes) {
if (qName.equals(currElemName)) {
currBld.reset();
elem = ElementType.OTHER;
} else {
try {
elem = ElementType.valueOf(qName);
} catch (IllegalArgumentException e) {
elem = ElementType.OTHER;
}
}
}
public void endElement(String uri, String localName, String qName) {
// emit a currency data
if (qName.equals(currElemName)) {
if (historic) {
currBld.setHistoric();
}
isoCurrencies.add(currBld.build());
currBld.reset();
}
elem = ElementType.OTHER;
}
public void characters(char[] ch, int start, int length) {
switch (elem) {
case ENTITY:
currBld.setEntity(new String(ch, start, length).trim());
break;
case CURRENCY:
currBld.setCurrency(new String(ch, start, length).trim());
break;
case ALPHABETIC_CODE:
currBld.setAlphabeticCode(new String(ch, start, length).trim());
break;
case NUMERIC_CODE:
currBld.setNumericCode(new String(ch, start, length).trim());
break;
case MINOR_UNIT:
currBld.setMinorUnit(new String(ch, start, length).trim());
break;
case WITHDRAWAL_DATE:
currBld.setWithdrawalDate(new String(ch, start, length).trim());
break;
case REMARK:
currBld.setRemark(new String(ch, start, length).trim());
break;
default:
// NOOP
break;
}
}
}
}

View file

@ -0,0 +1,181 @@
/*
*******************************************************************************
* Copyright (C) 2012, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
package com.ibm.icu.dev.tool.currency;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Collection;
import java.util.Map.Entry;
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeSet;
/**
* The tool used for ISO 4217 alpha3-numeric3 code mapping data maintenance.
* This code is used for synchronizing ICU alpha3-numeric3 mapping data with
* the data distributed by SIX Interbank Clearing.
*/
public class Main {
private enum Command {
CHECK,
PRINT,
BUILD,
};
private static final String RESNAME = "currencyNumericCodes";
public static void main(String... args) {
if (args.length == 0) {
printUsage();
System.exit(1);
}
Command cmd = null;
// 1st argument must be command
if (args[0].equalsIgnoreCase(Command.CHECK.name())) {
if (args.length == 3) {
cmd = Command.CHECK;
}
} else if (args[0].equalsIgnoreCase(Command.PRINT.name())) {
if (args.length == 3) {
cmd = Command.PRINT;
}
} else if (args[0].equalsIgnoreCase(Command.BUILD.name())) {
if (args.length == 2) {
cmd = Command.BUILD;
}
}
if (cmd == null) {
printUsage();
System.exit(1);
}
int status = 0;
if (cmd == Command.BUILD) {
File outfile = new File(args[1], RESNAME + ".txt");
try {
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(outfile), "UTF-8");
NumericCodeData.getDefaultInstance().writeResource(osw, RESNAME);
} catch (IOException e) {
e.printStackTrace();
status = 1;
}
} else {
// 2nd argument is current data xml file
// 3rd argument is historic data xml file
File currentXml = new File(args[1]);
File historicXml = new File(args[2]);
Collection<CurrencyDataEntry> currentDataEntries = null;
Collection<CurrencyDataEntry> historicDataEntries = null;
try {
currentDataEntries = CurrencyDataParser.parse(currentXml, false);
historicDataEntries = CurrencyDataParser.parse(historicXml, true);
} catch (IOException e) {
e.printStackTrace();
status = 1;
}
if (status == 0) {
NumericCodeData numCodeData = NumericCodeData.createInstance(currentDataEntries);
numCodeData.merge(NumericCodeData.createInstance(historicDataEntries));
if (cmd == Command.PRINT) {
numCodeData.printArray();
} else {
assert(cmd == Command.CHECK);
boolean isOK = checkData(numCodeData);
if (isOK) {
System.out.println("[OK] ICU data is synchronized with the reference data");
} else {
status = 1;
}
}
}
}
System.exit(status);
}
private static void printUsage() {
System.out.println("[Usage]");
System.out.println("");
System.out.println(" 1) java com.ibm.icu.dev.tool.currency.Main check <currentXML> <historicXML>");
System.out.println("");
System.out.println(" Verifies the ICU data (table in NumericCodeData) with the reference data.");
System.out.println("");
System.out.println(" Argument(s):");
System.out.println(" <currentXML> - Current currencies & funds data (Table A.1) in XML format");
System.out.println(" <historicXML> - Historic denominations data (Table A.3) in XML format");
System.out.println("");
System.out.println(" 2) java com.ibm.icu.dev.tool.currency.Main print <currentXML> <historicXML>");
System.out.println("");
System.out.println(" Prints out the alpha-numeric code mapping imported from the reference data.");
System.out.println("");
System.out.println(" Argument(s):");
System.out.println(" <currentXML> - Current currencies & funds data (Table A.1) in XML format");
System.out.println(" <historicXML> - Historic denominations data (Table A.3) in XML format");
System.out.println("");
System.out.println(" 3) java com.ibm.icu.dev.tool.currency.Main build <outtxt>");
System.out.println("");
System.out.println(" Writes out the alpha-numeric in NumericCodeData into ICU resource bundle source");
System.out.println(" (.txt) format.");
System.out.println("");
System.out.println(" Argument(s):");
System.out.println(" <outdir> - Output directory of the ICU resource bundle source (.txt) format");
System.out.println("");
System.out.println("[Note]");
System.out.println(" Reference XML files are distributed by the ISO 4217 maintenance agency at");
System.out.println(" [http://www.currency-iso.org/iso_index/iso_tables.htm].");
}
private static boolean checkData(NumericCodeData refData) {
boolean isOK = true;
SortedMap<String, String> icuMap = NumericCodeData.getDefaultInstance().getAlphaNumericCodeMap();
SortedMap<String, String> refMap = refData.getAlphaNumericCodeMap();
for (Entry<String, String> refEntry : refMap.entrySet()) {
String refAlpha = refEntry.getKey();
String refNumeric = refEntry.getValue();
String icuNumeric = icuMap.get(refAlpha);
if (icuNumeric == null) {
System.out.println("Missing alpha code in ICU map [" + refAlpha + "]");
isOK = false;
} else if (!icuNumeric.equals(refNumeric)) {
System.out.println("Numeric code mismatch [" + refAlpha + "] ICU=" + icuNumeric + " - Reference=" + refNumeric);
isOK = false;
}
}
Set<String> icuKeySet = icuMap.keySet();
Set<String> refKeySet = refMap.keySet();
if (!refKeySet.containsAll(icuKeySet)) {
isOK = false;
Set<String> tmp = new TreeSet<String>(icuKeySet);
tmp.removeAll(refKeySet);
StringBuilder buf = new StringBuilder();
for (String alpha : tmp) {
if (buf.length() != 0) {
buf.append(", ");
}
buf.append(alpha);
}
System.out.println("Codes not found in the reference data: " + buf);
}
return isOK;
}
}

View file

@ -0,0 +1,374 @@
/*
*******************************************************************************
* Copyright (C) 2012, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
package com.ibm.icu.dev.tool.currency;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Collections;
import java.util.GregorianCalendar;
import java.util.Map.Entry;
import java.util.SortedMap;
import java.util.TimeZone;
import java.util.TreeMap;
/**
* Container of ISO 4217 alpha3 - numeric3 code mapping data
*/
public class NumericCodeData {
private SortedMap<String, String> _codeMap;
private NumericCodeData(SortedMap<String, String> codeMap) {
_codeMap = codeMap;
}
public static NumericCodeData getDefaultInstance() {
SortedMap<String, String> map = new TreeMap<String, String>();
for (String[] dataEntry : CODE_MAP_DATA) {
map.put(dataEntry[0], dataEntry[1]);
}
return new NumericCodeData(map);
}
public static NumericCodeData createInstance(Collection<CurrencyDataEntry> dataEntries) {
SortedMap<String, String> map = new TreeMap<String, String>();
for (CurrencyDataEntry dataEntry : dataEntries) {
String alphaCode = dataEntry.alphabeticCode();
Integer numCode = dataEntry.numericCode();
if (alphaCode == null || numCode == null) {
continue;
}
map.put(alphaCode, String.format("%03d", numCode));
}
return new NumericCodeData(map);
}
public NumericCodeData merge(NumericCodeData anotherData) {
SortedMap<String, String> codeMap = anotherData.getAlphaNumericCodeMap();
for (Entry<String, String> codeMapEntry : codeMap.entrySet()) {
String alphaCode = codeMapEntry.getKey();
String numCode = codeMapEntry.getValue();
if (!_codeMap.containsKey(alphaCode)) {
_codeMap.put(alphaCode, numCode);
} else {
String existingValue = _codeMap.get(alphaCode);
if (!existingValue.equals(numCode)) {
throw new RuntimeException("Duplicated definition for " + alphaCode + ": value=" + existingValue + "/another value=" + numCode);
}
}
}
return this;
}
public SortedMap<String, String> getAlphaNumericCodeMap() {
return Collections.unmodifiableSortedMap(_codeMap);
}
public void printArray() {
for (Entry<String, String> entry : getAlphaNumericCodeMap().entrySet()) {
System.out.println(" {\"" + entry.getKey() + "\", \"" + entry.getValue() + "\"},");
}
}
public void writeResource(OutputStreamWriter osw, String resName) throws IOException {
GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
PrintWriter pw = new PrintWriter(osw, true);
// Header
pw.println("//---------------------------------------------------------");
pw.println(String.format("// Copyright (C) %1$tY, International Business Machines", cal));
pw.println("// Corporation and others. All Rights Reserved.");
pw.println("//---------------------------------------------------------");
pw.println("// Build tool: com.ibm.icu.dev.tool.currency.NumericCodeData");
pw.println(String.format("// Build date: %1$tFT%1$tTZ", cal));
pw.println("//---------------------------------------------------------");
pw.println("// >> !!! >> THIS IS A MACHINE-GENERATED FILE << !!! <<");
pw.println("// >> !!! >>> DO NOT EDIT <<< !!! <<");
pw.println("//---------------------------------------------------------");
pw.println("");
// Resource root
pw.println(resName + ":table(nofallback){");
// Map data
pw.println(" codeMap{");
for (Entry<String, String> mapEntry : _codeMap.entrySet()) {
String alphaCode = mapEntry.getKey();
int numericCodeVal = Integer.parseInt(mapEntry.getValue());
pw.println(String.format(" %1$s:int{%2$d}", alphaCode, numericCodeVal));
}
pw.println(" }");
pw.println("}");
}
private static final String[][] CODE_MAP_DATA = {
{"ADP", "020"},
{"AED", "784"},
{"AFA", "004"},
{"AFN", "971"},
{"ALL", "008"},
{"AMD", "051"},
{"ANG", "532"},
{"AOA", "973"},
{"AON", "024"},
{"AOR", "982"},
{"ARA", "032"},
{"ARP", "032"},
{"ARS", "032"},
{"ATS", "040"},
{"AUD", "036"},
{"AWG", "533"},
{"AYM", "945"},
{"AZM", "031"},
{"AZN", "944"},
{"BAD", "070"},
{"BAM", "977"},
{"BBD", "052"},
{"BDT", "050"},
{"BEC", "993"},
{"BEF", "056"},
{"BEL", "992"},
{"BGL", "100"},
{"BGN", "975"},
{"BHD", "048"},
{"BIF", "108"},
{"BMD", "060"},
{"BND", "096"},
{"BOB", "068"},
{"BOV", "984"},
{"BRC", "076"},
{"BRE", "076"},
{"BRL", "986"},
{"BRN", "076"},
{"BRR", "987"},
{"BSD", "044"},
{"BTN", "064"},
{"BWP", "072"},
{"BYB", "112"},
{"BYR", "974"},
{"BZD", "084"},
{"CAD", "124"},
{"CDF", "976"},
{"CHC", "948"},
{"CHE", "947"},
{"CHF", "756"},
{"CHW", "948"},
{"CLF", "990"},
{"CLP", "152"},
{"CNY", "156"},
{"COP", "170"},
{"COU", "970"},
{"CRC", "188"},
{"CSD", "891"},
{"CSK", "200"},
{"CUC", "931"},
{"CUP", "192"},
{"CVE", "132"},
{"CYP", "196"},
{"CZK", "203"},
{"DDM", "278"},
{"DEM", "276"},
{"DJF", "262"},
{"DKK", "208"},
{"DOP", "214"},
{"DZD", "012"},
{"ECS", "218"},
{"ECV", "983"},
{"EEK", "233"},
{"EGP", "818"},
{"ERN", "232"},
{"ESA", "996"},
{"ESB", "995"},
{"ESP", "724"},
{"ETB", "230"},
{"EUR", "978"},
{"FIM", "246"},
{"FJD", "242"},
{"FKP", "238"},
{"FRF", "250"},
{"GBP", "826"},
{"GEK", "268"},
{"GEL", "981"},
{"GHC", "288"},
{"GHP", "939"},
{"GHS", "936"},
{"GIP", "292"},
{"GMD", "270"},
{"GNF", "324"},
{"GQE", "226"},
{"GRD", "300"},
{"GTQ", "320"},
{"GWP", "624"},
{"GYD", "328"},
{"HKD", "344"},
{"HNL", "340"},
{"HRD", "191"},
{"HRK", "191"},
{"HTG", "332"},
{"HUF", "348"},
{"IDR", "360"},
{"IEP", "372"},
{"ILS", "376"},
{"INR", "356"},
{"IQD", "368"},
{"IRR", "364"},
{"ISK", "352"},
{"ITL", "380"},
{"JMD", "388"},
{"JOD", "400"},
{"JPY", "392"},
{"KES", "404"},
{"KGS", "417"},
{"KHR", "116"},
{"KMF", "174"},
{"KPW", "408"},
{"KRW", "410"},
{"KWD", "414"},
{"KYD", "136"},
{"KZT", "398"},
{"LAK", "418"},
{"LBP", "422"},
{"LKR", "144"},
{"LRD", "430"},
{"LSL", "426"},
{"LTL", "440"},
{"LTT", "440"},
{"LUC", "989"},
{"LUF", "442"},
{"LUL", "988"},
{"LVL", "428"},
{"LVR", "428"},
{"LYD", "434"},
{"MAD", "504"},
{"MDL", "498"},
{"MGA", "969"},
{"MGF", "450"},
{"MKD", "807"},
{"MLF", "466"},
{"MMK", "104"},
{"MNT", "496"},
{"MOP", "446"},
{"MRO", "478"},
{"MTL", "470"},
{"MUR", "480"},
{"MVR", "462"},
{"MWK", "454"},
{"MXN", "484"},
{"MXV", "979"},
{"MYR", "458"},
{"MZM", "508"},
{"MZN", "943"},
{"NAD", "516"},
{"NGN", "566"},
{"NIO", "558"},
{"NLG", "528"},
{"NOK", "578"},
{"NPR", "524"},
{"NZD", "554"},
{"OMR", "512"},
{"PAB", "590"},
{"PEI", "604"},
{"PEN", "604"},
{"PES", "604"},
{"PGK", "598"},
{"PHP", "608"},
{"PKR", "586"},
{"PLN", "985"},
{"PLZ", "616"},
{"PTE", "620"},
{"PYG", "600"},
{"QAR", "634"},
{"ROL", "642"},
{"RON", "946"},
{"RSD", "941"},
{"RUB", "643"},
{"RUR", "810"},
{"RWF", "646"},
{"SAR", "682"},
{"SBD", "090"},
{"SCR", "690"},
{"SDD", "736"},
{"SDG", "938"},
{"SEK", "752"},
{"SGD", "702"},
{"SHP", "654"},
{"SIT", "705"},
{"SKK", "703"},
{"SLL", "694"},
{"SOS", "706"},
{"SRD", "968"},
{"SRG", "740"},
{"SSP", "728"},
{"STD", "678"},
{"SVC", "222"},
{"SYP", "760"},
{"SZL", "748"},
{"THB", "764"},
{"TJR", "762"},
{"TJS", "972"},
{"TMM", "795"},
{"TMT", "934"},
{"TND", "788"},
{"TOP", "776"},
{"TPE", "626"},
{"TRL", "792"},
{"TRY", "949"},
{"TTD", "780"},
{"TWD", "901"},
{"TZS", "834"},
{"UAH", "980"},
{"UAK", "804"},
{"UGX", "800"},
{"USD", "840"},
{"USN", "997"},
{"USS", "998"},
{"UYI", "940"},
{"UYU", "858"},
{"UZS", "860"},
{"VEB", "862"},
{"VEF", "937"},
{"VND", "704"},
{"VUV", "548"},
{"WST", "882"},
{"XAF", "950"},
{"XAG", "961"},
{"XAU", "959"},
{"XBA", "955"},
{"XBB", "956"},
{"XBC", "957"},
{"XBD", "958"},
{"XCD", "951"},
{"XDR", "960"},
{"XEU", "954"},
{"XOF", "952"},
{"XPD", "964"},
{"XPF", "953"},
{"XPT", "962"},
{"XSU", "994"},
{"XTS", "963"},
{"XUA", "965"},
{"XXX", "999"},
{"YDD", "720"},
{"YER", "886"},
{"YUM", "891"},
{"YUN", "890"},
{"ZAL", "991"},
{"ZAR", "710"},
{"ZMK", "894"},
{"ZRN", "180"},
{"ZRZ", "180"},
{"ZWD", "716"},
{"ZWL", "932"},
{"ZWN", "942"},
{"ZWR", "935"},
};
}