]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/Country.java
upd: rename package name and all references to it
[gigi.git] / src / org / cacert / gigi / dbObjects / Country.java
diff --git a/src/org/cacert/gigi/dbObjects/Country.java b/src/org/cacert/gigi/dbObjects/Country.java
deleted file mode 100644 (file)
index dedaa7e..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-package org.cacert.gigi.dbObjects;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.RandomAccess;
-
-import org.cacert.gigi.GigiApiException;
-import org.cacert.gigi.database.GigiPreparedStatement;
-import org.cacert.gigi.database.GigiResultSet;
-import org.cacert.gigi.output.template.SprintfCommand;
-
-/**
- * Represents a country containing its ISO 3166-1-Code and its English name.
- */
-public class Country {
-
-    public enum CountryCodeType {
-        CODE_2_CHARS(2), //
-        CODE_3_CHARS(3); //
-
-        private final int len;
-
-        private CountryCodeType(int len) {
-            this.len = len;
-        }
-
-        public int getLen() {
-            return len;
-        }
-    }
-
-    /**
-     * Id of the database entry.
-     */
-    private final int id;
-
-    /**
-     * English name of the country.
-     */
-    private final String country;
-
-    /**
-     * ISO 3166-1 alpha-2 code of the country.
-     */
-    private final String countryCode2;
-
-    /**
-     * ISO 3166-1 alpha-3 code of the country.
-     */
-    private final String countryCode3;
-
-    /**
-     * A unmodifiable {@link RandomAccess}-List of all Countries.
-     */
-    private static final List<Country> countries;
-
-    /**
-     * An unmodifiable index of all 2- and 3-letter country codes.
-     */
-    private static final Map<String, Country> byString;
-
-    static {
-        LinkedList<Country> cs = new LinkedList<>();
-        HashMap<String, Country> ccd = new HashMap<>();
-        try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT `id`, `english` as country, `code2`, `code3` FROM `countryIsoCode`", true)) {
-            GigiResultSet rs = ps.executeQuery();
-            while (rs.next()) {
-                Country e = new Country(rs);
-                ccd.put(e.countryCode2, e);
-                ccd.put(e.countryCode3, e);
-                cs.add(e);
-            }
-        }
-        countries = Collections.unmodifiableList(new ArrayList<>(cs));
-        byString = Collections.unmodifiableMap(ccd);
-    }
-
-    private Country(GigiResultSet rs) {
-        this.id = rs.getInt("id");
-        this.country = rs.getString("country");
-        this.countryCode2 = rs.getString("code2");
-        this.countryCode3 = rs.getString("code3");
-    }
-
-    public int getId() {
-        return id;
-    }
-
-    public String getName() {
-        return country;
-    }
-
-    /**
-     * Returns the default (ISO 3166-1 alpha-2) country code of this country.
-     * 
-     * @return the country code
-     */
-    public String getCode() {
-        return countryCode2;
-    }
-
-    /**
-     * Gets the specified type of country code for this country.
-     * 
-     * @param type
-     *            the type of the code
-     * @return the corresponding code
-     */
-    public String getCode(CountryCodeType type) {
-        switch (type) {
-        case CODE_2_CHARS:
-            return countryCode2;
-        case CODE_3_CHARS:
-            return countryCode3;
-        default:
-            throw new IllegalArgumentException("Enum switch was non-exhaustive");
-        }
-    }
-
-    /**
-     * Gets an unmodifiable, {@link RandomAccess}-List of all countries.
-     * 
-     * @return the list.
-     */
-    public static List<Country> getCountries() {
-        return countries;
-    }
-
-    /**
-     * Checks a country code for its validity and conformance to the given type.
-     * 
-     * @param countrycode
-     *            the code to check
-     * @param cType
-     *            the type it should have
-     * @throws GigiApiException
-     *             if the code was wrong
-     */
-    public static void checkCountryCode(String countrycode, CountryCodeType cType) throws GigiApiException {
-        getCountryByCode(countrycode, cType);
-    }
-
-    /**
-     * Fetches the {@link Country} object for the given country code.
-     * 
-     * @param countrycode
-     *            the code to fetch the county for
-     * @param cType
-     *            the type of the code
-     * @return the specified country
-     * @throws GigiApiException
-     *             if the code was wrong.
-     */
-    public static Country getCountryByCode(String countrycode, CountryCodeType cType) throws GigiApiException {
-        if (countrycode.length() != cType.getLen()) {
-            throw new GigiApiException(SprintfCommand.createSimple("Country code length does not have the required length of {0} characters", Integer.toString(cType.getLen())));
-        }
-        Country i = byString.get(countrycode);
-        if (i == null) {
-            throw new GigiApiException("Country Code was wrong.");
-        }
-        return i;
-    }
-
-}