Class ZipCodeValidator

  • All Implemented Interfaces:
    Validator<java.lang.String>

    public class ZipCodeValidator
    extends java.lang.Object
    implements Validator<java.lang.String>
    Validates post codes based on county ISO codes.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String AT_ZIPCODE_REGEX
      Regular expression to validate post codes in Austria.
      static java.lang.String BE_ZIPCODE_REGEX
      Regular expression to validate post codes in Belgium.
      static java.lang.String CA_ZIPCODE_REGEX
      Regular expression to validate post codes in Canada.
      static java.lang.String CH_ZIPCODE_REGEX
      Regular expression to validate post codes in Switzerland.
      static java.lang.String CN_ZIPCODE_REGEX
      Regular expression to validate post codes in China.
      static java.lang.String DE_ZIPCODE_REGEX
      Regular expression to validate post codes in Germany.
      static java.lang.String DK_ZIPCODE_REGEX
      Regular expression to validate post codes in Denmark.
      static java.lang.String ES_ZIPCODE_REGEX
      Regular expression to validate post codes in Spain.
      static java.lang.String FI_ZIPCODE_REGEX
      Regular expression to validate post codes in Finland.
      static java.lang.String FR_ZIPCODE_REGEX
      Regular expression to validate post codes in France.
      static java.lang.String GB_ZIPCODE_REGEX
      Regular expression to validate post codes in UK.
      static java.lang.String GR_ZIPCODE_REGEX
      Regular expression to validate post codes in Greece.
      static java.lang.String HK_ZIPCODE_REGEX
      Regular expression to validate post codes in Hong Kong.
      static java.lang.String IE_ZIPCODE_REGEX
      Regular expression to validate post codes in Ireland.
      static java.lang.String IT_ZIPCODE_REGEX
      Regular expression to validate post codes in Italy.
      static java.lang.String JP_ZIPCODE_REGEX
      Regular expression to validate post codes in Japan.
      static java.lang.String KR_ZIPCODE_REGEX
      Regular expression to validate post codes in South Korea.
      static java.lang.String LU_ZIPCODE_REGEX
      Regular expression to validate post codes in Luxembourg.
      static java.lang.String MC_ZIPCODE_REGEX
      Regular expression to validate post codes in Monaco.
      private java.lang.String mCountryCode
      ISO 3166 country code to use to validate post codes.
      private java.util.Map<java.lang.String,​java.lang.String> mMap
      Map that relates country codes with their respective regular expressions to validate post codes.
      static java.lang.String MO_ZIPCODE_REGEX
      Regular expression to validate post codes in Macao.
      private java.util.regex.Pattern mPostCodePattern
      Pattern to validate post codes using a regular expression.
      static java.lang.String MX_ZIPCODE_REGEX
      Regular expression to validate post codes in Mexico.
      static java.lang.String NL_ZIPCODE_REGEX
      Regular expression to validate post codes in Netherlands.
      static java.lang.String NO_ZIPCODE_REGEX
      Regular expression to validate post codes in Norway.
      static java.lang.String PL_ZIPCODE_REGEX
      Regular expression to validate post codes in Poland.
      static java.lang.String PT_ZIPCODE_REGEX
      Regular expression to validate post codes in Portugal.
      static java.lang.String RO_ZIPCODE_REGEX
      Regular expression to validate post codes in Romania.
      static java.lang.String RU_ZIPCODE_REGEX
      Regular expression to validate post codes in Russia.
      static java.lang.String SE_ZIPCODE_REGEX
      Regular expression to validate post codes in Sweden.
      static java.lang.String TR_ZIPCODE_REGEX
      Regular expression to validate post codes in Turkey.
      static java.lang.String TW_ZIPCODE_REGEX
      Regular expression to validate post codes in Taiwan.
      static java.lang.String US_ZIPCODE_REGEX
      Regular expression to validate post codes in USA.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void buildPattern()
      Initializes regular expression.
      java.lang.String getCountryCode()
      Returns ISO 3166 country code associated to this instance.
      boolean isValid​(java.lang.String zipCode)
      Checks whether provided post code has a valid format for the configured country.
      void setCountryCode​(java.lang.String countryCode)
      Sets ISO 3166 country code associated to this instance.
      void setCountryCodeFrom​(java.util.Locale locale)
      Sets ISO 3166 country code associated to this instance.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ES_ZIPCODE_REGEX

        public static final java.lang.String ES_ZIPCODE_REGEX
        Regular expression to validate post codes in Spain.
        See Also:
        Constant Field Values
      • FR_ZIPCODE_REGEX

        public static final java.lang.String FR_ZIPCODE_REGEX
        Regular expression to validate post codes in France.
        See Also:
        Constant Field Values
      • DE_ZIPCODE_REGEX

        public static final java.lang.String DE_ZIPCODE_REGEX
        Regular expression to validate post codes in Germany.
        See Also:
        Constant Field Values
      • IT_ZIPCODE_REGEX

        public static final java.lang.String IT_ZIPCODE_REGEX
        Regular expression to validate post codes in Italy.
        See Also:
        Constant Field Values
      • PT_ZIPCODE_REGEX

        public static final java.lang.String PT_ZIPCODE_REGEX
        Regular expression to validate post codes in Portugal.
        See Also:
        Constant Field Values
      • GB_ZIPCODE_REGEX

        public static final java.lang.String GB_ZIPCODE_REGEX
        Regular expression to validate post codes in UK.
        See Also:
        Constant Field Values
      • AT_ZIPCODE_REGEX

        public static final java.lang.String AT_ZIPCODE_REGEX
        Regular expression to validate post codes in Austria.
        See Also:
        Constant Field Values
      • IE_ZIPCODE_REGEX

        public static final java.lang.String IE_ZIPCODE_REGEX
        Regular expression to validate post codes in Ireland.
        See Also:
        Constant Field Values
      • BE_ZIPCODE_REGEX

        public static final java.lang.String BE_ZIPCODE_REGEX
        Regular expression to validate post codes in Belgium.
        See Also:
        Constant Field Values
      • NL_ZIPCODE_REGEX

        public static final java.lang.String NL_ZIPCODE_REGEX
        Regular expression to validate post codes in Netherlands.
        See Also:
        Constant Field Values
      • LU_ZIPCODE_REGEX

        public static final java.lang.String LU_ZIPCODE_REGEX
        Regular expression to validate post codes in Luxembourg.
        See Also:
        Constant Field Values
      • MC_ZIPCODE_REGEX

        public static final java.lang.String MC_ZIPCODE_REGEX
        Regular expression to validate post codes in Monaco.
        See Also:
        Constant Field Values
      • CH_ZIPCODE_REGEX

        public static final java.lang.String CH_ZIPCODE_REGEX
        Regular expression to validate post codes in Switzerland.
        See Also:
        Constant Field Values
      • NO_ZIPCODE_REGEX

        public static final java.lang.String NO_ZIPCODE_REGEX
        Regular expression to validate post codes in Norway.
        See Also:
        Constant Field Values
      • DK_ZIPCODE_REGEX

        public static final java.lang.String DK_ZIPCODE_REGEX
        Regular expression to validate post codes in Denmark.
        See Also:
        Constant Field Values
      • SE_ZIPCODE_REGEX

        public static final java.lang.String SE_ZIPCODE_REGEX
        Regular expression to validate post codes in Sweden.
        See Also:
        Constant Field Values
      • FI_ZIPCODE_REGEX

        public static final java.lang.String FI_ZIPCODE_REGEX
        Regular expression to validate post codes in Finland.
        See Also:
        Constant Field Values
      • US_ZIPCODE_REGEX

        public static final java.lang.String US_ZIPCODE_REGEX
        Regular expression to validate post codes in USA.
        See Also:
        Constant Field Values
      • JP_ZIPCODE_REGEX

        public static final java.lang.String JP_ZIPCODE_REGEX
        Regular expression to validate post codes in Japan.
        See Also:
        Constant Field Values
      • PL_ZIPCODE_REGEX

        public static final java.lang.String PL_ZIPCODE_REGEX
        Regular expression to validate post codes in Poland.
        See Also:
        Constant Field Values
      • CN_ZIPCODE_REGEX

        public static final java.lang.String CN_ZIPCODE_REGEX
        Regular expression to validate post codes in China.
        See Also:
        Constant Field Values
      • CA_ZIPCODE_REGEX

        public static final java.lang.String CA_ZIPCODE_REGEX
        Regular expression to validate post codes in Canada.
        See Also:
        Constant Field Values
      • RU_ZIPCODE_REGEX

        public static final java.lang.String RU_ZIPCODE_REGEX
        Regular expression to validate post codes in Russia.
        See Also:
        Constant Field Values
      • GR_ZIPCODE_REGEX

        public static final java.lang.String GR_ZIPCODE_REGEX
        Regular expression to validate post codes in Greece.
        See Also:
        Constant Field Values
      • KR_ZIPCODE_REGEX

        public static final java.lang.String KR_ZIPCODE_REGEX
        Regular expression to validate post codes in South Korea.
        See Also:
        Constant Field Values
      • RO_ZIPCODE_REGEX

        public static final java.lang.String RO_ZIPCODE_REGEX
        Regular expression to validate post codes in Romania.
        See Also:
        Constant Field Values
      • MX_ZIPCODE_REGEX

        public static final java.lang.String MX_ZIPCODE_REGEX
        Regular expression to validate post codes in Mexico.
        See Also:
        Constant Field Values
      • TW_ZIPCODE_REGEX

        public static final java.lang.String TW_ZIPCODE_REGEX
        Regular expression to validate post codes in Taiwan.
        See Also:
        Constant Field Values
      • MO_ZIPCODE_REGEX

        public static final java.lang.String MO_ZIPCODE_REGEX
        Regular expression to validate post codes in Macao.
        See Also:
        Constant Field Values
      • HK_ZIPCODE_REGEX

        public static final java.lang.String HK_ZIPCODE_REGEX
        Regular expression to validate post codes in Hong Kong.
        See Also:
        Constant Field Values
      • TR_ZIPCODE_REGEX

        public static final java.lang.String TR_ZIPCODE_REGEX
        Regular expression to validate post codes in Turkey.
        See Also:
        Constant Field Values
      • mMap

        private final java.util.Map<java.lang.String,​java.lang.String> mMap
        Map that relates country codes with their respective regular expressions to validate post codes.
      • mCountryCode

        private java.lang.String mCountryCode
        ISO 3166 country code to use to validate post codes.
      • mPostCodePattern

        private java.util.regex.Pattern mPostCodePattern
        Pattern to validate post codes using a regular expression.
    • Constructor Detail

      • ZipCodeValidator

        protected ZipCodeValidator()
        Constructor.
      • ZipCodeValidator

        public ZipCodeValidator​(java.lang.String countryCode)
        Constructor.
        Parameters:
        countryCode - ISO 3166 county code.
      • ZipCodeValidator

        public ZipCodeValidator​(java.util.Locale locale)
        Constructor.
        Parameters:
        locale - locale associated to an ISO 3166 county code.
    • Method Detail

      • getCountryCode

        public java.lang.String getCountryCode()
        Returns ISO 3166 country code associated to this instance.
        Returns:
        ISO 3166 country code associated to this instance.
      • setCountryCode

        public final void setCountryCode​(java.lang.String countryCode)
        Sets ISO 3166 country code associated to this instance.
        Parameters:
        countryCode - ISO 3166 country code associated to this instance.
      • setCountryCodeFrom

        public final void setCountryCodeFrom​(java.util.Locale locale)
        Sets ISO 3166 country code associated to this instance.
        Parameters:
        locale - locale associated to an ISO 3166 country code.
      • isValid

        public boolean isValid​(java.lang.String zipCode)
        Checks whether provided post code has a valid format for the configured country.
        Specified by:
        isValid in interface Validator<java.lang.String>
        Parameters:
        zipCode - post code to be validated.
        Returns:
        true if post code is valid, false otherwise.
      • buildPattern

        private void buildPattern()
        Initializes regular expression.