diff --git a/pom.xml b/pom.xml
index a3bc969..aef0097 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
mapcode
jar
- 2.0.1
+ 2.0.2-SNAPSHOT
Mapcode Java Library
diff --git a/src/main/java/com/mapcode/Alphabet.java b/src/main/java/com/mapcode/Alphabet.java
index 147064e..eae51fb 100644
--- a/src/main/java/com/mapcode/Alphabet.java
+++ b/src/main/java/com/mapcode/Alphabet.java
@@ -21,12 +21,15 @@
import static com.mapcode.CheckArgs.checkNonnull;
/**
- * This enum defines all alphabets supported for mapcodes. Mapcodes can be safely converted between
- * alphabets and fed to the mapcode decoder in the regular ASCII Roman alphabet or any other.
+ * This enum defines all alphabets supported for mapcodes. Note that an alphabet is different from a
+ * language or locale. An alternative name for an alphabet is "script".
+ *
+ * Mapcodes can be safely converted between alphabets and fed to the mapcode decoder in the regular
+ * ASCII Roman alphabet or any other.
*/
public enum Alphabet {
- ROMAN(0),
- GREEK(1),
+ ROMAN(0), // The numeric codes for alphabets are used by the implementation
+ GREEK(1), // of the mapcode library. Do not change them.
CYRILLIC(2),
HEBREW(3),
HINDI(4),
@@ -41,8 +44,7 @@ public enum Alphabet {
TIBETAN(13);
/**
- * The numeric code is synonym for the alphanumeric code. It can be used in the decoder
- * to define a territory as well.
+ * The numeric code is synonym for the alphanumeric code. Used in the decoder.
*/
private final int number;
@@ -65,7 +67,7 @@ int getNumber() {
}
/**
- * Return alphabet from a string, which can be a numeric or alpha code.
+ * Return alphabet from a string, which needs to be an alphanumeric code.
*
* @param alphaCode Alphabet, alphanumeric code.
* @return Alphabet.
@@ -83,7 +85,7 @@ public static Alphabet fromString(@Nonnull final String alphaCode) throws Unknow
}
/**
- * Static checking of the static data structures.
+ * Static consistency check of internal data structures.
*/
static {
int i = 0;
diff --git a/src/main/java/com/mapcode/CheckArgs.java b/src/main/java/com/mapcode/CheckArgs.java
index a060273..f72afce 100644
--- a/src/main/java/com/mapcode/CheckArgs.java
+++ b/src/main/java/com/mapcode/CheckArgs.java
@@ -22,7 +22,9 @@
import static com.mapcode.Mapcode.getPrecisionFormat;
/**
- * Package private helper methods to check arguments for validity.
+ * ----------------------------------------------------------------------------------------------
+ * Package private implementation class. For internal use within the Mapcode implementation only.
+ * ----------------------------------------------------------------------------------------------
*/
class CheckArgs {
@@ -30,14 +32,6 @@ private CheckArgs() {
// Prevent instantiation.
}
- static void checkRange(@Nonnull final String param, final double value,
- final double min, final double max) throws IllegalArgumentException {
- if ((value < min) || (value > max)) {
- throw new IllegalArgumentException("Parameter " + param +
- " should be in range [" + min + ", " + max + "], but is: " + value);
- }
- }
-
static void checkNonnull(@Nonnull final String param, @Nullable final Object obj)
throws IllegalArgumentException {
if (obj == null) {
diff --git a/src/main/java/com/mapcode/Mapcode.java b/src/main/java/com/mapcode/Mapcode.java
index 0271dc4..70369d4 100644
--- a/src/main/java/com/mapcode/Mapcode.java
+++ b/src/main/java/com/mapcode/Mapcode.java
@@ -333,7 +333,7 @@ public static PrecisionFormat getPrecisionFormat(@Nonnull final String mapcode)
* actually a valid mapcode representing a location on Earth.
* @throws IllegalArgumentException If mapcode is null.
*/
- public static boolean isValidPrecisionFormat(@Nonnull final String mapcode) throws IllegalArgumentException {
+ public static boolean isValidMapcodeFormat(@Nonnull final String mapcode) throws IllegalArgumentException {
checkNonnull("mapcode", mapcode);
try {
// Throws an exception if the format is incorrect.
diff --git a/src/main/java/com/mapcode/ParentTerritory.java b/src/main/java/com/mapcode/ParentTerritory.java
deleted file mode 100755
index a066baf..0000000
--- a/src/main/java/com/mapcode/ParentTerritory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2014-2015 Stichting Mapcode Foundation (http://www.mapcode.com)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.mapcode;
-
-import javax.annotation.Nonnull;
-
-/**
- * ----------------------------------------------------------------------------------------------
- * Mapcode public interface.
- * ----------------------------------------------------------------------------------------------
- *
- * This class defines "parent territories" for territories that have multiple territory codes.
- */
-public enum ParentTerritory {
- IND(Territory.IND),
- AUS(Territory.AUS),
- BRA(Territory.BRA),
- USA(Territory.USA),
- MEX(Territory.MEX),
- CAN(Territory.CAN),
- RUS(Territory.RUS),
- CHN(Territory.CHN);
-
- @Nonnull
- public Territory getTerritory() {
- return territory;
- }
-
- @Nonnull
- private final Territory territory;
-
- private ParentTerritory(@Nonnull final Territory territory) {
- this.territory = territory;
- }
-}
diff --git a/src/main/java/com/mapcode/Point.java b/src/main/java/com/mapcode/Point.java
index 9ff51f9..175ab52 100644
--- a/src/main/java/com/mapcode/Point.java
+++ b/src/main/java/com/mapcode/Point.java
@@ -23,10 +23,6 @@
import static com.mapcode.CheckArgs.checkNonnull;
/**
- * ----------------------------------------------------------------------------------------------
- * Package private implementation class. For internal use within the mapcode implementation only.
- * ----------------------------------------------------------------------------------------------
- *
* This class defines a class for lat/lon points.
*/
public class Point {
@@ -37,13 +33,6 @@ public class Point {
public static final double LAT_DEG_MIN = -90.0;
public static final double LAT_DEG_MAX = 90.0;
- public static final int LON_MICRODEG_MIN = degToMicroDeg(LON_DEG_MIN);
- public static final int LON_MICRODEG_MAX = degToMicroDeg(LON_DEG_MAX);
- public static final int LAT_MICRODEG_MIN = degToMicroDeg(LAT_DEG_MIN);
- public static final int LAT_MICRODEG_MAX = degToMicroDeg(LAT_DEG_MAX);
-
- public static final double MICRODEG_TO_DEG_FACTOR = 1000000.0;
-
// Radius of Earth.
public static final double EARTH_RADIUS_X_METERS = 6378137.0;
public static final double EARTH_RADIUS_Y_METERS = 6356752.3;
@@ -155,8 +144,7 @@ public static double distanceInMeters(@Nonnull final Point p1, @Nonnull final Po
final double deltaYMeters = degreesLatToMeters(deltaLatDeg);
// Calculate length through Earth. This is an approximation, but works fine for short distances.
- final double lenMeters = Math.sqrt((deltaXMeters * deltaXMeters) + (deltaYMeters * deltaYMeters));
- return lenMeters;
+ return Math.sqrt((deltaXMeters * deltaXMeters) + (deltaYMeters * deltaYMeters));
}
public static double degreesLatToMeters(final double latDegrees) {
@@ -236,6 +224,11 @@ private Point(final double latDeg, final double lonDeg, final boolean wrap) {
/**
* Package private methods. Only used in the mapcode implementation modules.
*/
+ static final double MICRODEG_TO_DEG_FACTOR = 1000000.0;
+ static final int LON_MICRODEG_MIN = degToMicroDeg(LON_DEG_MIN);
+ static final int LON_MICRODEG_MAX = degToMicroDeg(LON_DEG_MAX);
+ static final int LAT_MICRODEG_MIN = degToMicroDeg(LAT_DEG_MIN);
+ static final int LAT_MICRODEG_MAX = degToMicroDeg(LAT_DEG_MAX);
@Nonnull
static Point fromMicroDeg(final int latMicroDeg, final int lonMicroDeg) {
@@ -287,8 +280,7 @@ Point wrap() {
* @return Limited to [-90, 90].
*/
static double mapToLat(final double value) {
- final double lat = (value < -90.0) ? -90.0 : ((value > 90.0) ? 90.0 : value);
- return lat;
+ return (value < -90.0) ? -90.0 : ((value > 90.0) ? 90.0 : value);
}
/**
diff --git a/src/main/java/com/mapcode/Territory.java b/src/main/java/com/mapcode/Territory.java
index 17956ae..71fde5e 100755
--- a/src/main/java/com/mapcode/Territory.java
+++ b/src/main/java/com/mapcode/Territory.java
@@ -277,298 +277,302 @@ public enum Territory {
LBY(230, "Libya"),
SDN(231, "Sudan"),
IDN(232, "Indonesia"),
- MX_DIF(233, "Federal District", ParentTerritory.MEX, new String[]{"MX-DF"}),
- MX_TLA(234, "Tlaxcala", ParentTerritory.MEX, new String[]{"MX-TL"}),
- MX_MOR(235, "Morelos", ParentTerritory.MEX, new String[]{"MX-MO"}),
- MX_AGU(236, "Aguascalientes", ParentTerritory.MEX, new String[]{"MX-AG"}),
- MX_CL(237, "Colima", ParentTerritory.MEX, new String[]{"MX-COL"}),
- MX_QUE(238, "Queretaro", ParentTerritory.MEX, new String[]{"MX-QE"}),
- MX_HID(239, "Hidalgo", ParentTerritory.MEX, new String[]{"MX-HG"}),
- MX_MX(240, "Mexico State", ParentTerritory.MEX, new String[]{"MX-ME", "MX-MEX"}),
- MX_TAB(241, "Tabasco", ParentTerritory.MEX, new String[]{"MX-TB"}),
- MX_NAY(242, "Nayarit", ParentTerritory.MEX, new String[]{"MX-NA"}),
- MX_GUA(243, "Guanajuato", ParentTerritory.MEX, new String[]{"MX-GT"}),
- MX_PUE(244, "Puebla", ParentTerritory.MEX, new String[]{"MX-PB"}),
- MX_YUC(245, "Yucatan", ParentTerritory.MEX, new String[]{"MX-YU"}),
- MX_ROO(246, "Quintana Roo", ParentTerritory.MEX, new String[]{"MX-QR"}),
- MX_SIN(247, "Sinaloa", ParentTerritory.MEX, new String[]{"MX-SI"}),
- MX_CAM(248, "Campeche", ParentTerritory.MEX, new String[]{"MX-CM"}),
- MX_MIC(249, "Michoacan", ParentTerritory.MEX, new String[]{"MX-MI"}),
- MX_SLP(250, "San Luis Potosi", ParentTerritory.MEX, new String[]{"MX-SL"}),
- MX_GRO(251, "Guerrero", ParentTerritory.MEX, new String[]{"MX-GR"}),
- MX_NLE(252, "Nuevo Leon", ParentTerritory.MEX, new String[]{"MX-NL"}),
- MX_BCN(253, "Baja California", ParentTerritory.MEX, new String[]{"MX-BC"}),
- MX_VER(254, "Veracruz", ParentTerritory.MEX, new String[]{"MX-VE"}),
- MX_CHP(255, "Chiapas", ParentTerritory.MEX, new String[]{"MX-CS"}),
- MX_BCS(256, "Baja California Sur", ParentTerritory.MEX, new String[]{"MX-BS"}),
- MX_ZAC(257, "Zacatecas", ParentTerritory.MEX, new String[]{"MX-ZA"}),
- MX_JAL(258, "Jalisco", ParentTerritory.MEX, new String[]{"MX-JA"}),
- MX_TAM(259, "Tamaulipas", ParentTerritory.MEX, new String[]{"MX-TM"}),
- MX_OAX(260, "Oaxaca", ParentTerritory.MEX, new String[]{"MX-OA"}),
- MX_DUR(261, "Durango", ParentTerritory.MEX, new String[]{"MX-DG"}),
- MX_COA(262, "Coahuila", ParentTerritory.MEX, new String[]{"MX-CO"}),
- MX_SON(263, "Sonora", ParentTerritory.MEX, new String[]{"MX-SO"}),
- MX_CHH(264, "Chihuahua", ParentTerritory.MEX, new String[]{"MX-CH"}),
+ MX_DIF(233, "Federal District", MEX, new String[]{"MX-DF"}),
+ MX_TLA(234, "Tlaxcala", MEX, new String[]{"MX-TL"}),
+ MX_MOR(235, "Morelos", MEX, new String[]{"MX-MO"}),
+ MX_AGU(236, "Aguascalientes", MEX, new String[]{"MX-AG"}),
+ MX_CL(237, "Colima", MEX, new String[]{"MX-COL"}),
+ MX_QUE(238, "Queretaro", MEX, new String[]{"MX-QE"}),
+ MX_HID(239, "Hidalgo", MEX, new String[]{"MX-HG"}),
+ MX_MX(240, "Mexico State", MEX, new String[]{"MX-ME", "MX-MEX"}),
+ MX_TAB(241, "Tabasco", MEX, new String[]{"MX-TB"}),
+ MX_NAY(242, "Nayarit", MEX, new String[]{"MX-NA"}),
+ MX_GUA(243, "Guanajuato", MEX, new String[]{"MX-GT"}),
+ MX_PUE(244, "Puebla", MEX, new String[]{"MX-PB"}),
+ MX_YUC(245, "Yucatan", MEX, new String[]{"MX-YU"}),
+ MX_ROO(246, "Quintana Roo", MEX, new String[]{"MX-QR"}),
+ MX_SIN(247, "Sinaloa", MEX, new String[]{"MX-SI"}),
+ MX_CAM(248, "Campeche", MEX, new String[]{"MX-CM"}),
+ MX_MIC(249, "Michoacan", MEX, new String[]{"MX-MI"}),
+ MX_SLP(250, "San Luis Potosi", MEX, new String[]{"MX-SL"}),
+ MX_GRO(251, "Guerrero", MEX, new String[]{"MX-GR"}),
+ MX_NLE(252, "Nuevo Leon", MEX, new String[]{"MX-NL"}),
+ MX_BCN(253, "Baja California", MEX, new String[]{"MX-BC"}),
+ MX_VER(254, "Veracruz", MEX, new String[]{"MX-VE"}),
+ MX_CHP(255, "Chiapas", MEX, new String[]{"MX-CS"}),
+ MX_BCS(256, "Baja California Sur", MEX, new String[]{"MX-BS"}),
+ MX_ZAC(257, "Zacatecas", MEX, new String[]{"MX-ZA"}),
+ MX_JAL(258, "Jalisco", MEX, new String[]{"MX-JA"}),
+ MX_TAM(259, "Tamaulipas", MEX, new String[]{"MX-TM"}),
+ MX_OAX(260, "Oaxaca", MEX, new String[]{"MX-OA"}),
+ MX_DUR(261, "Durango", MEX, new String[]{"MX-DG"}),
+ MX_COA(262, "Coahuila", MEX, new String[]{"MX-CO"}),
+ MX_SON(263, "Sonora", MEX, new String[]{"MX-SO"}),
+ MX_CHH(264, "Chihuahua", MEX, new String[]{"MX-CH"}),
GRL(265, "Greenland"),
SAU(266, "Saudi Arabia"),
COD(267, "Congo-Kinshasa"),
DZA(268, "Algeria"),
KAZ(269, "Kazakhstan"),
ARG(270, "Argentina"),
- IN_DD(271, "Daman and Diu", ParentTerritory.IND),
- IN_DN(272, "Dadra and Nagar Haveli", ParentTerritory.IND),
- IN_CH(273, "Chandigarh", ParentTerritory.IND),
- IN_AN(274, "Andaman and Nicobar", ParentTerritory.IND),
- IN_LD(275, "Lakshadweep", ParentTerritory.IND),
- IN_DL(276, "Delhi", ParentTerritory.IND),
- IN_ML(277, "Meghalaya", ParentTerritory.IND),
- IN_NL(278, "Nagaland", ParentTerritory.IND),
- IN_MN(279, "Manipur", ParentTerritory.IND),
- IN_TR(280, "Tripura", ParentTerritory.IND),
- IN_MZ(281, "Mizoram", ParentTerritory.IND),
- IN_SK(282, "Sikkim", ParentTerritory.IND),
- IN_PB(283, "Punjab", ParentTerritory.IND),
- IN_HR(284, "Haryana", ParentTerritory.IND),
- IN_AR(285, "Arunachal Pradesh", ParentTerritory.IND),
- IN_AS(286, "Assam", ParentTerritory.IND),
- IN_BR(287, "Bihar", ParentTerritory.IND),
- IN_UT(288, "Uttarakhand", ParentTerritory.IND, new String[]{"IN-UK"}),
- IN_GA(289, "Goa", ParentTerritory.IND),
- IN_KL(290, "Kerala", ParentTerritory.IND),
- IN_TN(291, "Tamil Nadu", ParentTerritory.IND),
- IN_HP(292, "Himachal Pradesh", ParentTerritory.IND),
- IN_JK(293, "Jammu and Kashmir", ParentTerritory.IND),
- IN_CT(294, "Chhattisgarh", ParentTerritory.IND, new String[]{"IN-CG"}),
- IN_JH(295, "Jharkhand", ParentTerritory.IND),
- IN_KA(296, "Karnataka", ParentTerritory.IND),
- IN_RJ(297, "Rajasthan", ParentTerritory.IND),
- IN_OR(298, "Odisha", ParentTerritory.IND, new String[]{"IN-OD"}, new String[]{"Orissa"}),
- IN_GJ(299, "Gujarat", ParentTerritory.IND),
- IN_WB(300, "West Bengal", ParentTerritory.IND),
- IN_MP(301, "Madhya Pradesh", ParentTerritory.IND),
- IN_TG(302, "Telangana", ParentTerritory.IND),
- IN_AP(303, "Andhra Pradesh", ParentTerritory.IND),
- IN_MH(304, "Maharashtra", ParentTerritory.IND),
- IN_UP(305, "Uttar Pradesh", ParentTerritory.IND),
- IN_PY(306, "Puducherry", ParentTerritory.IND),
- AU_NSW(307, "New South Wales", ParentTerritory.AUS),
- AU_ACT(308, "Australian Capital Territory", ParentTerritory.AUS),
- AU_JBT(309, "Jervis Bay Territory", ParentTerritory.AUS),
- AU_NT(310, "Northern Territory", ParentTerritory.AUS),
- AU_SA(311, "South Australia", ParentTerritory.AUS),
- AU_TAS(312, "Tasmania", ParentTerritory.AUS),
- AU_VIC(313, "Victoria", ParentTerritory.AUS),
- AU_WA(314, "Western Australia", ParentTerritory.AUS),
- AU_QLD(315, "Queensland", ParentTerritory.AUS),
- BR_DF(316, "Distrito Federal", ParentTerritory.BRA),
- BR_SE(317, "Sergipe", ParentTerritory.BRA),
- BR_AL(318, "Alagoas", ParentTerritory.BRA),
- BR_RJ(319, "Rio de Janeiro", ParentTerritory.BRA),
- BR_ES(320, "Espirito Santo", ParentTerritory.BRA),
- BR_RN(321, "Rio Grande do Norte", ParentTerritory.BRA),
- BR_PB(322, "Paraiba", ParentTerritory.BRA),
- BR_SC(323, "Santa Catarina", ParentTerritory.BRA),
- BR_PE(324, "Pernambuco", ParentTerritory.BRA),
- BR_AP(325, "Amapa", ParentTerritory.BRA),
- BR_CE(326, "Ceara", ParentTerritory.BRA),
- BR_AC(327, "Acre", ParentTerritory.BRA),
- BR_PR(328, "Parana", ParentTerritory.BRA),
- BR_RR(329, "Roraima", ParentTerritory.BRA),
- BR_RO(330, "Rondonia", ParentTerritory.BRA),
- BR_SP(331, "Sao Paulo", ParentTerritory.BRA),
- BR_PI(332, "Piaui", ParentTerritory.BRA),
- BR_TO(333, "Tocantins", ParentTerritory.BRA),
- BR_RS(334, "Rio Grande do Sul", ParentTerritory.BRA),
- BR_MA(335, "Maranhao", ParentTerritory.BRA),
- BR_GO(336, "Goias", ParentTerritory.BRA),
- BR_MS(337, "Mato Grosso do Sul", ParentTerritory.BRA),
- BR_BA(338, "Bahia", ParentTerritory.BRA),
- BR_MG(339, "Minas Gerais", ParentTerritory.BRA),
- BR_MT(340, "Mato Grosso", ParentTerritory.BRA),
- BR_PA(341, "Para", ParentTerritory.BRA),
- BR_AM(342, "Amazonas", ParentTerritory.BRA),
- US_DC(343, "District of Columbia", ParentTerritory.USA),
- US_RI(344, "Rhode Island", ParentTerritory.USA),
- US_DE(345, "Delaware", ParentTerritory.USA),
- US_CT(346, "Connecticut", ParentTerritory.USA),
- US_NJ(347, "New Jersey", ParentTerritory.USA),
- US_NH(348, "New Hampshire", ParentTerritory.USA),
- US_VT(349, "Vermont", ParentTerritory.USA),
- US_MA(350, "Massachusetts", ParentTerritory.USA),
- US_HI(351, "Hawaii", ParentTerritory.USA, new String[]{"US-MID"}),
- US_MD(352, "Maryland", ParentTerritory.USA),
- US_WV(353, "West Virginia", ParentTerritory.USA),
- US_SC(354, "South Carolina", ParentTerritory.USA),
- US_ME(355, "Maine", ParentTerritory.USA),
- US_IN(356, "Indiana", ParentTerritory.USA),
- US_KY(357, "Kentucky", ParentTerritory.USA),
- US_TN(358, "Tennessee", ParentTerritory.USA),
- US_VA(359, "Virginia", ParentTerritory.USA),
- US_OH(360, "Ohio", ParentTerritory.USA),
- US_PA(361, "Pennsylvania", ParentTerritory.USA),
- US_MS(362, "Mississippi", ParentTerritory.USA),
- US_LA(363, "Louisiana", ParentTerritory.USA),
- US_AL(364, "Alabama", ParentTerritory.USA),
- US_AR(365, "Arkansas", ParentTerritory.USA),
- US_NC(366, "North Carolina", ParentTerritory.USA),
- US_NY(367, "New York", ParentTerritory.USA),
- US_IA(368, "Iowa", ParentTerritory.USA),
- US_IL(369, "Illinois", ParentTerritory.USA),
- US_GA(370, "Georgia", ParentTerritory.USA),
- US_WI(371, "Wisconsin", ParentTerritory.USA),
- US_FL(372, "Florida", ParentTerritory.USA),
- US_MO(373, "Missouri", ParentTerritory.USA),
- US_OK(374, "Oklahoma", ParentTerritory.USA),
- US_ND(375, "North Dakota", ParentTerritory.USA),
- US_WA(376, "Washington", ParentTerritory.USA),
- US_SD(377, "South Dakota", ParentTerritory.USA),
- US_NE(378, "Nebraska", ParentTerritory.USA),
- US_KS(379, "Kansas", ParentTerritory.USA),
- US_ID(380, "Idaho", ParentTerritory.USA),
- US_UT(381, "Utah", ParentTerritory.USA),
- US_MN(382, "Minnesota", ParentTerritory.USA),
- US_MI(383, "Michigan", ParentTerritory.USA),
- US_WY(384, "Wyoming", ParentTerritory.USA),
- US_OR(385, "Oregon", ParentTerritory.USA),
- US_CO(386, "Colorado", ParentTerritory.USA),
- US_NV(387, "Nevada", ParentTerritory.USA),
- US_AZ(388, "Arizona", ParentTerritory.USA),
- US_NM(389, "New Mexico", ParentTerritory.USA),
- US_MT(390, "Montana", ParentTerritory.USA),
- US_CA(391, "California", ParentTerritory.USA),
- US_TX(392, "Texas", ParentTerritory.USA),
- US_AK(393, "Alaska", ParentTerritory.USA),
- CA_BC(394, "British Columbia", ParentTerritory.CAN),
- CA_AB(395, "Alberta", ParentTerritory.CAN),
- CA_ON(396, "Ontario", ParentTerritory.CAN),
- CA_QC(397, "Quebec", ParentTerritory.CAN),
- CA_SK(398, "Saskatchewan", ParentTerritory.CAN),
- CA_MB(399, "Manitoba", ParentTerritory.CAN),
- CA_NL(400, "Newfoundland", ParentTerritory.CAN),
- CA_NB(401, "New Brunswick", ParentTerritory.CAN),
- CA_NS(402, "Nova Scotia", ParentTerritory.CAN),
- CA_PE(403, "Prince Edward Island", ParentTerritory.CAN),
- CA_YT(404, "Yukon", ParentTerritory.CAN),
- CA_NT(405, "Northwest Territories", ParentTerritory.CAN),
- CA_NU(406, "Nunavut", ParentTerritory.CAN),
- RU_MOW(412, "Moscow", ParentTerritory.RUS),
- RU_SPE(413, "Saint Petersburg", ParentTerritory.RUS),
- RU_KGD(414, "Kaliningrad Oblast", ParentTerritory.RUS),
- RU_IN(415, "Ingushetia Republic", ParentTerritory.RUS),
- RU_AD(416, "Adygea Republic", ParentTerritory.RUS),
- RU_SE(417, "North Ossetia-Alania Republic", ParentTerritory.RUS),
- RU_KB(418, "Kabardino-Balkar Republic", ParentTerritory.RUS),
- RU_KC(419, "Karachay-Cherkess Republic", ParentTerritory.RUS),
- RU_CE(420, "Chechen Republic", ParentTerritory.RUS),
- RU_CU(421, "Chuvash Republic", ParentTerritory.RUS),
- RU_IVA(422, "Ivanovo Oblast", ParentTerritory.RUS),
- RU_LIP(423, "Lipetsk Oblast", ParentTerritory.RUS),
- RU_ORL(424, "Oryol Oblast", ParentTerritory.RUS),
- RU_TUL(425, "Tula Oblast", ParentTerritory.RUS),
- RU_BE(426, "Belgorod Oblast", ParentTerritory.RUS, new String[]{"RU-BEL"}),
- RU_VLA(427, "Vladimir Oblast", ParentTerritory.RUS),
- RU_KRS(428, "Kursk Oblast", ParentTerritory.RUS),
- RU_KLU(429, "Kaluga Oblast", ParentTerritory.RUS),
- RU_TT(430, "Tambov Oblast", ParentTerritory.RUS, new String[]{"RU-TAM"}),
- RU_BRY(431, "Bryansk Oblast", ParentTerritory.RUS),
- RU_YAR(432, "Yaroslavl Oblast", ParentTerritory.RUS),
- RU_RYA(433, "Ryazan Oblast", ParentTerritory.RUS),
- RU_AST(434, "Astrakhan Oblast", ParentTerritory.RUS),
- RU_MOS(435, "Moscow Oblast", ParentTerritory.RUS),
- RU_SMO(436, "Smolensk Oblast", ParentTerritory.RUS),
- RU_DA(437, "Dagestan Republic", ParentTerritory.RUS),
- RU_VOR(438, "Voronezh Oblast", ParentTerritory.RUS),
- RU_NGR(439, "Novgorod Oblast", ParentTerritory.RUS),
- RU_PSK(440, "Pskov Oblast", ParentTerritory.RUS),
- RU_KOS(441, "Kostroma Oblast", ParentTerritory.RUS),
- RU_STA(442, "Stavropol Krai", ParentTerritory.RUS),
- RU_KDA(443, "Krasnodar Krai", ParentTerritory.RUS),
- RU_KL(444, "Kalmykia Republic", ParentTerritory.RUS),
- RU_TVE(445, "Tver Oblast", ParentTerritory.RUS),
- RU_LEN(446, "Leningrad Oblast", ParentTerritory.RUS),
- RU_ROS(447, "Rostov Oblast", ParentTerritory.RUS),
- RU_VGG(448, "Volgograd Oblast", ParentTerritory.RUS),
- RU_VLG(449, "Vologda Oblast", ParentTerritory.RUS),
- RU_MUR(450, "Murmansk Oblast", ParentTerritory.RUS),
- RU_KR(451, "Karelia Republic", ParentTerritory.RUS),
- RU_NEN(452, "Nenets Autonomous Okrug", ParentTerritory.RUS),
- RU_KO(453, "Komi Republic", ParentTerritory.RUS),
- RU_ARK(454, "Arkhangelsk Oblast", ParentTerritory.RUS),
- RU_MO(455, "Mordovia Republic", ParentTerritory.RUS),
- RU_NIZ(456, "Nizhny Novgorod Oblast", ParentTerritory.RUS),
- RU_PNZ(457, "Penza Oblast", ParentTerritory.RUS),
- RU_KI(458, "Kirov Oblast", ParentTerritory.RUS, new String[]{"RU-KIR"}),
- RU_ME(459, "Mari El Republic", ParentTerritory.RUS),
- RU_ORE(460, "Orenburg Oblast", ParentTerritory.RUS),
- RU_ULY(461, "Ulyanovsk Oblast", ParentTerritory.RUS),
- RU_PM(462, "Perm Krai", ParentTerritory.RUS, new String[]{"RU-PER"}),
- RU_BA(463, "Bashkortostan Republic", ParentTerritory.RUS),
- RU_UD(464, "Udmurt Republic", ParentTerritory.RUS),
- RU_TA(465, "Tatarstan Republic", ParentTerritory.RUS),
- RU_SAM(466, "Samara Oblast", ParentTerritory.RUS),
- RU_SAR(467, "Saratov Oblast", ParentTerritory.RUS),
- RU_YAN(468, "Yamalo-Nenets", ParentTerritory.RUS),
- RU_KM(469, "Khanty-Mansi", ParentTerritory.RUS, new String[]{"RU-KHM"}),
- RU_SVE(470, "Sverdlovsk Oblast", ParentTerritory.RUS),
- RU_TYU(471, "Tyumen Oblast", ParentTerritory.RUS),
- RU_KGN(472, "Kurgan Oblast", ParentTerritory.RUS),
- RU_CH(473, "Chelyabinsk Oblast", ParentTerritory.RUS, new String[]{"RU-CHE"}),
- RU_BU(474, "Buryatia Republic", ParentTerritory.RUS),
- RU_ZAB(475, "Zabaykalsky Krai", ParentTerritory.RUS),
- RU_IRK(476, "Irkutsk Oblast", ParentTerritory.RUS),
- RU_NVS(477, "Novosibirsk Oblast", ParentTerritory.RUS),
- RU_TOM(478, "Tomsk Oblast", ParentTerritory.RUS),
- RU_OMS(479, "Omsk Oblast", ParentTerritory.RUS),
- RU_KK(480, "Khakassia Republic", ParentTerritory.RUS),
- RU_KEM(481, "Kemerovo Oblast", ParentTerritory.RUS),
- RU_AL(482, "Altai Republic", ParentTerritory.RUS),
- RU_ALT(483, "Altai Krai", ParentTerritory.RUS),
- RU_TY(484, "Tuva Republic", ParentTerritory.RUS),
- RU_KYA(485, "Krasnoyarsk Krai", ParentTerritory.RUS),
- RU_MAG(486, "Magadan Oblast", ParentTerritory.RUS),
- RU_CHU(487, "Chukotka Okrug", ParentTerritory.RUS),
- RU_KAM(488, "Kamchatka Krai", ParentTerritory.RUS),
- RU_SAK(489, "Sakhalin Oblast", ParentTerritory.RUS),
- RU_PO(490, "Primorsky Krai", ParentTerritory.RUS, new String[]{"RU-PRI"}),
- RU_YEV(491, "Jewish Autonomous Oblast", ParentTerritory.RUS),
- RU_KHA(492, "Khabarovsk Krai", ParentTerritory.RUS),
- RU_AMU(493, "Amur Oblast", ParentTerritory.RUS),
- RU_SA(494, "Sakha Republic", ParentTerritory.RUS, null, new String[]{"Yakutia Republic"}),
- CN_SH(497, "Shanghai", ParentTerritory.CHN, new String[]{"CN-31"}),
- CN_TJ(498, "Tianjin", ParentTerritory.CHN, new String[]{"CN-12"}),
- CN_BJ(499, "Beijing", ParentTerritory.CHN, new String[]{"CN-11"}),
- CN_HI(500, "Hainan", ParentTerritory.CHN, new String[]{"CN-46"}),
- CN_NX(501, "Ningxia Hui", ParentTerritory.CHN, new String[]{"CN-64"}),
- CN_CQ(502, "Chongqing", ParentTerritory.CHN, new String[]{"CN-50"}),
- CN_ZJ(503, "Zhejiang", ParentTerritory.CHN, new String[]{"CN-33"}),
- CN_JS(504, "Jiangsu", ParentTerritory.CHN, new String[]{"CN-32"}),
- CN_FJ(505, "Fujian", ParentTerritory.CHN, new String[]{"CN-35"}),
- CN_AH(506, "Anhui", ParentTerritory.CHN, new String[]{"CN-34"}),
- CN_LN(507, "Liaoning", ParentTerritory.CHN, new String[]{"CN-21"}),
- CN_SD(508, "Shandong", ParentTerritory.CHN, new String[]{"CN-37"}),
- CN_SX(509, "Shanxi", ParentTerritory.CHN, new String[]{"CN-14"}),
- CN_JX(510, "Jiangxi", ParentTerritory.CHN, new String[]{"CN-36"}),
- CN_HA(511, "Henan", ParentTerritory.CHN, new String[]{"CN-41"}),
- CN_GZ(512, "Guizhou", ParentTerritory.CHN, new String[]{"CN-52"}),
- CN_GD(513, "Guangdong", ParentTerritory.CHN, new String[]{"CN-44"}),
- CN_HB(514, "Hubei", ParentTerritory.CHN, new String[]{"CN-42"}),
- CN_JL(515, "Jilin", ParentTerritory.CHN, new String[]{"CN-22"}),
- CN_HE(516, "Hebei", ParentTerritory.CHN, new String[]{"CN-13"}),
- CN_SN(517, "Shaanxi", ParentTerritory.CHN, new String[]{"CN-61"}),
- CN_NM(518, "Nei Mongol", ParentTerritory.CHN, new String[]{"CN-15"}, new String[]{"Inner Mongolia"}),
- CN_HL(519, "Heilongjiang", ParentTerritory.CHN, new String[]{"CN-23"}),
- CN_HN(520, "Hunan", ParentTerritory.CHN, new String[]{"CN-43"}),
- CN_GX(521, "Guangxi Zhuang", ParentTerritory.CHN, new String[]{"CN-45"}),
- CN_SC(522, "Sichuan", ParentTerritory.CHN, new String[]{"CN-51"}),
- CN_YN(523, "Yunnan", ParentTerritory.CHN, new String[]{"CN-53"}),
- CN_XZ(524, "Xizang", ParentTerritory.CHN, new String[]{"CN-54"}, new String[]{"Tibet"}),
- CN_GS(525, "Gansu", ParentTerritory.CHN, new String[]{"CN-62"}),
- CN_QH(526, "Qinghai", ParentTerritory.CHN, new String[]{"CN-63"}),
- CN_XJ(527, "Xinjiang Uyghur", ParentTerritory.CHN, new String[]{"CN-65"}),
+ IN_DD(271, "Daman and Diu", IND),
+ IN_DN(272, "Dadra and Nagar Haveli", IND),
+ IN_CH(273, "Chandigarh", IND),
+ IN_AN(274, "Andaman and Nicobar", IND),
+ IN_LD(275, "Lakshadweep", IND),
+ IN_DL(276, "Delhi", IND),
+ IN_ML(277, "Meghalaya", IND),
+ IN_NL(278, "Nagaland", IND),
+ IN_MN(279, "Manipur", IND),
+ IN_TR(280, "Tripura", IND),
+ IN_MZ(281, "Mizoram", IND),
+ IN_SK(282, "Sikkim", IND),
+ IN_PB(283, "Punjab", IND),
+ IN_HR(284, "Haryana", IND),
+ IN_AR(285, "Arunachal Pradesh", IND),
+ IN_AS(286, "Assam", IND),
+ IN_BR(287, "Bihar", IND),
+ IN_UT(288, "Uttarakhand", IND, new String[]{"IN-UK"}),
+ IN_GA(289, "Goa", IND),
+ IN_KL(290, "Kerala", IND),
+ IN_TN(291, "Tamil Nadu", IND),
+ IN_HP(292, "Himachal Pradesh", IND),
+ IN_JK(293, "Jammu and Kashmir", IND),
+ IN_CT(294, "Chhattisgarh", IND, new String[]{"IN-CG"}),
+ IN_JH(295, "Jharkhand", IND),
+ IN_KA(296, "Karnataka", IND),
+ IN_RJ(297, "Rajasthan", IND),
+ IN_OR(298, "Odisha", IND, new String[]{"IN-OD"}, new String[]{"Orissa"}),
+ IN_GJ(299, "Gujarat", IND),
+ IN_WB(300, "West Bengal", IND),
+ IN_MP(301, "Madhya Pradesh", IND),
+ IN_TG(302, "Telangana", IND),
+ IN_AP(303, "Andhra Pradesh", IND),
+ IN_MH(304, "Maharashtra", IND),
+ IN_UP(305, "Uttar Pradesh", IND),
+ IN_PY(306, "Puducherry", IND),
+ AU_NSW(307, "New South Wales", AUS),
+ AU_ACT(308, "Australian Capital Territory", AUS),
+ AU_JBT(309, "Jervis Bay Territory", AUS),
+ AU_NT(310, "Northern Territory", AUS),
+ AU_SA(311, "South Australia", AUS),
+ AU_TAS(312, "Tasmania", AUS),
+ AU_VIC(313, "Victoria", AUS),
+ AU_WA(314, "Western Australia", AUS),
+ AU_QLD(315, "Queensland", AUS),
+ BR_DF(316, "Distrito Federal", BRA),
+ BR_SE(317, "Sergipe", BRA),
+ BR_AL(318, "Alagoas", BRA),
+ BR_RJ(319, "Rio de Janeiro", BRA),
+ BR_ES(320, "Espirito Santo", BRA),
+ BR_RN(321, "Rio Grande do Norte", BRA),
+ BR_PB(322, "Paraiba", BRA),
+ BR_SC(323, "Santa Catarina", BRA),
+ BR_PE(324, "Pernambuco", BRA),
+ BR_AP(325, "Amapa", BRA),
+ BR_CE(326, "Ceara", BRA),
+ BR_AC(327, "Acre", BRA),
+ BR_PR(328, "Parana", BRA),
+ BR_RR(329, "Roraima", BRA),
+ BR_RO(330, "Rondonia", BRA),
+ BR_SP(331, "Sao Paulo", BRA),
+ BR_PI(332, "Piaui", BRA),
+ BR_TO(333, "Tocantins", BRA),
+ BR_RS(334, "Rio Grande do Sul", BRA),
+ BR_MA(335, "Maranhao", BRA),
+ BR_GO(336, "Goias", BRA),
+ BR_MS(337, "Mato Grosso do Sul", BRA),
+ BR_BA(338, "Bahia", BRA),
+ BR_MG(339, "Minas Gerais", BRA),
+ BR_MT(340, "Mato Grosso", BRA),
+ BR_PA(341, "Para", BRA),
+ BR_AM(342, "Amazonas", BRA),
+ US_DC(343, "District of Columbia", USA),
+ US_RI(344, "Rhode Island", USA),
+ US_DE(345, "Delaware", USA),
+ US_CT(346, "Connecticut", USA),
+ US_NJ(347, "New Jersey", USA),
+ US_NH(348, "New Hampshire", USA),
+ US_VT(349, "Vermont", USA),
+ US_MA(350, "Massachusetts", USA),
+ US_HI(351, "Hawaii", USA, new String[]{"US-MID"}),
+ US_MD(352, "Maryland", USA),
+ US_WV(353, "West Virginia", USA),
+ US_SC(354, "South Carolina", USA),
+ US_ME(355, "Maine", USA),
+ US_IN(356, "Indiana", USA),
+ US_KY(357, "Kentucky", USA),
+ US_TN(358, "Tennessee", USA),
+ US_VA(359, "Virginia", USA),
+ US_OH(360, "Ohio", USA),
+ US_PA(361, "Pennsylvania", USA),
+ US_MS(362, "Mississippi", USA),
+ US_LA(363, "Louisiana", USA),
+ US_AL(364, "Alabama", USA),
+ US_AR(365, "Arkansas", USA),
+ US_NC(366, "North Carolina", USA),
+ US_NY(367, "New York", USA),
+ US_IA(368, "Iowa", USA),
+ US_IL(369, "Illinois", USA),
+ US_GA(370, "Georgia", USA),
+ US_WI(371, "Wisconsin", USA),
+ US_FL(372, "Florida", USA),
+ US_MO(373, "Missouri", USA),
+ US_OK(374, "Oklahoma", USA),
+ US_ND(375, "North Dakota", USA),
+ US_WA(376, "Washington", USA),
+ US_SD(377, "South Dakota", USA),
+ US_NE(378, "Nebraska", USA),
+ US_KS(379, "Kansas", USA),
+ US_ID(380, "Idaho", USA),
+ US_UT(381, "Utah", USA),
+ US_MN(382, "Minnesota", USA),
+ US_MI(383, "Michigan", USA),
+ US_WY(384, "Wyoming", USA),
+ US_OR(385, "Oregon", USA),
+ US_CO(386, "Colorado", USA),
+ US_NV(387, "Nevada", USA),
+ US_AZ(388, "Arizona", USA),
+ US_NM(389, "New Mexico", USA),
+ US_MT(390, "Montana", USA),
+ US_CA(391, "California", USA),
+ US_TX(392, "Texas", USA),
+ US_AK(393, "Alaska", USA),
+ CA_BC(394, "British Columbia", CAN),
+ CA_AB(395, "Alberta", CAN),
+ CA_ON(396, "Ontario", CAN),
+ CA_QC(397, "Quebec", CAN),
+ CA_SK(398, "Saskatchewan", CAN),
+ CA_MB(399, "Manitoba", CAN),
+ CA_NL(400, "Newfoundland", CAN),
+ CA_NB(401, "New Brunswick", CAN),
+ CA_NS(402, "Nova Scotia", CAN),
+ CA_PE(403, "Prince Edward Island", CAN),
+ CA_YT(404, "Yukon", CAN),
+ CA_NT(405, "Northwest Territories", CAN),
+ CA_NU(406, "Nunavut", CAN),
+ RU_MOW(412, "Moscow", RUS),
+ RU_SPE(413, "Saint Petersburg", RUS),
+ RU_KGD(414, "Kaliningrad Oblast", RUS),
+ RU_IN(415, "Ingushetia Republic", RUS),
+ RU_AD(416, "Adygea Republic", RUS),
+ RU_SE(417, "North Ossetia-Alania Republic", RUS),
+ RU_KB(418, "Kabardino-Balkar Republic", RUS),
+ RU_KC(419, "Karachay-Cherkess Republic", RUS),
+ RU_CE(420, "Chechen Republic", RUS),
+ RU_CU(421, "Chuvash Republic", RUS),
+ RU_IVA(422, "Ivanovo Oblast", RUS),
+ RU_LIP(423, "Lipetsk Oblast", RUS),
+ RU_ORL(424, "Oryol Oblast", RUS),
+ RU_TUL(425, "Tula Oblast", RUS),
+ RU_BE(426, "Belgorod Oblast", RUS, new String[]{"RU-BEL"}),
+ RU_VLA(427, "Vladimir Oblast", RUS),
+ RU_KRS(428, "Kursk Oblast", RUS),
+ RU_KLU(429, "Kaluga Oblast", RUS),
+ RU_TT(430, "Tambov Oblast", RUS, new String[]{"RU-TAM"}),
+ RU_BRY(431, "Bryansk Oblast", RUS),
+ RU_YAR(432, "Yaroslavl Oblast", RUS),
+ RU_RYA(433, "Ryazan Oblast", RUS),
+ RU_AST(434, "Astrakhan Oblast", RUS),
+ RU_MOS(435, "Moscow Oblast", RUS),
+ RU_SMO(436, "Smolensk Oblast", RUS),
+ RU_DA(437, "Dagestan Republic", RUS),
+ RU_VOR(438, "Voronezh Oblast", RUS),
+ RU_NGR(439, "Novgorod Oblast", RUS),
+ RU_PSK(440, "Pskov Oblast", RUS),
+ RU_KOS(441, "Kostroma Oblast", RUS),
+ RU_STA(442, "Stavropol Krai", RUS),
+ RU_KDA(443, "Krasnodar Krai", RUS),
+ RU_KL(444, "Kalmykia Republic", RUS),
+ RU_TVE(445, "Tver Oblast", RUS),
+ RU_LEN(446, "Leningrad Oblast", RUS),
+ RU_ROS(447, "Rostov Oblast", RUS),
+ RU_VGG(448, "Volgograd Oblast", RUS),
+ RU_VLG(449, "Vologda Oblast", RUS),
+ RU_MUR(450, "Murmansk Oblast", RUS),
+ RU_KR(451, "Karelia Republic", RUS),
+ RU_NEN(452, "Nenets Autonomous Okrug", RUS),
+ RU_KO(453, "Komi Republic", RUS),
+ RU_ARK(454, "Arkhangelsk Oblast", RUS),
+ RU_MO(455, "Mordovia Republic", RUS),
+ RU_NIZ(456, "Nizhny Novgorod Oblast", RUS),
+ RU_PNZ(457, "Penza Oblast", RUS),
+ RU_KI(458, "Kirov Oblast", RUS, new String[]{"RU-KIR"}),
+ RU_ME(459, "Mari El Republic", RUS),
+ RU_ORE(460, "Orenburg Oblast", RUS),
+ RU_ULY(461, "Ulyanovsk Oblast", RUS),
+ RU_PM(462, "Perm Krai", RUS, new String[]{"RU-PER"}),
+ RU_BA(463, "Bashkortostan Republic", RUS),
+ RU_UD(464, "Udmurt Republic", RUS),
+ RU_TA(465, "Tatarstan Republic", RUS),
+ RU_SAM(466, "Samara Oblast", RUS),
+ RU_SAR(467, "Saratov Oblast", RUS),
+ RU_YAN(468, "Yamalo-Nenets", RUS),
+ RU_KM(469, "Khanty-Mansi", RUS, new String[]{"RU-KHM"}),
+ RU_SVE(470, "Sverdlovsk Oblast", RUS),
+ RU_TYU(471, "Tyumen Oblast", RUS),
+ RU_KGN(472, "Kurgan Oblast", RUS),
+ RU_CH(473, "Chelyabinsk Oblast", RUS, new String[]{"RU-CHE"}),
+ RU_BU(474, "Buryatia Republic", RUS),
+ RU_ZAB(475, "Zabaykalsky Krai", RUS),
+ RU_IRK(476, "Irkutsk Oblast", RUS),
+ RU_NVS(477, "Novosibirsk Oblast", RUS),
+ RU_TOM(478, "Tomsk Oblast", RUS),
+ RU_OMS(479, "Omsk Oblast", RUS),
+ RU_KK(480, "Khakassia Republic", RUS),
+ RU_KEM(481, "Kemerovo Oblast", RUS),
+ RU_AL(482, "Altai Republic", RUS),
+ RU_ALT(483, "Altai Krai", RUS),
+ RU_TY(484, "Tuva Republic", RUS),
+ RU_KYA(485, "Krasnoyarsk Krai", RUS),
+ RU_MAG(486, "Magadan Oblast", RUS),
+ RU_CHU(487, "Chukotka Okrug", RUS),
+ RU_KAM(488, "Kamchatka Krai", RUS),
+ RU_SAK(489, "Sakhalin Oblast", RUS),
+ RU_PO(490, "Primorsky Krai", RUS, new String[]{"RU-PRI"}),
+ RU_YEV(491, "Jewish Autonomous Oblast", RUS),
+ RU_KHA(492, "Khabarovsk Krai", RUS),
+ RU_AMU(493, "Amur Oblast", RUS),
+ RU_SA(494, "Sakha Republic", RUS, null, new String[]{"Yakutia Republic"}),
+ CN_SH(497, "Shanghai", CHN, new String[]{"CN-31"}),
+ CN_TJ(498, "Tianjin", CHN, new String[]{"CN-12"}),
+ CN_BJ(499, "Beijing", CHN, new String[]{"CN-11"}),
+ CN_HI(500, "Hainan", CHN, new String[]{"CN-46"}),
+ CN_NX(501, "Ningxia Hui", CHN, new String[]{"CN-64"}),
+ CN_CQ(502, "Chongqing", CHN, new String[]{"CN-50"}),
+ CN_ZJ(503, "Zhejiang", CHN, new String[]{"CN-33"}),
+ CN_JS(504, "Jiangsu", CHN, new String[]{"CN-32"}),
+ CN_FJ(505, "Fujian", CHN, new String[]{"CN-35"}),
+ CN_AH(506, "Anhui", CHN, new String[]{"CN-34"}),
+ CN_LN(507, "Liaoning", CHN, new String[]{"CN-21"}),
+ CN_SD(508, "Shandong", CHN, new String[]{"CN-37"}),
+ CN_SX(509, "Shanxi", CHN, new String[]{"CN-14"}),
+ CN_JX(510, "Jiangxi", CHN, new String[]{"CN-36"}),
+ CN_HA(511, "Henan", CHN, new String[]{"CN-41"}),
+ CN_GZ(512, "Guizhou", CHN, new String[]{"CN-52"}),
+ CN_GD(513, "Guangdong", CHN, new String[]{"CN-44"}),
+ CN_HB(514, "Hubei", CHN, new String[]{"CN-42"}),
+ CN_JL(515, "Jilin", CHN, new String[]{"CN-22"}),
+ CN_HE(516, "Hebei", CHN, new String[]{"CN-13"}),
+ CN_SN(517, "Shaanxi", CHN, new String[]{"CN-61"}),
+ CN_NM(518, "Nei Mongol", CHN, new String[]{"CN-15"}, new String[]{"Inner Mongolia"}),
+ CN_HL(519, "Heilongjiang", CHN, new String[]{"CN-23"}),
+ CN_HN(520, "Hunan", CHN, new String[]{"CN-43"}),
+ CN_GX(521, "Guangxi Zhuang", CHN, new String[]{"CN-45"}),
+ CN_SC(522, "Sichuan", CHN, new String[]{"CN-51"}),
+ CN_YN(523, "Yunnan", CHN, new String[]{"CN-53"}),
+ CN_XZ(524, "Xizang", CHN, new String[]{"CN-54"}, new String[]{"Tibet"}),
+ CN_GS(525, "Gansu", CHN, new String[]{"CN-62"}),
+ CN_QH(526, "Qinghai", CHN, new String[]{"CN-63"}),
+ CN_XJ(527, "Xinjiang Uyghur", CHN, new String[]{"CN-65"}),
UMI(529, "United States Minor Outlying Islands", null, new String[]{"US-UM", "USA-UM", "JTN"}),
CPT(530, "Clipperton Island"),
AAA(532, "International", null, null, new String[]{"Worldwide", "Earth"});
+ @Nonnull
+ public static final Set PARENT_TERRITORIES = Collections.unmodifiableSet(
+ EnumSet.of(USA, IND, CAN, AUS, MEX, BRA, RUS, CHN, ATA));
+
private final int number;
@Nonnull
private final String fullName;
@@ -680,9 +684,12 @@ public static Territory fromString(@Nonnull final String alphaCode) throws Unkno
@Nonnull
public static Territory fromString(
@Nonnull final String alphaCode,
- @Nonnull final ParentTerritory parentTerritory) throws UnknownTerritoryException {
+ @Nonnull final Territory parentTerritory) throws UnknownTerritoryException {
checkNonnull("alphaCode", alphaCode);
checkNonnull("parentTerritory", parentTerritory);
+ if (!PARENT_TERRITORIES.contains(parentTerritory)) {
+ throw new IllegalArgumentException("Parameter " + parentTerritory + " is not a parent territory");
+ }
return createFromString(alphaCode, parentTerritory);
}
@@ -785,14 +792,14 @@ private Territory(
private Territory(
final int number,
@Nonnull final String fullName,
- @Nullable final ParentTerritory parentTerritory) {
+ @Nullable final Territory parentTerritory) {
this(number, fullName, parentTerritory, null, null);
}
private Territory(
final int number,
@Nonnull final String fullName,
- @Nullable final ParentTerritory parentTerritory,
+ @Nullable final Territory parentTerritory,
@Nullable final String[] aliases) {
this(number, fullName, parentTerritory, aliases, null);
}
@@ -800,12 +807,12 @@ private Territory(
private Territory(
final int number,
@Nonnull final String fullName,
- @Nullable final ParentTerritory parentTerritory,
+ @Nullable final Territory parentTerritory,
@Nullable final String[] aliases,
@Nullable final String[] fullNameAliases) {
this.number = number;
this.fullName = fullName;
- this.parentTerritory = (parentTerritory == null) ? null : parentTerritory.getTerritory();
+ this.parentTerritory = parentTerritory;
this.aliases = (aliases == null) ? new String[]{} : aliases;
this.fullNameAliases = (fullNameAliases == null) ? new String[]{} : fullNameAliases;
}
@@ -898,7 +905,7 @@ private Territory(
@Nonnull
private static Territory createFromString(
@Nonnull final String alphaCode,
- @Nullable final ParentTerritory parentTerritory) throws UnknownTerritoryException {
+ @Nullable final Territory parentTerritory) throws UnknownTerritoryException {
final String trimmed = Mapcode.convertStringToPlainAscii(alphaCode.trim().replace('_', '-')).toUpperCase();
// Try as alpha code.
@@ -907,9 +914,8 @@ private static Territory createFromString(
if (parentTerritory == null) {
return territories.get(0);
}
- final Territory actualParentTerritory = parentTerritory.getTerritory();
for (final Territory territory : territories) {
- if (territory.getParentTerritory() == actualParentTerritory) {
+ if (territory.getParentTerritory() == parentTerritory) {
return territory;
}
}
diff --git a/src/site/apt/ReleaseNotes.apt.vm b/src/site/apt/ReleaseNotes.apt.vm
index cdcd4ed..0322586 100755
--- a/src/site/apt/ReleaseNotes.apt.vm
+++ b/src/site/apt/ReleaseNotes.apt.vm
@@ -9,6 +9,16 @@ Release Notes (Version ${project.version})
In any case, never depend on them for your own non-<<>> releases.
#end
+* 2.0.2
+
+ * Renamed <<>> to <<>>.
+
+ * Removed public microdegree references from <<>> class. Everything is degrees now.
+
+ * Removed <<>> class.
+
+ []
+
* 2.0.1
* Reverted Java JDK level to 1.6 (Java 6) from 1.8 (Java 8), so the library can be used on
diff --git a/src/test/java/com/mapcode/MapcodeTest.java b/src/test/java/com/mapcode/MapcodeTest.java
index 1f7d11a..41816c8 100644
--- a/src/test/java/com/mapcode/MapcodeTest.java
+++ b/src/test/java/com/mapcode/MapcodeTest.java
@@ -60,37 +60,37 @@ public void checkInvalidPrecisionFormats() {
LOG.info("checkInvalidPrecisionFormats");
// Territory code must be correct syntax.
- assertFalse(Mapcode.isValidPrecisionFormat("NL- XX.XX"));
- assertFalse(Mapcode.isValidPrecisionFormat("US IN XX.XX"));
+ assertFalse(Mapcode.isValidMapcodeFormat("NL- XX.XX"));
+ assertFalse(Mapcode.isValidMapcodeFormat("US IN XX.XX"));
// Incorrect (nunber of) characters.
- assertFalse(Mapcode.isValidPrecisionFormat("A"));
- assertFalse(Mapcode.isValidPrecisionFormat("AB"));
- assertFalse(Mapcode.isValidPrecisionFormat("AB."));
- assertFalse(Mapcode.isValidPrecisionFormat(".A"));
- assertFalse(Mapcode.isValidPrecisionFormat(".AB"));
- assertFalse(Mapcode.isValidPrecisionFormat("A.B"));
- assertFalse(Mapcode.isValidPrecisionFormat("a.B"));
- assertFalse(Mapcode.isValidPrecisionFormat("0.1"));
- assertFalse(Mapcode.isValidPrecisionFormat("0.1"));
- assertFalse(Mapcode.isValidPrecisionFormat("00.1"));
- assertFalse(Mapcode.isValidPrecisionFormat("0.01"));
- assertFalse(Mapcode.isValidPrecisionFormat("00.01."));
- assertFalse(Mapcode.isValidPrecisionFormat("00.01.0"));
- assertFalse(Mapcode.isValidPrecisionFormat("00.01.00"));
- assertFalse(Mapcode.isValidPrecisionFormat("00.01-"));
- assertFalse(Mapcode.isValidPrecisionFormat("00.01-"));
- assertFalse(Mapcode.isValidPrecisionFormat("AAAAAA.BBBBB"));
- assertFalse(Mapcode.isValidPrecisionFormat("AAAAA.BBBBBB"));
- assertFalse(Mapcode.isValidPrecisionFormat("AA.AA-012"));
- assertFalse(Mapcode.isValidPrecisionFormat("AA.AA-Z"));
- assertFalse(Mapcode.isValidPrecisionFormat("AA.AA-1Z"));
- assertFalse(Mapcode.isValidPrecisionFormat("A.AAA"));
- assertFalse(Mapcode.isValidPrecisionFormat("AAA.A"));
- assertFalse(Mapcode.isValidPrecisionFormat("A.AAA-1"));
- assertFalse(Mapcode.isValidPrecisionFormat("AAA.A-1"));
- assertFalse(Mapcode.isValidPrecisionFormat("A.AAA-12"));
- assertFalse(Mapcode.isValidPrecisionFormat("AAA.A-12"));
+ assertFalse(Mapcode.isValidMapcodeFormat("A"));
+ assertFalse(Mapcode.isValidMapcodeFormat("AB"));
+ assertFalse(Mapcode.isValidMapcodeFormat("AB."));
+ assertFalse(Mapcode.isValidMapcodeFormat(".A"));
+ assertFalse(Mapcode.isValidMapcodeFormat(".AB"));
+ assertFalse(Mapcode.isValidMapcodeFormat("A.B"));
+ assertFalse(Mapcode.isValidMapcodeFormat("a.B"));
+ assertFalse(Mapcode.isValidMapcodeFormat("0.1"));
+ assertFalse(Mapcode.isValidMapcodeFormat("0.1"));
+ assertFalse(Mapcode.isValidMapcodeFormat("00.1"));
+ assertFalse(Mapcode.isValidMapcodeFormat("0.01"));
+ assertFalse(Mapcode.isValidMapcodeFormat("00.01."));
+ assertFalse(Mapcode.isValidMapcodeFormat("00.01.0"));
+ assertFalse(Mapcode.isValidMapcodeFormat("00.01.00"));
+ assertFalse(Mapcode.isValidMapcodeFormat("00.01-"));
+ assertFalse(Mapcode.isValidMapcodeFormat("00.01-"));
+ assertFalse(Mapcode.isValidMapcodeFormat("AAAAAA.BBBBB"));
+ assertFalse(Mapcode.isValidMapcodeFormat("AAAAA.BBBBBB"));
+ assertFalse(Mapcode.isValidMapcodeFormat("AA.AA-012"));
+ assertFalse(Mapcode.isValidMapcodeFormat("AA.AA-Z"));
+ assertFalse(Mapcode.isValidMapcodeFormat("AA.AA-1Z"));
+ assertFalse(Mapcode.isValidMapcodeFormat("A.AAA"));
+ assertFalse(Mapcode.isValidMapcodeFormat("AAA.A"));
+ assertFalse(Mapcode.isValidMapcodeFormat("A.AAA-1"));
+ assertFalse(Mapcode.isValidMapcodeFormat("AAA.A-1"));
+ assertFalse(Mapcode.isValidMapcodeFormat("A.AAA-12"));
+ assertFalse(Mapcode.isValidMapcodeFormat("AAA.A-12"));
}
@Test
diff --git a/src/test/java/com/mapcode/TerritoryTest.java b/src/test/java/com/mapcode/TerritoryTest.java
index 102078e..bb98b75 100644
--- a/src/test/java/com/mapcode/TerritoryTest.java
+++ b/src/test/java/com/mapcode/TerritoryTest.java
@@ -59,8 +59,8 @@ public void disambiguateMNTest1() throws Exception {
LOG.info("disambiguateMNTest2");
final Territory territory0 = Territory.fromString("IND-MN");
final Territory territory1 = Territory.fromString("IN-MN");
- final Territory territory2 = Territory.fromString("MN", ParentTerritory.IND);
- final Territory territory3 = Territory.fromString("MN", ParentTerritory.USA);
+ final Territory territory2 = Territory.fromString("MN", Territory.IND);
+ final Territory territory3 = Territory.fromString("MN", Territory.USA);
assertEquals(territory0, territory1);
assertEquals(territory1, territory2);
assertNotEquals(territory2, territory3);
@@ -69,7 +69,7 @@ public void disambiguateMNTest1() throws Exception {
@Test(expected = UnknownTerritoryException.class)
public void disambiguateMNTest2() throws Exception {
LOG.info("disambiguateMNTest2");
- Territory.fromString("MN", ParentTerritory.RUS);
+ Territory.fromString("MN", Territory.RUS);
}
@Test