001/* 002 * oauth2-oidc-sdk 003 * 004 * Copyright 2012-2016, Connect2id Ltd and contributors. 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use 007 * this file except in compliance with the License. You may obtain a copy of the 008 * License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software distributed 013 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 014 * CONDITIONS OF ANY KIND, either express or implied. See the License for the 015 * specific language governing permissions and limitations under the License. 016 */ 017 018package com.nimbusds.openid.connect.sdk.assurance.claims; 019 020 021import java.io.IOException; 022import java.io.InputStream; 023import java.util.Properties; 024 025import net.jcip.annotations.Immutable; 026 027import com.nimbusds.oauth2.sdk.ParseException; 028 029 030/** 031 * ISO 3166-1 alpha-3 (three-letter) country code. 032 * 033 * <p>Includes constants for all 249 current officially assigned ISO 3166-1 034 * alpha-3 codes. 035 */ 036@Immutable 037public final class ISO3166_1Alpha3CountryCode extends ISO3166_1AlphaCountryCode { 038 039 040 private static final long serialVersionUID = -7659886425656766569L; 041 042 043 /** Aruba */ 044 public static final ISO3166_1Alpha3CountryCode ABW = new ISO3166_1Alpha3CountryCode("ABW"); 045 046 /** Afghanistan */ 047 public static final ISO3166_1Alpha3CountryCode AFG = new ISO3166_1Alpha3CountryCode("AFG"); 048 049 /** Angola */ 050 public static final ISO3166_1Alpha3CountryCode AGO = new ISO3166_1Alpha3CountryCode("AGO"); 051 052 /** Anguilla */ 053 public static final ISO3166_1Alpha3CountryCode AIA = new ISO3166_1Alpha3CountryCode("AIA"); 054 055 /** Åland Islands */ 056 public static final ISO3166_1Alpha3CountryCode ALA = new ISO3166_1Alpha3CountryCode("ALA"); 057 058 /** Albania */ 059 public static final ISO3166_1Alpha3CountryCode ALB = new ISO3166_1Alpha3CountryCode("ALB"); 060 061 /** Andorra */ 062 public static final ISO3166_1Alpha3CountryCode AND = new ISO3166_1Alpha3CountryCode("AND"); 063 064 /** United Arab Emirates */ 065 public static final ISO3166_1Alpha3CountryCode ARE = new ISO3166_1Alpha3CountryCode("ARE"); 066 067 /** Argentina */ 068 public static final ISO3166_1Alpha3CountryCode ARG = new ISO3166_1Alpha3CountryCode("ARG"); 069 070 /** Armenia */ 071 public static final ISO3166_1Alpha3CountryCode ARM = new ISO3166_1Alpha3CountryCode("ARM"); 072 073 /** American Samoa */ 074 public static final ISO3166_1Alpha3CountryCode ASM = new ISO3166_1Alpha3CountryCode("ASM"); 075 076 /** Antarctica */ 077 public static final ISO3166_1Alpha3CountryCode ATA = new ISO3166_1Alpha3CountryCode("ATA"); 078 079 /** French Southern Territories */ 080 public static final ISO3166_1Alpha3CountryCode ATF = new ISO3166_1Alpha3CountryCode("ATF"); 081 082 /** Antigua and Barbuda */ 083 public static final ISO3166_1Alpha3CountryCode ATG = new ISO3166_1Alpha3CountryCode("ATG"); 084 085 /** Australia */ 086 public static final ISO3166_1Alpha3CountryCode AUS = new ISO3166_1Alpha3CountryCode("AUS"); 087 088 /** Austria */ 089 public static final ISO3166_1Alpha3CountryCode AUT = new ISO3166_1Alpha3CountryCode("AUT"); 090 091 /** Azerbaijan */ 092 public static final ISO3166_1Alpha3CountryCode AZE = new ISO3166_1Alpha3CountryCode("AZE"); 093 094 /** Burundi */ 095 public static final ISO3166_1Alpha3CountryCode BDI = new ISO3166_1Alpha3CountryCode("BDI"); 096 097 /** Belgium */ 098 public static final ISO3166_1Alpha3CountryCode BEL = new ISO3166_1Alpha3CountryCode("BEL"); 099 100 /** Benin */ 101 public static final ISO3166_1Alpha3CountryCode BEN = new ISO3166_1Alpha3CountryCode("BEN"); 102 103 /** Bonaire, Sint Eustatius and Saba */ 104 public static final ISO3166_1Alpha3CountryCode BES = new ISO3166_1Alpha3CountryCode("BES"); 105 106 /** Burkina Faso */ 107 public static final ISO3166_1Alpha3CountryCode BFA = new ISO3166_1Alpha3CountryCode("BFA"); 108 109 /** Bangladesh */ 110 public static final ISO3166_1Alpha3CountryCode BGD = new ISO3166_1Alpha3CountryCode("BGD"); 111 112 /** Bulgaria */ 113 public static final ISO3166_1Alpha3CountryCode BGR = new ISO3166_1Alpha3CountryCode("BGR"); 114 115 /** Bahrain */ 116 public static final ISO3166_1Alpha3CountryCode BHR = new ISO3166_1Alpha3CountryCode("BHR"); 117 118 /** Bahamas */ 119 public static final ISO3166_1Alpha3CountryCode BHS = new ISO3166_1Alpha3CountryCode("BHS"); 120 121 /** Bosnia and Herzegovina */ 122 public static final ISO3166_1Alpha3CountryCode BIH = new ISO3166_1Alpha3CountryCode("BIH"); 123 124 /** Saint Barthélemy */ 125 public static final ISO3166_1Alpha3CountryCode BLM = new ISO3166_1Alpha3CountryCode("BLM"); 126 127 /** Belarus */ 128 public static final ISO3166_1Alpha3CountryCode BLR = new ISO3166_1Alpha3CountryCode("BLR"); 129 130 /** Belize */ 131 public static final ISO3166_1Alpha3CountryCode BLZ = new ISO3166_1Alpha3CountryCode("BLZ"); 132 133 /** Bermuda */ 134 public static final ISO3166_1Alpha3CountryCode BMU = new ISO3166_1Alpha3CountryCode("BMU"); 135 136 /** Bolivia (Plurinational State of) */ 137 public static final ISO3166_1Alpha3CountryCode BOL = new ISO3166_1Alpha3CountryCode("BOL"); 138 139 /** Brazil */ 140 public static final ISO3166_1Alpha3CountryCode BRA = new ISO3166_1Alpha3CountryCode("BRA"); 141 142 /** Barbados */ 143 public static final ISO3166_1Alpha3CountryCode BRB = new ISO3166_1Alpha3CountryCode("BRB"); 144 145 /** Brunei Darussalam */ 146 public static final ISO3166_1Alpha3CountryCode BRN = new ISO3166_1Alpha3CountryCode("BRN"); 147 148 /** Bhutan */ 149 public static final ISO3166_1Alpha3CountryCode BTN = new ISO3166_1Alpha3CountryCode("BTN"); 150 151 /** Bouvet Island */ 152 public static final ISO3166_1Alpha3CountryCode BVT = new ISO3166_1Alpha3CountryCode("BVT"); 153 154 /** Botswana */ 155 public static final ISO3166_1Alpha3CountryCode BWA = new ISO3166_1Alpha3CountryCode("BWA"); 156 157 /** Central African Republic */ 158 public static final ISO3166_1Alpha3CountryCode CAF = new ISO3166_1Alpha3CountryCode("CAF"); 159 160 /** Canada */ 161 public static final ISO3166_1Alpha3CountryCode CAN = new ISO3166_1Alpha3CountryCode("CAN"); 162 163 /** Cocos (Keeling) Islands */ 164 public static final ISO3166_1Alpha3CountryCode CCK = new ISO3166_1Alpha3CountryCode("CCK"); 165 166 /** Switzerland */ 167 public static final ISO3166_1Alpha3CountryCode CHE = new ISO3166_1Alpha3CountryCode("CHE"); 168 169 /** Chile */ 170 public static final ISO3166_1Alpha3CountryCode CHL = new ISO3166_1Alpha3CountryCode("CHL"); 171 172 /** China */ 173 public static final ISO3166_1Alpha3CountryCode CHN = new ISO3166_1Alpha3CountryCode("CHN"); 174 175 /** Côte d'Ivoire */ 176 public static final ISO3166_1Alpha3CountryCode CIV = new ISO3166_1Alpha3CountryCode("CIV"); 177 178 /** Cameroon */ 179 public static final ISO3166_1Alpha3CountryCode CMR = new ISO3166_1Alpha3CountryCode("CMR"); 180 181 /** Congo, Democratic Republic of the */ 182 public static final ISO3166_1Alpha3CountryCode COD = new ISO3166_1Alpha3CountryCode("COD"); 183 184 /** Congo */ 185 public static final ISO3166_1Alpha3CountryCode COG = new ISO3166_1Alpha3CountryCode("COG"); 186 187 /** Cook Islands */ 188 public static final ISO3166_1Alpha3CountryCode COK = new ISO3166_1Alpha3CountryCode("COK"); 189 190 /** Colombia */ 191 public static final ISO3166_1Alpha3CountryCode COL = new ISO3166_1Alpha3CountryCode("COL"); 192 193 /** Comoros */ 194 public static final ISO3166_1Alpha3CountryCode COM = new ISO3166_1Alpha3CountryCode("COM"); 195 196 /** Cabo Verde */ 197 public static final ISO3166_1Alpha3CountryCode CPV = new ISO3166_1Alpha3CountryCode("CPV"); 198 199 /** Costa Rica */ 200 public static final ISO3166_1Alpha3CountryCode CRI = new ISO3166_1Alpha3CountryCode("CRI"); 201 202 /** Cuba */ 203 public static final ISO3166_1Alpha3CountryCode CUB = new ISO3166_1Alpha3CountryCode("CUB"); 204 205 /** Curaçao */ 206 public static final ISO3166_1Alpha3CountryCode CUW = new ISO3166_1Alpha3CountryCode("CUW"); 207 208 /** Christmas Island */ 209 public static final ISO3166_1Alpha3CountryCode CXR = new ISO3166_1Alpha3CountryCode("CXR"); 210 211 /** Cayman Islands */ 212 public static final ISO3166_1Alpha3CountryCode CYM = new ISO3166_1Alpha3CountryCode("CYM"); 213 214 /** Cyprus */ 215 public static final ISO3166_1Alpha3CountryCode CYP = new ISO3166_1Alpha3CountryCode("CYP"); 216 217 /** Czechia */ 218 public static final ISO3166_1Alpha3CountryCode CZE = new ISO3166_1Alpha3CountryCode("CZE"); 219 220 /** Germany */ 221 public static final ISO3166_1Alpha3CountryCode DEU = new ISO3166_1Alpha3CountryCode("DEU"); 222 223 /** Djibouti */ 224 public static final ISO3166_1Alpha3CountryCode DJI = new ISO3166_1Alpha3CountryCode("DJI"); 225 226 /** Dominica */ 227 public static final ISO3166_1Alpha3CountryCode DMA = new ISO3166_1Alpha3CountryCode("DMA"); 228 229 /** Denmark */ 230 public static final ISO3166_1Alpha3CountryCode DNK = new ISO3166_1Alpha3CountryCode("DNK"); 231 232 /** Dominican Republic */ 233 public static final ISO3166_1Alpha3CountryCode DOM = new ISO3166_1Alpha3CountryCode("DOM"); 234 235 /** Algeria */ 236 public static final ISO3166_1Alpha3CountryCode DZA = new ISO3166_1Alpha3CountryCode("DZA"); 237 238 /** Ecuador */ 239 public static final ISO3166_1Alpha3CountryCode ECU = new ISO3166_1Alpha3CountryCode("ECU"); 240 241 /** Egypt */ 242 public static final ISO3166_1Alpha3CountryCode EGY = new ISO3166_1Alpha3CountryCode("EGY"); 243 244 /** Eritrea */ 245 public static final ISO3166_1Alpha3CountryCode ERI = new ISO3166_1Alpha3CountryCode("ERI"); 246 247 /** Western Sahara */ 248 public static final ISO3166_1Alpha3CountryCode ESH = new ISO3166_1Alpha3CountryCode("ESH"); 249 250 /** Spain */ 251 public static final ISO3166_1Alpha3CountryCode ESP = new ISO3166_1Alpha3CountryCode("ESP"); 252 253 /** Estonia */ 254 public static final ISO3166_1Alpha3CountryCode EST = new ISO3166_1Alpha3CountryCode("EST"); 255 256 /** Ethiopia */ 257 public static final ISO3166_1Alpha3CountryCode ETH = new ISO3166_1Alpha3CountryCode("ETH"); 258 259 /** Finland */ 260 public static final ISO3166_1Alpha3CountryCode FIN = new ISO3166_1Alpha3CountryCode("FIN"); 261 262 /** Fiji */ 263 public static final ISO3166_1Alpha3CountryCode FJI = new ISO3166_1Alpha3CountryCode("FJI"); 264 265 /** Falkland Islands (Malvinas) */ 266 public static final ISO3166_1Alpha3CountryCode FLK = new ISO3166_1Alpha3CountryCode("FLK"); 267 268 /** France */ 269 public static final ISO3166_1Alpha3CountryCode FRA = new ISO3166_1Alpha3CountryCode("FRA"); 270 271 /** Faroe Islands */ 272 public static final ISO3166_1Alpha3CountryCode FRO = new ISO3166_1Alpha3CountryCode("FRO"); 273 274 /** Micronesia (Federated States of) */ 275 public static final ISO3166_1Alpha3CountryCode FSM = new ISO3166_1Alpha3CountryCode("FSM"); 276 277 /** Gabon */ 278 public static final ISO3166_1Alpha3CountryCode GAB = new ISO3166_1Alpha3CountryCode("GAB"); 279 280 /** United Kingdom of Great Britain and Northern Ireland */ 281 public static final ISO3166_1Alpha3CountryCode GBR = new ISO3166_1Alpha3CountryCode("GBR"); 282 283 /** Georgia */ 284 public static final ISO3166_1Alpha3CountryCode GEO = new ISO3166_1Alpha3CountryCode("GEO"); 285 286 /** Guernsey */ 287 public static final ISO3166_1Alpha3CountryCode GGY = new ISO3166_1Alpha3CountryCode("GGY"); 288 289 /** Ghana */ 290 public static final ISO3166_1Alpha3CountryCode GHA = new ISO3166_1Alpha3CountryCode("GHA"); 291 292 /** Gibraltar */ 293 public static final ISO3166_1Alpha3CountryCode GIB = new ISO3166_1Alpha3CountryCode("GIB"); 294 295 /** Guinea */ 296 public static final ISO3166_1Alpha3CountryCode GIN = new ISO3166_1Alpha3CountryCode("GIN"); 297 298 /** Guadeloupe */ 299 public static final ISO3166_1Alpha3CountryCode GLP = new ISO3166_1Alpha3CountryCode("GLP"); 300 301 /** Gambia */ 302 public static final ISO3166_1Alpha3CountryCode GMB = new ISO3166_1Alpha3CountryCode("GMB"); 303 304 /** Guinea-Bissau */ 305 public static final ISO3166_1Alpha3CountryCode GNB = new ISO3166_1Alpha3CountryCode("GNB"); 306 307 /** Equatorial Guinea */ 308 public static final ISO3166_1Alpha3CountryCode GNQ = new ISO3166_1Alpha3CountryCode("GNQ"); 309 310 /** Greece */ 311 public static final ISO3166_1Alpha3CountryCode GRC = new ISO3166_1Alpha3CountryCode("GRC"); 312 313 /** Grenada */ 314 public static final ISO3166_1Alpha3CountryCode GRD = new ISO3166_1Alpha3CountryCode("GRD"); 315 316 /** Greenland */ 317 public static final ISO3166_1Alpha3CountryCode GRL = new ISO3166_1Alpha3CountryCode("GRL"); 318 319 /** Guatemala */ 320 public static final ISO3166_1Alpha3CountryCode GTM = new ISO3166_1Alpha3CountryCode("GTM"); 321 322 /** French Guiana */ 323 public static final ISO3166_1Alpha3CountryCode GUF = new ISO3166_1Alpha3CountryCode("GUF"); 324 325 /** Guam */ 326 public static final ISO3166_1Alpha3CountryCode GUM = new ISO3166_1Alpha3CountryCode("GUM"); 327 328 /** Guyana */ 329 public static final ISO3166_1Alpha3CountryCode GUY = new ISO3166_1Alpha3CountryCode("GUY"); 330 331 /** Hong Kong */ 332 public static final ISO3166_1Alpha3CountryCode HKG = new ISO3166_1Alpha3CountryCode("HKG"); 333 334 /** Heard Island and McDonald Islands */ 335 public static final ISO3166_1Alpha3CountryCode HMD = new ISO3166_1Alpha3CountryCode("HMD"); 336 337 /** Honduras */ 338 public static final ISO3166_1Alpha3CountryCode HND = new ISO3166_1Alpha3CountryCode("HND"); 339 340 /** Croatia */ 341 public static final ISO3166_1Alpha3CountryCode HRV = new ISO3166_1Alpha3CountryCode("HRV"); 342 343 /** Haiti */ 344 public static final ISO3166_1Alpha3CountryCode HTI = new ISO3166_1Alpha3CountryCode("HTI"); 345 346 /** Hungary */ 347 public static final ISO3166_1Alpha3CountryCode HUN = new ISO3166_1Alpha3CountryCode("HUN"); 348 349 /** Indonesia */ 350 public static final ISO3166_1Alpha3CountryCode IDN = new ISO3166_1Alpha3CountryCode("IDN"); 351 352 /** Isle of Man */ 353 public static final ISO3166_1Alpha3CountryCode IMN = new ISO3166_1Alpha3CountryCode("IMN"); 354 355 /** India */ 356 public static final ISO3166_1Alpha3CountryCode IND = new ISO3166_1Alpha3CountryCode("IND"); 357 358 /** British Indian Ocean Territory */ 359 public static final ISO3166_1Alpha3CountryCode IOT = new ISO3166_1Alpha3CountryCode("IOT"); 360 361 /** Ireland */ 362 public static final ISO3166_1Alpha3CountryCode IRL = new ISO3166_1Alpha3CountryCode("IRL"); 363 364 /** Iran (Islamic Republic of) */ 365 public static final ISO3166_1Alpha3CountryCode IRN = new ISO3166_1Alpha3CountryCode("IRN"); 366 367 /** Iraq */ 368 public static final ISO3166_1Alpha3CountryCode IRQ = new ISO3166_1Alpha3CountryCode("IRQ"); 369 370 /** Iceland */ 371 public static final ISO3166_1Alpha3CountryCode ISL = new ISO3166_1Alpha3CountryCode("ISL"); 372 373 /** Israel */ 374 public static final ISO3166_1Alpha3CountryCode ISR = new ISO3166_1Alpha3CountryCode("ISR"); 375 376 /** Italy */ 377 public static final ISO3166_1Alpha3CountryCode ITA = new ISO3166_1Alpha3CountryCode("ITA"); 378 379 /** Jamaica */ 380 public static final ISO3166_1Alpha3CountryCode JAM = new ISO3166_1Alpha3CountryCode("JAM"); 381 382 /** Jersey */ 383 public static final ISO3166_1Alpha3CountryCode JEY = new ISO3166_1Alpha3CountryCode("JEY"); 384 385 /** Jordan */ 386 public static final ISO3166_1Alpha3CountryCode JOR = new ISO3166_1Alpha3CountryCode("JOR"); 387 388 /** Japan */ 389 public static final ISO3166_1Alpha3CountryCode JPN = new ISO3166_1Alpha3CountryCode("JPN"); 390 391 /** Kazakhstan */ 392 public static final ISO3166_1Alpha3CountryCode KAZ = new ISO3166_1Alpha3CountryCode("KAZ"); 393 394 /** Kenya */ 395 public static final ISO3166_1Alpha3CountryCode KEN = new ISO3166_1Alpha3CountryCode("KEN"); 396 397 /** Kyrgyzstan */ 398 public static final ISO3166_1Alpha3CountryCode KGZ = new ISO3166_1Alpha3CountryCode("KGZ"); 399 400 /** Cambodia */ 401 public static final ISO3166_1Alpha3CountryCode KHM = new ISO3166_1Alpha3CountryCode("KHM"); 402 403 /** Kiribati */ 404 public static final ISO3166_1Alpha3CountryCode KIR = new ISO3166_1Alpha3CountryCode("KIR"); 405 406 /** Saint Kitts and Nevis */ 407 public static final ISO3166_1Alpha3CountryCode KNA = new ISO3166_1Alpha3CountryCode("KNA"); 408 409 /** Korea, Republic of */ 410 public static final ISO3166_1Alpha3CountryCode KOR = new ISO3166_1Alpha3CountryCode("KOR"); 411 412 /** Kuwait */ 413 public static final ISO3166_1Alpha3CountryCode KWT = new ISO3166_1Alpha3CountryCode("KWT"); 414 415 /** Lao People's Democratic Republic */ 416 public static final ISO3166_1Alpha3CountryCode LAO = new ISO3166_1Alpha3CountryCode("LAO"); 417 418 /** Lebanon */ 419 public static final ISO3166_1Alpha3CountryCode LBN = new ISO3166_1Alpha3CountryCode("LBN"); 420 421 /** Liberia */ 422 public static final ISO3166_1Alpha3CountryCode LBR = new ISO3166_1Alpha3CountryCode("LBR"); 423 424 /** Libya */ 425 public static final ISO3166_1Alpha3CountryCode LBY = new ISO3166_1Alpha3CountryCode("LBY"); 426 427 /** Saint Lucia */ 428 public static final ISO3166_1Alpha3CountryCode LCA = new ISO3166_1Alpha3CountryCode("LCA"); 429 430 /** Liechtenstein */ 431 public static final ISO3166_1Alpha3CountryCode LIE = new ISO3166_1Alpha3CountryCode("LIE"); 432 433 /** Sri Lanka */ 434 public static final ISO3166_1Alpha3CountryCode LKA = new ISO3166_1Alpha3CountryCode("LKA"); 435 436 /** Lesotho */ 437 public static final ISO3166_1Alpha3CountryCode LSO = new ISO3166_1Alpha3CountryCode("LSO"); 438 439 /** Lithuania */ 440 public static final ISO3166_1Alpha3CountryCode LTU = new ISO3166_1Alpha3CountryCode("LTU"); 441 442 /** Luxembourg */ 443 public static final ISO3166_1Alpha3CountryCode LUX = new ISO3166_1Alpha3CountryCode("LUX"); 444 445 /** Latvia */ 446 public static final ISO3166_1Alpha3CountryCode LVA = new ISO3166_1Alpha3CountryCode("LVA"); 447 448 /** Macao */ 449 public static final ISO3166_1Alpha3CountryCode MAC = new ISO3166_1Alpha3CountryCode("MAC"); 450 451 /** Saint Martin (French part) */ 452 public static final ISO3166_1Alpha3CountryCode MAF = new ISO3166_1Alpha3CountryCode("MAF"); 453 454 /** Morocco */ 455 public static final ISO3166_1Alpha3CountryCode MAR = new ISO3166_1Alpha3CountryCode("MAR"); 456 457 /** Monaco */ 458 public static final ISO3166_1Alpha3CountryCode MCO = new ISO3166_1Alpha3CountryCode("MCO"); 459 460 /** Moldova, Republic of */ 461 public static final ISO3166_1Alpha3CountryCode MDA = new ISO3166_1Alpha3CountryCode("MDA"); 462 463 /** Madagascar */ 464 public static final ISO3166_1Alpha3CountryCode MDG = new ISO3166_1Alpha3CountryCode("MDG"); 465 466 /** Maldives */ 467 public static final ISO3166_1Alpha3CountryCode MDV = new ISO3166_1Alpha3CountryCode("MDV"); 468 469 /** Mexico */ 470 public static final ISO3166_1Alpha3CountryCode MEX = new ISO3166_1Alpha3CountryCode("MEX"); 471 472 /** Marshall Islands */ 473 public static final ISO3166_1Alpha3CountryCode MHL = new ISO3166_1Alpha3CountryCode("MHL"); 474 475 /** North Macedonia */ 476 public static final ISO3166_1Alpha3CountryCode MKD = new ISO3166_1Alpha3CountryCode("MKD"); 477 478 /** Mali */ 479 public static final ISO3166_1Alpha3CountryCode MLI = new ISO3166_1Alpha3CountryCode("MLI"); 480 481 /** Malta */ 482 public static final ISO3166_1Alpha3CountryCode MLT = new ISO3166_1Alpha3CountryCode("MLT"); 483 484 /** Myanmar */ 485 public static final ISO3166_1Alpha3CountryCode MMR = new ISO3166_1Alpha3CountryCode("MMR"); 486 487 /** Montenegro */ 488 public static final ISO3166_1Alpha3CountryCode MNE = new ISO3166_1Alpha3CountryCode("MNE"); 489 490 /** Mongolia */ 491 public static final ISO3166_1Alpha3CountryCode MNG = new ISO3166_1Alpha3CountryCode("MNG"); 492 493 /** Northern Mariana Islands */ 494 public static final ISO3166_1Alpha3CountryCode MNP = new ISO3166_1Alpha3CountryCode("MNP"); 495 496 /** Mozambique */ 497 public static final ISO3166_1Alpha3CountryCode MOZ = new ISO3166_1Alpha3CountryCode("MOZ"); 498 499 /** Mauritania */ 500 public static final ISO3166_1Alpha3CountryCode MRT = new ISO3166_1Alpha3CountryCode("MRT"); 501 502 /** Montserrat */ 503 public static final ISO3166_1Alpha3CountryCode MSR = new ISO3166_1Alpha3CountryCode("MSR"); 504 505 /** Martinique */ 506 public static final ISO3166_1Alpha3CountryCode MTQ = new ISO3166_1Alpha3CountryCode("MTQ"); 507 508 /** Mauritius */ 509 public static final ISO3166_1Alpha3CountryCode MUS = new ISO3166_1Alpha3CountryCode("MUS"); 510 511 /** Malawi */ 512 public static final ISO3166_1Alpha3CountryCode MWI = new ISO3166_1Alpha3CountryCode("MWI"); 513 514 /** Malaysia */ 515 public static final ISO3166_1Alpha3CountryCode MYS = new ISO3166_1Alpha3CountryCode("MYS"); 516 517 /** Mayotte */ 518 public static final ISO3166_1Alpha3CountryCode MYT = new ISO3166_1Alpha3CountryCode("MYT"); 519 520 /** Namibia */ 521 public static final ISO3166_1Alpha3CountryCode NAM = new ISO3166_1Alpha3CountryCode("NAM"); 522 523 /** New Caledonia */ 524 public static final ISO3166_1Alpha3CountryCode NCL = new ISO3166_1Alpha3CountryCode("NCL"); 525 526 /** Niger */ 527 public static final ISO3166_1Alpha3CountryCode NER = new ISO3166_1Alpha3CountryCode("NER"); 528 529 /** Norfolk Island */ 530 public static final ISO3166_1Alpha3CountryCode NFK = new ISO3166_1Alpha3CountryCode("NFK"); 531 532 /** Nigeria */ 533 public static final ISO3166_1Alpha3CountryCode NGA = new ISO3166_1Alpha3CountryCode("NGA"); 534 535 /** Nicaragua */ 536 public static final ISO3166_1Alpha3CountryCode NIC = new ISO3166_1Alpha3CountryCode("NIC"); 537 538 /** Niue */ 539 public static final ISO3166_1Alpha3CountryCode NIU = new ISO3166_1Alpha3CountryCode("NIU"); 540 541 /** Netherlands */ 542 public static final ISO3166_1Alpha3CountryCode NLD = new ISO3166_1Alpha3CountryCode("NLD"); 543 544 /** Norway */ 545 public static final ISO3166_1Alpha3CountryCode NOR = new ISO3166_1Alpha3CountryCode("NOR"); 546 547 /** Nepal */ 548 public static final ISO3166_1Alpha3CountryCode NPL = new ISO3166_1Alpha3CountryCode("NPL"); 549 550 /** Nauru */ 551 public static final ISO3166_1Alpha3CountryCode NRU = new ISO3166_1Alpha3CountryCode("NRU"); 552 553 /** New Zealand */ 554 public static final ISO3166_1Alpha3CountryCode NZL = new ISO3166_1Alpha3CountryCode("NZL"); 555 556 /** Oman */ 557 public static final ISO3166_1Alpha3CountryCode OMN = new ISO3166_1Alpha3CountryCode("OMN"); 558 559 /** Pakistan */ 560 public static final ISO3166_1Alpha3CountryCode PAK = new ISO3166_1Alpha3CountryCode("PAK"); 561 562 /** Panama */ 563 public static final ISO3166_1Alpha3CountryCode PAN = new ISO3166_1Alpha3CountryCode("PAN"); 564 565 /** Pitcairn */ 566 public static final ISO3166_1Alpha3CountryCode PCN = new ISO3166_1Alpha3CountryCode("PCN"); 567 568 /** Peru */ 569 public static final ISO3166_1Alpha3CountryCode PER = new ISO3166_1Alpha3CountryCode("PER"); 570 571 /** Philippines */ 572 public static final ISO3166_1Alpha3CountryCode PHL = new ISO3166_1Alpha3CountryCode("PHL"); 573 574 /** Palau */ 575 public static final ISO3166_1Alpha3CountryCode PLW = new ISO3166_1Alpha3CountryCode("PLW"); 576 577 /** Papua New Guinea */ 578 public static final ISO3166_1Alpha3CountryCode PNG = new ISO3166_1Alpha3CountryCode("PNG"); 579 580 /** Poland */ 581 public static final ISO3166_1Alpha3CountryCode POL = new ISO3166_1Alpha3CountryCode("POL"); 582 583 /** Puerto Rico */ 584 public static final ISO3166_1Alpha3CountryCode PRI = new ISO3166_1Alpha3CountryCode("PRI"); 585 586 /** Korea (Democratic People's Republic of) */ 587 public static final ISO3166_1Alpha3CountryCode PRK = new ISO3166_1Alpha3CountryCode("PRK"); 588 589 /** Portugal */ 590 public static final ISO3166_1Alpha3CountryCode PRT = new ISO3166_1Alpha3CountryCode("PRT"); 591 592 /** Paraguay */ 593 public static final ISO3166_1Alpha3CountryCode PRY = new ISO3166_1Alpha3CountryCode("PRY"); 594 595 /** Palestine, State of */ 596 public static final ISO3166_1Alpha3CountryCode PSE = new ISO3166_1Alpha3CountryCode("PSE"); 597 598 /** French Polynesia */ 599 public static final ISO3166_1Alpha3CountryCode PYF = new ISO3166_1Alpha3CountryCode("PYF"); 600 601 /** Qatar */ 602 public static final ISO3166_1Alpha3CountryCode QAT = new ISO3166_1Alpha3CountryCode("QAT"); 603 604 /** Réunion */ 605 public static final ISO3166_1Alpha3CountryCode REU = new ISO3166_1Alpha3CountryCode("REU"); 606 607 /** Romania */ 608 public static final ISO3166_1Alpha3CountryCode ROU = new ISO3166_1Alpha3CountryCode("ROU"); 609 610 /** Russian Federation */ 611 public static final ISO3166_1Alpha3CountryCode RUS = new ISO3166_1Alpha3CountryCode("RUS"); 612 613 /** Rwanda */ 614 public static final ISO3166_1Alpha3CountryCode RWA = new ISO3166_1Alpha3CountryCode("RWA"); 615 616 /** Saudi Arabia */ 617 public static final ISO3166_1Alpha3CountryCode SAU = new ISO3166_1Alpha3CountryCode("SAU"); 618 619 /** Sudan */ 620 public static final ISO3166_1Alpha3CountryCode SDN = new ISO3166_1Alpha3CountryCode("SDN"); 621 622 /** Senegal */ 623 public static final ISO3166_1Alpha3CountryCode SEN = new ISO3166_1Alpha3CountryCode("SEN"); 624 625 /** Singapore */ 626 public static final ISO3166_1Alpha3CountryCode SGP = new ISO3166_1Alpha3CountryCode("SGP"); 627 628 /** South Georgia and the South Sandwich Islands */ 629 public static final ISO3166_1Alpha3CountryCode SGS = new ISO3166_1Alpha3CountryCode("SGS"); 630 631 /** Saint Helena, Ascension and Tristan da Cunha */ 632 public static final ISO3166_1Alpha3CountryCode SHN = new ISO3166_1Alpha3CountryCode("SHN"); 633 634 /** Svalbard and Jan Mayen */ 635 public static final ISO3166_1Alpha3CountryCode SJM = new ISO3166_1Alpha3CountryCode("SJM"); 636 637 /** Solomon Islands */ 638 public static final ISO3166_1Alpha3CountryCode SLB = new ISO3166_1Alpha3CountryCode("SLB"); 639 640 /** Sierra Leone */ 641 public static final ISO3166_1Alpha3CountryCode SLE = new ISO3166_1Alpha3CountryCode("SLE"); 642 643 /** El Salvador */ 644 public static final ISO3166_1Alpha3CountryCode SLV = new ISO3166_1Alpha3CountryCode("SLV"); 645 646 /** San Marino */ 647 public static final ISO3166_1Alpha3CountryCode SMR = new ISO3166_1Alpha3CountryCode("SMR"); 648 649 /** Somalia */ 650 public static final ISO3166_1Alpha3CountryCode SOM = new ISO3166_1Alpha3CountryCode("SOM"); 651 652 /** Saint Pierre and Miquelon */ 653 public static final ISO3166_1Alpha3CountryCode SPM = new ISO3166_1Alpha3CountryCode("SPM"); 654 655 /** Serbia */ 656 public static final ISO3166_1Alpha3CountryCode SRB = new ISO3166_1Alpha3CountryCode("SRB"); 657 658 /** South Sudan */ 659 public static final ISO3166_1Alpha3CountryCode SSD = new ISO3166_1Alpha3CountryCode("SSD"); 660 661 /** Sao Tome and Principe */ 662 public static final ISO3166_1Alpha3CountryCode STP = new ISO3166_1Alpha3CountryCode("STP"); 663 664 /** Suriname */ 665 public static final ISO3166_1Alpha3CountryCode SUR = new ISO3166_1Alpha3CountryCode("SUR"); 666 667 /** Slovakia */ 668 public static final ISO3166_1Alpha3CountryCode SVK = new ISO3166_1Alpha3CountryCode("SVK"); 669 670 /** Slovenia */ 671 public static final ISO3166_1Alpha3CountryCode SVN = new ISO3166_1Alpha3CountryCode("SVN"); 672 673 /** Sweden */ 674 public static final ISO3166_1Alpha3CountryCode SWE = new ISO3166_1Alpha3CountryCode("SWE"); 675 676 /** Eswatini */ 677 public static final ISO3166_1Alpha3CountryCode SWZ = new ISO3166_1Alpha3CountryCode("SWZ"); 678 679 /** Sint Maarten (Dutch part) */ 680 public static final ISO3166_1Alpha3CountryCode SXM = new ISO3166_1Alpha3CountryCode("SXM"); 681 682 /** Seychelles */ 683 public static final ISO3166_1Alpha3CountryCode SYC = new ISO3166_1Alpha3CountryCode("SYC"); 684 685 /** Syrian Arab Republic */ 686 public static final ISO3166_1Alpha3CountryCode SYR = new ISO3166_1Alpha3CountryCode("SYR"); 687 688 /** Turks and Caicos Islands */ 689 public static final ISO3166_1Alpha3CountryCode TCA = new ISO3166_1Alpha3CountryCode("TCA"); 690 691 /** Chad */ 692 public static final ISO3166_1Alpha3CountryCode TCD = new ISO3166_1Alpha3CountryCode("TCD"); 693 694 /** Togo */ 695 public static final ISO3166_1Alpha3CountryCode TGO = new ISO3166_1Alpha3CountryCode("TGO"); 696 697 /** Thailand */ 698 public static final ISO3166_1Alpha3CountryCode THA = new ISO3166_1Alpha3CountryCode("THA"); 699 700 /** Tajikistan */ 701 public static final ISO3166_1Alpha3CountryCode TJK = new ISO3166_1Alpha3CountryCode("TJK"); 702 703 /** Tokelau */ 704 public static final ISO3166_1Alpha3CountryCode TKL = new ISO3166_1Alpha3CountryCode("TKL"); 705 706 /** Turkmenistan */ 707 public static final ISO3166_1Alpha3CountryCode TKM = new ISO3166_1Alpha3CountryCode("TKM"); 708 709 /** Timor-Leste */ 710 public static final ISO3166_1Alpha3CountryCode TLS = new ISO3166_1Alpha3CountryCode("TLS"); 711 712 /** Tonga */ 713 public static final ISO3166_1Alpha3CountryCode TON = new ISO3166_1Alpha3CountryCode("TON"); 714 715 /** Trinidad and Tobago */ 716 public static final ISO3166_1Alpha3CountryCode TTO = new ISO3166_1Alpha3CountryCode("TTO"); 717 718 /** Tunisia */ 719 public static final ISO3166_1Alpha3CountryCode TUN = new ISO3166_1Alpha3CountryCode("TUN"); 720 721 /** Turkey */ 722 public static final ISO3166_1Alpha3CountryCode TUR = new ISO3166_1Alpha3CountryCode("TUR"); 723 724 /** Tuvalu */ 725 public static final ISO3166_1Alpha3CountryCode TUV = new ISO3166_1Alpha3CountryCode("TUV"); 726 727 /** Taiwan, Province of China */ 728 public static final ISO3166_1Alpha3CountryCode TWN = new ISO3166_1Alpha3CountryCode("TWN"); 729 730 /** Tanzania, United Republic of */ 731 public static final ISO3166_1Alpha3CountryCode TZA = new ISO3166_1Alpha3CountryCode("TZA"); 732 733 /** Uganda */ 734 public static final ISO3166_1Alpha3CountryCode UGA = new ISO3166_1Alpha3CountryCode("UGA"); 735 736 /** Ukraine */ 737 public static final ISO3166_1Alpha3CountryCode UKR = new ISO3166_1Alpha3CountryCode("UKR"); 738 739 /** United States Minor Outlying Islands */ 740 public static final ISO3166_1Alpha3CountryCode UMI = new ISO3166_1Alpha3CountryCode("UMI"); 741 742 /** Uruguay */ 743 public static final ISO3166_1Alpha3CountryCode URY = new ISO3166_1Alpha3CountryCode("URY"); 744 745 /** United States of America */ 746 public static final ISO3166_1Alpha3CountryCode USA = new ISO3166_1Alpha3CountryCode("USA"); 747 748 /** Uzbekistan */ 749 public static final ISO3166_1Alpha3CountryCode UZB = new ISO3166_1Alpha3CountryCode("UZB"); 750 751 /** Holy See */ 752 public static final ISO3166_1Alpha3CountryCode VAT = new ISO3166_1Alpha3CountryCode("VAT"); 753 754 /** Saint Vincent and the Grenadines */ 755 public static final ISO3166_1Alpha3CountryCode VCT = new ISO3166_1Alpha3CountryCode("VCT"); 756 757 /** Venezuela (Bolivarian Republic of) */ 758 public static final ISO3166_1Alpha3CountryCode VEN = new ISO3166_1Alpha3CountryCode("VEN"); 759 760 /** Virgin Islands (British) */ 761 public static final ISO3166_1Alpha3CountryCode VGB = new ISO3166_1Alpha3CountryCode("VGB"); 762 763 /** Virgin Islands (U.S.) */ 764 public static final ISO3166_1Alpha3CountryCode VIR = new ISO3166_1Alpha3CountryCode("VIR"); 765 766 /** Viet Nam */ 767 public static final ISO3166_1Alpha3CountryCode VNM = new ISO3166_1Alpha3CountryCode("VNM"); 768 769 /** Vanuatu */ 770 public static final ISO3166_1Alpha3CountryCode VUT = new ISO3166_1Alpha3CountryCode("VUT"); 771 772 /** Wallis and Futuna */ 773 public static final ISO3166_1Alpha3CountryCode WLF = new ISO3166_1Alpha3CountryCode("WLF"); 774 775 /** Samoa */ 776 public static final ISO3166_1Alpha3CountryCode WSM = new ISO3166_1Alpha3CountryCode("WSM"); 777 778 /** Yemen */ 779 public static final ISO3166_1Alpha3CountryCode YEM = new ISO3166_1Alpha3CountryCode("YEM"); 780 781 /** South Africa */ 782 public static final ISO3166_1Alpha3CountryCode ZAF = new ISO3166_1Alpha3CountryCode("ZAF"); 783 784 /** Zambia */ 785 public static final ISO3166_1Alpha3CountryCode ZMB = new ISO3166_1Alpha3CountryCode("ZMB"); 786 787 /** Zimbabwe */ 788 public static final ISO3166_1Alpha3CountryCode ZWE = new ISO3166_1Alpha3CountryCode("ZWE"); 789 790 791 /** 792 * The {@code iso3166_1alpha3-codes.properties} resource. 793 */ 794 private static final Properties CODES_RESOURCE = new Properties(); 795 796 797 /** 798 * Creates a new ISO 3166-1 alpha-3 country code. Normalises the code 799 * to upper case. 800 * 801 * @param value The country code value, must be three-letter. 802 */ 803 public ISO3166_1Alpha3CountryCode(final String value) { 804 super(value); 805 if (value.length() != 3) { 806 throw new IllegalArgumentException("The ISO 3166-1 alpha-3 country code must be 3 letters"); 807 } 808 } 809 810 811 /** 812 * Returns the matching alpha-2 country code. See 813 * {@link ISO3166_1AlphaCountryCodeMapper}. 814 * 815 * @return The matching alpha-2 country code, {@code null} if none. 816 */ 817 public ISO3166_1Alpha2CountryCode toAlpha2CountryCode() { 818 819 return ISO3166_1AlphaCountryCodeMapper.toAlpha2CountryCode(this); 820 } 821 822 823 /** 824 * Returns the country name if available in the 825 * {@code iso3166_1alpha3-codes.properties} resource. 826 * 827 * @return The country name, {@code null} if not available. 828 */ 829 @Override 830 public String getCountryName() { 831 832 if (CODES_RESOURCE.isEmpty()) { 833 try (InputStream is = getClass().getClassLoader().getResourceAsStream("iso3166_1alpha3-codes.properties")) { 834 CODES_RESOURCE.load(is); 835 } catch (IOException e) { 836 return null; 837 } 838 } 839 840 return CODES_RESOURCE.getProperty(getValue()); 841 } 842 843 844 @Override 845 public boolean equals(final Object object) { 846 847 return object instanceof ISO3166_1Alpha3CountryCode && 848 this.toString().equals(object.toString()); 849 } 850 851 852 /** 853 * Parses an ISO 3166-1 alpha-3 (three-letter) country code. 854 * 855 * @param s The string to parse. Must not be {@code null}. 856 * 857 * @return The ISO 3166-1 alpha-3 (three-letter) country code. 858 * 859 * @throws ParseException If parsing failed. 860 */ 861 public static ISO3166_1Alpha3CountryCode parse(final String s) 862 throws ParseException { 863 864 try { 865 return new ISO3166_1Alpha3CountryCode(s); 866 } catch (IllegalArgumentException e) { 867 throw new ParseException(e.getMessage()); 868 } 869 } 870}