Modified: websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/DoubleValidator.html ============================================================================== --- websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/DoubleValidator.html (original) +++ websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/DoubleValidator.html Tue Jan 13 20:07:34 2015 @@ -1,6 +1,6 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> +<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>DoubleValidator xref</title> <link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> </head> @@ -45,7 +45,7 @@ <a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> * one of the <code>validate()</code> methods to validate and receive a</em> <a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> * <i>converted</i> <code>Double</code> value.</p></em> <a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * <p>Once a value has been sucessfully converted the following</em> +<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * <p>Once a value has been successfully converted the following</em> <a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> * methods can be used to perform minimum, maximum and range checks:</p></em> <a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> * <ul></em> <a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> * <li><code>minValue()</code> checks whether the value is greater</em> @@ -67,7 +67,7 @@ <a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> * <li>using a specified pattern with a specified <code>Locale</code></li></em> <a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment"> * </ul></em> <a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> * @version $Revision: 1227719 $ $Date: 2012-01-05 18:45:51 +0100 (Do, 05 Jan 2012) $</em> +<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> * @version $Revision: 1649191 $</em> <a class="jxr_linenumber" name="L63" href="#L63">63</a> <em class="jxr_javadoccomment"> * @since Validator 1.3.0</em> <a class="jxr_linenumber" name="L64" href="#L64">64</a> <em class="jxr_javadoccomment"> */</em> <a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/commons/validator/routines/DoubleValidator.html">DoubleValidator</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/commons/validator/routines/AbstractNumberValidator.html">AbstractNumberValidator</a> { @@ -252,14 +252,13 @@ <a class="jxr_linenumber" name="L244" href="#L244">244</a> <a class="jxr_linenumber" name="L245" href="#L245">245</a> <strong class="jxr_keyword">if</strong> (value instanceof Double) { <a class="jxr_linenumber" name="L246" href="#L246">246</a> <strong class="jxr_keyword">return</strong> value; -<a class="jxr_linenumber" name="L247" href="#L247">247</a> } <strong class="jxr_keyword">else</strong> { -<a class="jxr_linenumber" name="L248" href="#L248">248</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Double(((Number)value).doubleValue()); -<a class="jxr_linenumber" name="L249" href="#L249">249</a> } -<a class="jxr_linenumber" name="L250" href="#L250">250</a> -<a class="jxr_linenumber" name="L251" href="#L251">251</a> } -<a class="jxr_linenumber" name="L252" href="#L252">252</a> } +<a class="jxr_linenumber" name="L247" href="#L247">247</a> } +<a class="jxr_linenumber" name="L248" href="#L248">248</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Double(((Number)value).doubleValue()); +<a class="jxr_linenumber" name="L249" href="#L249">249</a> +<a class="jxr_linenumber" name="L250" href="#L250">250</a> } +<a class="jxr_linenumber" name="L251" href="#L251">251</a> } </pre> <hr/> -<div id="footer">Copyright © 2002–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> +<div id="footer">Copyright © 2002–2015 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> </body> </html> \ No newline at end of file
Modified: websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/EmailValidator.html ============================================================================== --- websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/EmailValidator.html (original) +++ websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/EmailValidator.html Tue Jan 13 20:07:34 2015 @@ -1,6 +1,6 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> +<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>EmailValidator xref</title> <link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> </head> @@ -31,161 +31,148 @@ <a class="jxr_linenumber" name="L23" href="#L23">23</a> <em class="jxr_javadoccomment">/**</em> <a class="jxr_linenumber" name="L24" href="#L24">24</a> <em class="jxr_javadoccomment"> * <p>Perform email validations.</p></em> <a class="jxr_linenumber" name="L25" href="#L25">25</a> <em class="jxr_javadoccomment"> * <p></em> -<a class="jxr_linenumber" name="L26" href="#L26">26</a> <em class="jxr_javadoccomment"> * This class is a Singleton; you can retrieve the instance via the getInstance() method.</em> -<a class="jxr_linenumber" name="L27" href="#L27">27</a> <em class="jxr_javadoccomment"> * </p></em> -<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment"> * <p></em> -<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment"> * Based on a script by <a href="<a href="mailto:[email protected]" target="alexandria_uri">mailto:[email protected]</a>">Sandeep V. Tamhankar</a></em> -<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> * <a href="http://javascript.internet.co" target="alexandria_uri">http://javascript.internet.co</a>m</em> -<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> * </p></em> -<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> * <p></em> -<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> * This implementation is not guaranteed to catch all possible errors in an email address.</em> -<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment"> * For example, an address like [email protected] will pass validator, even though there</em> -<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment"> * is no TLD "somedog"</em> -<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment"> * </p>.</em> -<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> * @version $Revision: 1608584 $ $Date: 2014-07-07 21:54:07 +0200 (Mo, 07 Jul 2014) $</em> -<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> * @since Validator 1.4</em> -<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a> <strong class="jxr_keyword">implements</strong> Serializable { -<a class="jxr_linenumber" name="L42" href="#L42">42</a> -<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1705927040799295880L; +<a class="jxr_linenumber" name="L26" href="#L26">26</a> <em class="jxr_javadoccomment"> * Based on a script by <a href="<a href="mailto:[email protected]" target="alexandria_uri">mailto:[email protected]</a>">Sandeep V. Tamhankar</a></em> +<a class="jxr_linenumber" name="L27" href="#L27">27</a> <em class="jxr_javadoccomment"> * <a href="http://javascript.internet.co" target="alexandria_uri">http://javascript.internet.co</a>m</em> +<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment"> * </p></em> +<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment"> * <p></em> +<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> * This implementation is not guaranteed to catch all possible errors in an email address.</em> +<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> * </p>.</em> +<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> * @version $Revision: 1649927 $</em> +<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment"> * @since Validator 1.4</em> +<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a> <strong class="jxr_keyword">implements</strong> Serializable { +<a class="jxr_linenumber" name="L37" href="#L37">37</a> +<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1705927040799295880L; +<a class="jxr_linenumber" name="L39" href="#L39">39</a> +<a class="jxr_linenumber" name="L40" href="#L40">40</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String SPECIAL_CHARS = <span class="jxr_string">"\\p{Cntrl}\\(\\)<>@,;:'\\\\\\\"\\.\\[\\]"</span>; +<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String VALID_CHARS = <span class="jxr_string">"[^\\s"</span> + SPECIAL_CHARS + <span class="jxr_string">"]"</span>; +<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String QUOTED_USER = <span class="jxr_string">"(\"[^\"]*\")"</span>; +<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String WORD = <span class="jxr_string">"(("</span> + VALID_CHARS + <span class="jxr_string">"|')+|"</span> + QUOTED_USER + <span class="jxr_string">")"</span>; <a class="jxr_linenumber" name="L44" href="#L44">44</a> -<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String SPECIAL_CHARS = <span class="jxr_string">"\\p{Cntrl}\\(\\)<>@,;:'\\\\\\\"\\.\\[\\]"</span>; -<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String VALID_CHARS = <span class="jxr_string">"[^\\s"</span> + SPECIAL_CHARS + <span class="jxr_string">"]"</span>; -<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String QUOTED_USER = <span class="jxr_string">"(\"[^\"]*\")"</span>; -<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String WORD = <span class="jxr_string">"(("</span> + VALID_CHARS + <span class="jxr_string">"|')+|"</span> + QUOTED_USER + <span class="jxr_string">")"</span>; -<a class="jxr_linenumber" name="L49" href="#L49">49</a> -<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LEGAL_ASCII_REGEX = <span class="jxr_string">"^\\p{ASCII}+$"</span>; -<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMAIL_REGEX = <span class="jxr_string">"^\\s*?(.+)@(.+?)\\s*$"</span>; -<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String IP_DOMAIN_REGEX = <span class="jxr_string">"^\\[(.*)\\]$"</span>; -<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String USER_REGEX = <span class="jxr_string">"^\\s*"</span> + WORD + <span class="jxr_string">"(\\."</span> + WORD + <span class="jxr_string">")*$"</span>; +<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMAIL_REGEX = <span class="jxr_string">"^\\s*?(.+)@(.+?)\\s*$"</span>; +<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String IP_DOMAIN_REGEX = <span class="jxr_string">"^\\[(.*)\\]$"</span>; +<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String USER_REGEX = <span class="jxr_string">"^\\s*"</span> + WORD + <span class="jxr_string">"(\\."</span> + WORD + <span class="jxr_string">")*$"</span>; +<a class="jxr_linenumber" name="L48" href="#L48">48</a> +<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern EMAIL_PATTERN = Pattern.compile(EMAIL_REGEX); +<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern IP_DOMAIN_PATTERN = Pattern.compile(IP_DOMAIN_REGEX); +<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern USER_PATTERN = Pattern.compile(USER_REGEX); +<a class="jxr_linenumber" name="L52" href="#L52">52</a> +<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> allowLocal; <a class="jxr_linenumber" name="L54" href="#L54">54</a> -<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern MATCH_ASCII_PATTERN = Pattern.compile(LEGAL_ASCII_REGEX); -<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern EMAIL_PATTERN = Pattern.compile(EMAIL_REGEX); -<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern IP_DOMAIN_PATTERN = Pattern.compile(IP_DOMAIN_REGEX); -<a class="jxr_linenumber" name="L58" href="#L58">58</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern USER_PATTERN = Pattern.compile(USER_REGEX); -<a class="jxr_linenumber" name="L59" href="#L59">59</a> -<a class="jxr_linenumber" name="L60" href="#L60">60</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> allowLocal; -<a class="jxr_linenumber" name="L61" href="#L61">61</a> -<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L63" href="#L63">63</a> <em class="jxr_javadoccomment"> * Singleton instance of this class, which</em> -<a class="jxr_linenumber" name="L64" href="#L64">64</a> <em class="jxr_javadoccomment"> * doesn't consider local addresses as valid.</em> -<a class="jxr_linenumber" name="L65" href="#L65">65</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L66" href="#L66">66</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a> EMAIL_VALIDATOR = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a>(false); -<a class="jxr_linenumber" name="L67" href="#L67">67</a> -<a class="jxr_linenumber" name="L68" href="#L68">68</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L69" href="#L69">69</a> <em class="jxr_javadoccomment"> * Singleton instance of this class, which does</em> -<a class="jxr_linenumber" name="L70" href="#L70">70</a> <em class="jxr_javadoccomment"> * consider local addresses valid.</em> +<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L56" href="#L56">56</a> <em class="jxr_javadoccomment"> * Singleton instance of this class, which</em> +<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment"> * doesn't consider local addresses as valid.</em> +<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a> EMAIL_VALIDATOR = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a>(false); +<a class="jxr_linenumber" name="L60" href="#L60">60</a> +<a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> * Singleton instance of this class, which does</em> +<a class="jxr_linenumber" name="L63" href="#L63">63</a> <em class="jxr_javadoccomment"> * consider local addresses valid.</em> +<a class="jxr_linenumber" name="L64" href="#L64">64</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a> EMAIL_VALIDATOR_WITH_LOCAL = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a>(<strong class="jxr_keyword">true</strong>); +<a class="jxr_linenumber" name="L66" href="#L66">66</a> +<a class="jxr_linenumber" name="L67" href="#L67">67</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L68" href="#L68">68</a> <em class="jxr_javadoccomment"> * Returns the Singleton instance of this validator.</em> +<a class="jxr_linenumber" name="L69" href="#L69">69</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L70" href="#L70">70</a> <em class="jxr_javadoccomment"> * @return singleton instance of this validator.</em> <a class="jxr_linenumber" name="L71" href="#L71">71</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a> EMAIL_VALIDATOR_WITH_LOCAL = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a>(<strong class="jxr_keyword">true</strong>); -<a class="jxr_linenumber" name="L73" href="#L73">73</a> -<a class="jxr_linenumber" name="L74" href="#L74">74</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L75" href="#L75">75</a> <em class="jxr_javadoccomment"> * Returns the Singleton instance of this validator.</em> -<a class="jxr_linenumber" name="L76" href="#L76">76</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L77" href="#L77">77</a> <em class="jxr_javadoccomment"> * @return singleton instance of this validator.</em> -<a class="jxr_linenumber" name="L78" href="#L78">78</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L79" href="#L79">79</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a> getInstance() { -<a class="jxr_linenumber" name="L80" href="#L80">80</a> <strong class="jxr_keyword">return</strong> EMAIL_VALIDATOR; -<a class="jxr_linenumber" name="L81" href="#L81">81</a> } -<a class="jxr_linenumber" name="L82" href="#L82">82</a> -<a class="jxr_linenumber" name="L83" href="#L83">83</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L84" href="#L84">84</a> <em class="jxr_javadoccomment"> * Returns the Singleton instance of this validator,</em> -<a class="jxr_linenumber" name="L85" href="#L85">85</a> <em class="jxr_javadoccomment"> * with local validation as required.</em> -<a class="jxr_linenumber" name="L86" href="#L86">86</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L87" href="#L87">87</a> <em class="jxr_javadoccomment"> * @param allowLocal Should local addresses be considered valid?</em> -<a class="jxr_linenumber" name="L88" href="#L88">88</a> <em class="jxr_javadoccomment"> * @return singleton instance of this validator</em> -<a class="jxr_linenumber" name="L89" href="#L89">89</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L90" href="#L90">90</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a> getInstance(<strong class="jxr_keyword">boolean</strong> allowLocal) { -<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">if</strong>(allowLocal) { -<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">return</strong> EMAIL_VALIDATOR_WITH_LOCAL; -<a class="jxr_linenumber" name="L93" href="#L93">93</a> } -<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">return</strong> EMAIL_VALIDATOR; -<a class="jxr_linenumber" name="L95" href="#L95">95</a> } -<a class="jxr_linenumber" name="L96" href="#L96">96</a> -<a class="jxr_linenumber" name="L97" href="#L97">97</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L98" href="#L98">98</a> <em class="jxr_javadoccomment"> * Protected constructor for subclasses to use.</em> -<a class="jxr_linenumber" name="L99" href="#L99">99</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L100" href="#L100">100</a> <em class="jxr_javadoccomment"> * @param allowLocal Should local addresses be considered valid?</em> -<a class="jxr_linenumber" name="L101" href="#L101">101</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a>(<strong class="jxr_keyword">boolean</strong> allowLocal) { -<a class="jxr_linenumber" name="L103" href="#L103">103</a> <strong class="jxr_keyword">super</strong>(); -<a class="jxr_linenumber" name="L104" href="#L104">104</a> <strong class="jxr_keyword">this</strong>.allowLocal = allowLocal; -<a class="jxr_linenumber" name="L105" href="#L105">105</a> } -<a class="jxr_linenumber" name="L106" href="#L106">106</a> -<a class="jxr_linenumber" name="L107" href="#L107">107</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L108" href="#L108">108</a> <em class="jxr_javadoccomment"> * <p>Checks if a field has a valid e-mail address.</p></em> -<a class="jxr_linenumber" name="L109" href="#L109">109</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L110" href="#L110">110</a> <em class="jxr_javadoccomment"> * @param email The value validation is being performed on. A <code>null</code></em> -<a class="jxr_linenumber" name="L111" href="#L111">111</a> <em class="jxr_javadoccomment"> * value is considered invalid.</em> -<a class="jxr_linenumber" name="L112" href="#L112">112</a> <em class="jxr_javadoccomment"> * @return true if the email address is valid.</em> -<a class="jxr_linenumber" name="L113" href="#L113">113</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L114" href="#L114">114</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isValid(String email) { -<a class="jxr_linenumber" name="L115" href="#L115">115</a> <strong class="jxr_keyword">if</strong> (email == <strong class="jxr_keyword">null</strong>) { -<a class="jxr_linenumber" name="L116" href="#L116">116</a> <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L117" href="#L117">117</a> } -<a class="jxr_linenumber" name="L118" href="#L118">118</a> -<a class="jxr_linenumber" name="L119" href="#L119">119</a> Matcher asciiMatcher = MATCH_ASCII_PATTERN.matcher(email); -<a class="jxr_linenumber" name="L120" href="#L120">120</a> <strong class="jxr_keyword">if</strong> (!asciiMatcher.matches()) { -<a class="jxr_linenumber" name="L121" href="#L121">121</a> <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L122" href="#L122">122</a> } -<a class="jxr_linenumber" name="L123" href="#L123">123</a> -<a class="jxr_linenumber" name="L124" href="#L124">124</a> <em class="jxr_comment">// Check the whole email address structure</em> -<a class="jxr_linenumber" name="L125" href="#L125">125</a> Matcher emailMatcher = EMAIL_PATTERN.matcher(email); -<a class="jxr_linenumber" name="L126" href="#L126">126</a> <strong class="jxr_keyword">if</strong> (!emailMatcher.matches()) { +<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a> getInstance() { +<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">return</strong> EMAIL_VALIDATOR; +<a class="jxr_linenumber" name="L74" href="#L74">74</a> } +<a class="jxr_linenumber" name="L75" href="#L75">75</a> +<a class="jxr_linenumber" name="L76" href="#L76">76</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L77" href="#L77">77</a> <em class="jxr_javadoccomment"> * Returns the Singleton instance of this validator,</em> +<a class="jxr_linenumber" name="L78" href="#L78">78</a> <em class="jxr_javadoccomment"> * with local validation as required.</em> +<a class="jxr_linenumber" name="L79" href="#L79">79</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L80" href="#L80">80</a> <em class="jxr_javadoccomment"> * @param allowLocal Should local addresses be considered valid?</em> +<a class="jxr_linenumber" name="L81" href="#L81">81</a> <em class="jxr_javadoccomment"> * @return singleton instance of this validator</em> +<a class="jxr_linenumber" name="L82" href="#L82">82</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L83" href="#L83">83</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a> getInstance(<strong class="jxr_keyword">boolean</strong> allowLocal) { +<a class="jxr_linenumber" name="L84" href="#L84">84</a> <strong class="jxr_keyword">if</strong>(allowLocal) { +<a class="jxr_linenumber" name="L85" href="#L85">85</a> <strong class="jxr_keyword">return</strong> EMAIL_VALIDATOR_WITH_LOCAL; +<a class="jxr_linenumber" name="L86" href="#L86">86</a> } +<a class="jxr_linenumber" name="L87" href="#L87">87</a> <strong class="jxr_keyword">return</strong> EMAIL_VALIDATOR; +<a class="jxr_linenumber" name="L88" href="#L88">88</a> } +<a class="jxr_linenumber" name="L89" href="#L89">89</a> +<a class="jxr_linenumber" name="L90" href="#L90">90</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L91" href="#L91">91</a> <em class="jxr_javadoccomment"> * Protected constructor for subclasses to use.</em> +<a class="jxr_linenumber" name="L92" href="#L92">92</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L93" href="#L93">93</a> <em class="jxr_javadoccomment"> * @param allowLocal Should local addresses be considered valid?</em> +<a class="jxr_linenumber" name="L94" href="#L94">94</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L95" href="#L95">95</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/commons/validator/routines/EmailValidator.html">EmailValidator</a>(<strong class="jxr_keyword">boolean</strong> allowLocal) { +<a class="jxr_linenumber" name="L96" href="#L96">96</a> <strong class="jxr_keyword">super</strong>(); +<a class="jxr_linenumber" name="L97" href="#L97">97</a> <strong class="jxr_keyword">this</strong>.allowLocal = allowLocal; +<a class="jxr_linenumber" name="L98" href="#L98">98</a> } +<a class="jxr_linenumber" name="L99" href="#L99">99</a> +<a class="jxr_linenumber" name="L100" href="#L100">100</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L101" href="#L101">101</a> <em class="jxr_javadoccomment"> * <p>Checks if a field has a valid e-mail address.</p></em> +<a class="jxr_linenumber" name="L102" href="#L102">102</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L103" href="#L103">103</a> <em class="jxr_javadoccomment"> * @param email The value validation is being performed on. A <code>null</code></em> +<a class="jxr_linenumber" name="L104" href="#L104">104</a> <em class="jxr_javadoccomment"> * value is considered invalid.</em> +<a class="jxr_linenumber" name="L105" href="#L105">105</a> <em class="jxr_javadoccomment"> * @return true if the email address is valid.</em> +<a class="jxr_linenumber" name="L106" href="#L106">106</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L107" href="#L107">107</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isValid(String email) { +<a class="jxr_linenumber" name="L108" href="#L108">108</a> <strong class="jxr_keyword">if</strong> (email == <strong class="jxr_keyword">null</strong>) { +<a class="jxr_linenumber" name="L109" href="#L109">109</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L110" href="#L110">110</a> } +<a class="jxr_linenumber" name="L111" href="#L111">111</a> +<a class="jxr_linenumber" name="L112" href="#L112">112</a> <strong class="jxr_keyword">if</strong> (email.endsWith(<span class="jxr_string">"."</span>)) { <em class="jxr_comment">// check this first - it's cheap!</em> +<a class="jxr_linenumber" name="L113" href="#L113">113</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L114" href="#L114">114</a> } +<a class="jxr_linenumber" name="L115" href="#L115">115</a> +<a class="jxr_linenumber" name="L116" href="#L116">116</a> <em class="jxr_comment">// Check the whole email address structure</em> +<a class="jxr_linenumber" name="L117" href="#L117">117</a> Matcher emailMatcher = EMAIL_PATTERN.matcher(email); +<a class="jxr_linenumber" name="L118" href="#L118">118</a> <strong class="jxr_keyword">if</strong> (!emailMatcher.matches()) { +<a class="jxr_linenumber" name="L119" href="#L119">119</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L120" href="#L120">120</a> } +<a class="jxr_linenumber" name="L121" href="#L121">121</a> +<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">if</strong> (!isValidUser(emailMatcher.group(1))) { +<a class="jxr_linenumber" name="L123" href="#L123">123</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L124" href="#L124">124</a> } +<a class="jxr_linenumber" name="L125" href="#L125">125</a> +<a class="jxr_linenumber" name="L126" href="#L126">126</a> <strong class="jxr_keyword">if</strong> (!isValidDomain(emailMatcher.group(2))) { <a class="jxr_linenumber" name="L127" href="#L127">127</a> <strong class="jxr_keyword">return</strong> false; <a class="jxr_linenumber" name="L128" href="#L128">128</a> } <a class="jxr_linenumber" name="L129" href="#L129">129</a> -<a class="jxr_linenumber" name="L130" href="#L130">130</a> <strong class="jxr_keyword">if</strong> (email.endsWith(<span class="jxr_string">"."</span>)) { -<a class="jxr_linenumber" name="L131" href="#L131">131</a> <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L132" href="#L132">132</a> } -<a class="jxr_linenumber" name="L133" href="#L133">133</a> -<a class="jxr_linenumber" name="L134" href="#L134">134</a> <strong class="jxr_keyword">if</strong> (!isValidUser(emailMatcher.group(1))) { -<a class="jxr_linenumber" name="L135" href="#L135">135</a> <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L136" href="#L136">136</a> } -<a class="jxr_linenumber" name="L137" href="#L137">137</a> -<a class="jxr_linenumber" name="L138" href="#L138">138</a> <strong class="jxr_keyword">if</strong> (!isValidDomain(emailMatcher.group(2))) { -<a class="jxr_linenumber" name="L139" href="#L139">139</a> <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L140" href="#L140">140</a> } -<a class="jxr_linenumber" name="L141" href="#L141">141</a> -<a class="jxr_linenumber" name="L142" href="#L142">142</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; -<a class="jxr_linenumber" name="L143" href="#L143">143</a> } -<a class="jxr_linenumber" name="L144" href="#L144">144</a> -<a class="jxr_linenumber" name="L145" href="#L145">145</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L146" href="#L146">146</a> <em class="jxr_javadoccomment"> * Returns true if the domain component of an email address is valid.</em> -<a class="jxr_linenumber" name="L147" href="#L147">147</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L148" href="#L148">148</a> <em class="jxr_javadoccomment"> * @param domain being validated.</em> -<a class="jxr_linenumber" name="L149" href="#L149">149</a> <em class="jxr_javadoccomment"> * @return true if the email address's domain is valid.</em> -<a class="jxr_linenumber" name="L150" href="#L150">150</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L151" href="#L151">151</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isValidDomain(String domain) { -<a class="jxr_linenumber" name="L152" href="#L152">152</a> <em class="jxr_comment">// see if domain is an IP address in brackets</em> -<a class="jxr_linenumber" name="L153" href="#L153">153</a> Matcher ipDomainMatcher = IP_DOMAIN_PATTERN.matcher(domain); +<a class="jxr_linenumber" name="L130" href="#L130">130</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a class="jxr_linenumber" name="L131" href="#L131">131</a> } +<a class="jxr_linenumber" name="L132" href="#L132">132</a> +<a class="jxr_linenumber" name="L133" href="#L133">133</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L134" href="#L134">134</a> <em class="jxr_javadoccomment"> * Returns true if the domain component of an email address is valid.</em> +<a class="jxr_linenumber" name="L135" href="#L135">135</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L136" href="#L136">136</a> <em class="jxr_javadoccomment"> * @param domain being validated, may be in IDN format</em> +<a class="jxr_linenumber" name="L137" href="#L137">137</a> <em class="jxr_javadoccomment"> * @return true if the email address's domain is valid.</em> +<a class="jxr_linenumber" name="L138" href="#L138">138</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L139" href="#L139">139</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isValidDomain(String domain) { +<a class="jxr_linenumber" name="L140" href="#L140">140</a> <em class="jxr_comment">// see if domain is an IP address in brackets</em> +<a class="jxr_linenumber" name="L141" href="#L141">141</a> Matcher ipDomainMatcher = IP_DOMAIN_PATTERN.matcher(domain); +<a class="jxr_linenumber" name="L142" href="#L142">142</a> +<a class="jxr_linenumber" name="L143" href="#L143">143</a> <strong class="jxr_keyword">if</strong> (ipDomainMatcher.matches()) { +<a class="jxr_linenumber" name="L144" href="#L144">144</a> <a href="../../../../../org/apache/commons/validator/routines/InetAddressValidator.html">InetAddressValidator</a> inetAddressValidator = +<a class="jxr_linenumber" name="L145" href="#L145">145</a> InetAddressValidator.getInstance(); +<a class="jxr_linenumber" name="L146" href="#L146">146</a> <strong class="jxr_keyword">return</strong> inetAddressValidator.isValid(ipDomainMatcher.group(1)); +<a class="jxr_linenumber" name="L147" href="#L147">147</a> } +<a class="jxr_linenumber" name="L148" href="#L148">148</a> <em class="jxr_comment">// Domain is symbolic name</em> +<a class="jxr_linenumber" name="L149" href="#L149">149</a> <a href="../../../../../org/apache/commons/validator/routines/DomainValidator.html">DomainValidator</a> domainValidator = +<a class="jxr_linenumber" name="L150" href="#L150">150</a> DomainValidator.getInstance(allowLocal); +<a class="jxr_linenumber" name="L151" href="#L151">151</a> <strong class="jxr_keyword">return</strong> domainValidator.isValid(domain) || +<a class="jxr_linenumber" name="L152" href="#L152">152</a> domainValidator.isValidTld(domain); +<a class="jxr_linenumber" name="L153" href="#L153">153</a> } <a class="jxr_linenumber" name="L154" href="#L154">154</a> -<a class="jxr_linenumber" name="L155" href="#L155">155</a> <strong class="jxr_keyword">if</strong> (ipDomainMatcher.matches()) { -<a class="jxr_linenumber" name="L156" href="#L156">156</a> <a href="../../../../../org/apache/commons/validator/routines/InetAddressValidator.html">InetAddressValidator</a> inetAddressValidator = -<a class="jxr_linenumber" name="L157" href="#L157">157</a> InetAddressValidator.getInstance(); -<a class="jxr_linenumber" name="L158" href="#L158">158</a> <strong class="jxr_keyword">return</strong> inetAddressValidator.isValid(ipDomainMatcher.group(1)); -<a class="jxr_linenumber" name="L159" href="#L159">159</a> } <strong class="jxr_keyword">else</strong> { -<a class="jxr_linenumber" name="L160" href="#L160">160</a> <em class="jxr_comment">// Domain is symbolic name</em> -<a class="jxr_linenumber" name="L161" href="#L161">161</a> <a href="../../../../../org/apache/commons/validator/routines/DomainValidator.html">DomainValidator</a> domainValidator = -<a class="jxr_linenumber" name="L162" href="#L162">162</a> DomainValidator.getInstance(allowLocal); -<a class="jxr_linenumber" name="L163" href="#L163">163</a> <strong class="jxr_keyword">return</strong> domainValidator.isValid(domain) || -<a class="jxr_linenumber" name="L164" href="#L164">164</a> domainValidator.isValidTld(domain); -<a class="jxr_linenumber" name="L165" href="#L165">165</a> } -<a class="jxr_linenumber" name="L166" href="#L166">166</a> } -<a class="jxr_linenumber" name="L167" href="#L167">167</a> -<a class="jxr_linenumber" name="L168" href="#L168">168</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L169" href="#L169">169</a> <em class="jxr_javadoccomment"> * Returns true if the user component of an email address is valid.</em> -<a class="jxr_linenumber" name="L170" href="#L170">170</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L171" href="#L171">171</a> <em class="jxr_javadoccomment"> * @param user being validated</em> -<a class="jxr_linenumber" name="L172" href="#L172">172</a> <em class="jxr_javadoccomment"> * @return true if the user name is valid.</em> -<a class="jxr_linenumber" name="L173" href="#L173">173</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L174" href="#L174">174</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isValidUser(String user) { -<a class="jxr_linenumber" name="L175" href="#L175">175</a> <strong class="jxr_keyword">return</strong> USER_PATTERN.matcher(user).matches(); -<a class="jxr_linenumber" name="L176" href="#L176">176</a> } -<a class="jxr_linenumber" name="L177" href="#L177">177</a> -<a class="jxr_linenumber" name="L178" href="#L178">178</a> } +<a class="jxr_linenumber" name="L155" href="#L155">155</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L156" href="#L156">156</a> <em class="jxr_javadoccomment"> * Returns true if the user component of an email address is valid.</em> +<a class="jxr_linenumber" name="L157" href="#L157">157</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L158" href="#L158">158</a> <em class="jxr_javadoccomment"> * @param user being validated</em> +<a class="jxr_linenumber" name="L159" href="#L159">159</a> <em class="jxr_javadoccomment"> * @return true if the user name is valid.</em> +<a class="jxr_linenumber" name="L160" href="#L160">160</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L161" href="#L161">161</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isValidUser(String user) { +<a class="jxr_linenumber" name="L162" href="#L162">162</a> <strong class="jxr_keyword">return</strong> USER_PATTERN.matcher(user).matches(); +<a class="jxr_linenumber" name="L163" href="#L163">163</a> } +<a class="jxr_linenumber" name="L164" href="#L164">164</a> +<a class="jxr_linenumber" name="L165" href="#L165">165</a> } </pre> <hr/> -<div id="footer">Copyright © 2002–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> +<div id="footer">Copyright © 2002–2015 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> </body> </html> \ No newline at end of file Modified: websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/FloatValidator.html ============================================================================== --- websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/FloatValidator.html (original) +++ websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/FloatValidator.html Tue Jan 13 20:07:34 2015 @@ -1,6 +1,6 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> +<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>FloatValidator xref</title> <link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> </head> @@ -45,7 +45,7 @@ <a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> * one of the <code>validate()</code> methods to validate and receive a</em> <a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> * <i>converted</i> <code>Float</code> value.</p></em> <a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * <p>Once a value has been sucessfully converted the following</em> +<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * <p>Once a value has been successfully converted the following</em> <a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> * methods can be used to perform minimum, maximum and range checks:</p></em> <a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> * <ul></em> <a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> * <li><code>minValue()</code> checks whether the value is greater</em> @@ -67,7 +67,7 @@ <a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> * <li>using a specified pattern with a specified <code>Locale</code></li></em> <a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment"> * </ul></em> <a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> * @version $Revision: 1227719 $ $Date: 2012-01-05 18:45:51 +0100 (Do, 05 Jan 2012) $</em> +<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> * @version $Revision: 1649191 $</em> <a class="jxr_linenumber" name="L63" href="#L63">63</a> <em class="jxr_javadoccomment"> * @since Validator 1.3.0</em> <a class="jxr_linenumber" name="L64" href="#L64">64</a> <em class="jxr_javadoccomment"> */</em> <a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/commons/validator/routines/FloatValidator.html">FloatValidator</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/commons/validator/routines/AbstractNumberValidator.html">AbstractNumberValidator</a> { @@ -277,6 +277,6 @@ <a class="jxr_linenumber" name="L269" href="#L269">269</a> } </pre> <hr/> -<div id="footer">Copyright © 2002–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> +<div id="footer">Copyright © 2002–2015 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> </body> </html> \ No newline at end of file Modified: websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/ISBNValidator.html ============================================================================== --- websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/ISBNValidator.html (original) +++ websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/ISBNValidator.html Tue Jan 13 20:07:34 2015 @@ -1,6 +1,6 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> +<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>ISBNValidator xref</title> <link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> </head> @@ -58,7 +58,7 @@ <a class="jxr_linenumber" name="L50" href="#L50">50</a> <em class="jxr_javadoccomment"> * Transition details</a>.</li></em> <a class="jxr_linenumber" name="L51" href="#L51">51</a> <em class="jxr_javadoccomment"> * </ul></em> <a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L53" href="#L53">53</a> <em class="jxr_javadoccomment"> * @version $Revision: 1441678 $ $Date: 2013-02-02 02:31:07 +0100 (Sa, 02 Feb 2013) $</em> +<a class="jxr_linenumber" name="L53" href="#L53">53</a> <em class="jxr_javadoccomment"> * @version $Revision: 1649191 $</em> <a class="jxr_linenumber" name="L54" href="#L54">54</a> <em class="jxr_javadoccomment"> * @since Validator 1.4</em> <a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment"> */</em> <a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/commons/validator/routines/ISBNValidator.html">ISBNValidator</a> <strong class="jxr_keyword">implements</strong> Serializable { @@ -266,6 +266,6 @@ <a class="jxr_linenumber" name="L258" href="#L258">258</a> } </pre> <hr/> -<div id="footer">Copyright © 2002–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> +<div id="footer">Copyright © 2002–2015 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> </body> </html> \ No newline at end of file Modified: websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/InetAddressValidator.html ============================================================================== --- websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/InetAddressValidator.html (original) +++ websites/production/commons/content/proper/commons-validator/xref/org/apache/commons/validator/routines/InetAddressValidator.html Tue Jan 13 20:07:34 2015 @@ -1,6 +1,6 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> +<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>InetAddressValidator xref</title> <link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> </head> @@ -26,88 +26,173 @@ <a class="jxr_linenumber" name="L18" href="#L18">18</a> <strong class="jxr_keyword">package</strong> org.apache.commons.validator.routines; <a class="jxr_linenumber" name="L19" href="#L19">19</a> <a class="jxr_linenumber" name="L20" href="#L20">20</a> <strong class="jxr_keyword">import</strong> java.io.Serializable; -<a class="jxr_linenumber" name="L21" href="#L21">21</a> -<a class="jxr_linenumber" name="L22" href="#L22">22</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L23" href="#L23">23</a> <em class="jxr_javadoccomment"> * <p><b>InetAddress</b> validation and conversion routines (<code>java.net.InetAddress</code>).</p></em> -<a class="jxr_linenumber" name="L24" href="#L24">24</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L25" href="#L25">25</a> <em class="jxr_javadoccomment"> * <p>This class provides methods to validate a candidate IP address.</em> -<a class="jxr_linenumber" name="L26" href="#L26">26</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L27" href="#L27">27</a> <em class="jxr_javadoccomment"> * <p></em> -<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment"> * This class is a Singleton; you can retrieve the instance via the {@link #getInstance()} method.</em> -<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment"> * </p></em> -<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> * @version $Revision: 1227719 $</em> -<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> * @since Validator 1.4</em> -<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/commons/validator/routines/InetAddressValidator.html">InetAddressValidator</a> <strong class="jxr_keyword">implements</strong> Serializable { -<a class="jxr_linenumber" name="L35" href="#L35">35</a> -<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -919201640201914789L; -<a class="jxr_linenumber" name="L37" href="#L37">37</a> -<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String IPV4_REGEX = -<a class="jxr_linenumber" name="L39" href="#L39">39</a> <span class="jxr_string">"^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$"</span>; +<a class="jxr_linenumber" name="L21" href="#L21">21</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a class="jxr_linenumber" name="L22" href="#L22">22</a> <strong class="jxr_keyword">import</strong> java.util.Arrays; +<a class="jxr_linenumber" name="L23" href="#L23">23</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a class="jxr_linenumber" name="L24" href="#L24">24</a> +<a class="jxr_linenumber" name="L25" href="#L25">25</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L26" href="#L26">26</a> <em class="jxr_javadoccomment"> * <p><b>InetAddress</b> validation and conversion routines (<code>java.net.InetAddress</code>).</p></em> +<a class="jxr_linenumber" name="L27" href="#L27">27</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment"> * <p>This class provides methods to validate a candidate IP address.</em> +<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> * <p></em> +<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> * This class is a Singleton; you can retrieve the instance via the {@link #getInstance()} method.</em> +<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> * </p></em> +<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment"> * @version $Revision: 1650785 $</em> +<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment"> * @since Validator 1.4</em> +<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/commons/validator/routines/InetAddressValidator.html">InetAddressValidator</a> <strong class="jxr_keyword">implements</strong> Serializable { +<a class="jxr_linenumber" name="L38" href="#L38">38</a> +<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -919201640201914789L; <a class="jxr_linenumber" name="L40" href="#L40">40</a> -<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> * Singleton instance of this class.</em> -<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/commons/validator/routines/InetAddressValidator.html">InetAddressValidator</a> VALIDATOR = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/commons/validator/routines/InetAddressValidator.html">InetAddressValidator</a>(); -<a class="jxr_linenumber" name="L45" href="#L45">45</a> -<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment">/** IPv4 RegexValidator */</em> -<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/commons/validator/routines/RegexValidator.html">RegexValidator</a> ipv4Validator = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/commons/validator/routines/RegexValidator.html">RegexValidator</a>(IPV4_REGEX); +<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String IPV4_REGEX = +<a class="jxr_linenumber" name="L42" href="#L42">42</a> <span class="jxr_string">"^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$"</span>; +<a class="jxr_linenumber" name="L43" href="#L43">43</a> +<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> * Singleton instance of this class.</em> +<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/commons/validator/routines/InetAddressValidator.html">InetAddressValidator</a> VALIDATOR = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/commons/validator/routines/InetAddressValidator.html">InetAddressValidator</a>(); <a class="jxr_linenumber" name="L48" href="#L48">48</a> -<a class="jxr_linenumber" name="L49" href="#L49">49</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L50" href="#L50">50</a> <em class="jxr_javadoccomment"> * Returns the singleton instance of this validator.</em> -<a class="jxr_linenumber" name="L51" href="#L51">51</a> <em class="jxr_javadoccomment"> * @return the singleton instance of this validator</em> -<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/commons/validator/routines/InetAddressValidator.html">InetAddressValidator</a> getInstance() { -<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">return</strong> VALIDATOR; -<a class="jxr_linenumber" name="L55" href="#L55">55</a> } -<a class="jxr_linenumber" name="L56" href="#L56">56</a> -<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> * Checks if the specified string is a valid IP address.</em> -<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> * @param inetAddress the string to validate</em> -<a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment"> * @return true if the string validates as an IP address</em> -<a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isValid(String inetAddress) { -<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">return</strong> isValidInet4Address(inetAddress); -<a class="jxr_linenumber" name="L64" href="#L64">64</a> } -<a class="jxr_linenumber" name="L65" href="#L65">65</a> -<a class="jxr_linenumber" name="L66" href="#L66">66</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L67" href="#L67">67</a> <em class="jxr_javadoccomment"> * Validates an IPv4 address. Returns true if valid.</em> -<a class="jxr_linenumber" name="L68" href="#L68">68</a> <em class="jxr_javadoccomment"> * @param inet4Address the IPv4 address to validate</em> -<a class="jxr_linenumber" name="L69" href="#L69">69</a> <em class="jxr_javadoccomment"> * @return true if the argument contains a valid IPv4 address</em> -<a class="jxr_linenumber" name="L70" href="#L70">70</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isValidInet4Address(String inet4Address) { -<a class="jxr_linenumber" name="L72" href="#L72">72</a> <em class="jxr_comment">// verify that address conforms to generic IPv4 format</em> -<a class="jxr_linenumber" name="L73" href="#L73">73</a> String[] groups = ipv4Validator.match(inet4Address); -<a class="jxr_linenumber" name="L74" href="#L74">74</a> -<a class="jxr_linenumber" name="L75" href="#L75">75</a> <strong class="jxr_keyword">if</strong> (groups == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L76" href="#L76">76</a> -<a class="jxr_linenumber" name="L77" href="#L77">77</a> <em class="jxr_comment">// verify that address subgroups are legal</em> -<a class="jxr_linenumber" name="L78" href="#L78">78</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i <= 3; i++) { -<a class="jxr_linenumber" name="L79" href="#L79">79</a> String ipSegment = groups[i]; -<a class="jxr_linenumber" name="L80" href="#L80">80</a> <strong class="jxr_keyword">if</strong> (ipSegment == <strong class="jxr_keyword">null</strong> || ipSegment.length() <= 0) { -<a class="jxr_linenumber" name="L81" href="#L81">81</a> <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L82" href="#L82">82</a> } -<a class="jxr_linenumber" name="L83" href="#L83">83</a> -<a class="jxr_linenumber" name="L84" href="#L84">84</a> <strong class="jxr_keyword">int</strong> iIpSegment = 0; -<a class="jxr_linenumber" name="L85" href="#L85">85</a> -<a class="jxr_linenumber" name="L86" href="#L86">86</a> <strong class="jxr_keyword">try</strong> { -<a class="jxr_linenumber" name="L87" href="#L87">87</a> iIpSegment = Integer.parseInt(ipSegment); -<a class="jxr_linenumber" name="L88" href="#L88">88</a> } <strong class="jxr_keyword">catch</strong>(NumberFormatException e) { -<a class="jxr_linenumber" name="L89" href="#L89">89</a> <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L90" href="#L90">90</a> } -<a class="jxr_linenumber" name="L91" href="#L91">91</a> -<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">if</strong> (iIpSegment > 255) { -<a class="jxr_linenumber" name="L93" href="#L93">93</a> <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L94" href="#L94">94</a> } -<a class="jxr_linenumber" name="L95" href="#L95">95</a> -<a class="jxr_linenumber" name="L96" href="#L96">96</a> } -<a class="jxr_linenumber" name="L97" href="#L97">97</a> -<a class="jxr_linenumber" name="L98" href="#L98">98</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; -<a class="jxr_linenumber" name="L99" href="#L99">99</a> } -<a class="jxr_linenumber" name="L100" href="#L100">100</a> } +<a class="jxr_linenumber" name="L49" href="#L49">49</a> <em class="jxr_javadoccomment">/** IPv4 RegexValidator */</em> +<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/commons/validator/routines/RegexValidator.html">RegexValidator</a> ipv4Validator = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/commons/validator/routines/RegexValidator.html">RegexValidator</a>(IPV4_REGEX); +<a class="jxr_linenumber" name="L51" href="#L51">51</a> +<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L53" href="#L53">53</a> <em class="jxr_javadoccomment"> * Returns the singleton instance of this validator.</em> +<a class="jxr_linenumber" name="L54" href="#L54">54</a> <em class="jxr_javadoccomment"> * @return the singleton instance of this validator</em> +<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/commons/validator/routines/InetAddressValidator.html">InetAddressValidator</a> getInstance() { +<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">return</strong> VALIDATOR; +<a class="jxr_linenumber" name="L58" href="#L58">58</a> } +<a class="jxr_linenumber" name="L59" href="#L59">59</a> +<a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> * Checks if the specified string is a valid IP address.</em> +<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> * @param inetAddress the string to validate</em> +<a class="jxr_linenumber" name="L63" href="#L63">63</a> <em class="jxr_javadoccomment"> * @return true if the string validates as an IP address</em> +<a class="jxr_linenumber" name="L64" href="#L64">64</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isValid(String inetAddress) { +<a class="jxr_linenumber" name="L66" href="#L66">66</a> <strong class="jxr_keyword">return</strong> isValidInet4Address(inetAddress) || isValidInet6Address(inetAddress); +<a class="jxr_linenumber" name="L67" href="#L67">67</a> } +<a class="jxr_linenumber" name="L68" href="#L68">68</a> +<a class="jxr_linenumber" name="L69" href="#L69">69</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L70" href="#L70">70</a> <em class="jxr_javadoccomment"> * Validates an IPv4 address. Returns true if valid.</em> +<a class="jxr_linenumber" name="L71" href="#L71">71</a> <em class="jxr_javadoccomment"> * @param inet4Address the IPv4 address to validate</em> +<a class="jxr_linenumber" name="L72" href="#L72">72</a> <em class="jxr_javadoccomment"> * @return true if the argument contains a valid IPv4 address</em> +<a class="jxr_linenumber" name="L73" href="#L73">73</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isValidInet4Address(String inet4Address) { +<a class="jxr_linenumber" name="L75" href="#L75">75</a> <em class="jxr_comment">// verify that address conforms to generic IPv4 format</em> +<a class="jxr_linenumber" name="L76" href="#L76">76</a> String[] groups = ipv4Validator.match(inet4Address); +<a class="jxr_linenumber" name="L77" href="#L77">77</a> +<a class="jxr_linenumber" name="L78" href="#L78">78</a> <strong class="jxr_keyword">if</strong> (groups == <strong class="jxr_keyword">null</strong>) { +<a class="jxr_linenumber" name="L79" href="#L79">79</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L80" href="#L80">80</a> } +<a class="jxr_linenumber" name="L81" href="#L81">81</a> +<a class="jxr_linenumber" name="L82" href="#L82">82</a> <em class="jxr_comment">// verify that address subgroups are legal</em> +<a class="jxr_linenumber" name="L83" href="#L83">83</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i <= 3; i++) { +<a class="jxr_linenumber" name="L84" href="#L84">84</a> String ipSegment = groups[i]; +<a class="jxr_linenumber" name="L85" href="#L85">85</a> <strong class="jxr_keyword">if</strong> (ipSegment == <strong class="jxr_keyword">null</strong> || ipSegment.length() == 0) { +<a class="jxr_linenumber" name="L86" href="#L86">86</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L87" href="#L87">87</a> } +<a class="jxr_linenumber" name="L88" href="#L88">88</a> +<a class="jxr_linenumber" name="L89" href="#L89">89</a> <strong class="jxr_keyword">int</strong> iIpSegment = 0; +<a class="jxr_linenumber" name="L90" href="#L90">90</a> +<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">try</strong> { +<a class="jxr_linenumber" name="L92" href="#L92">92</a> iIpSegment = Integer.parseInt(ipSegment); +<a class="jxr_linenumber" name="L93" href="#L93">93</a> } <strong class="jxr_keyword">catch</strong>(NumberFormatException e) { +<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L95" href="#L95">95</a> } +<a class="jxr_linenumber" name="L96" href="#L96">96</a> +<a class="jxr_linenumber" name="L97" href="#L97">97</a> <strong class="jxr_keyword">if</strong> (iIpSegment > 255) { +<a class="jxr_linenumber" name="L98" href="#L98">98</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L99" href="#L99">99</a> } +<a class="jxr_linenumber" name="L100" href="#L100">100</a> +<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">if</strong> (ipSegment.length() > 1 && ipSegment.startsWith(<span class="jxr_string">"0"</span>)) { +<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L103" href="#L103">103</a> } +<a class="jxr_linenumber" name="L104" href="#L104">104</a> +<a class="jxr_linenumber" name="L105" href="#L105">105</a> } +<a class="jxr_linenumber" name="L106" href="#L106">106</a> +<a class="jxr_linenumber" name="L107" href="#L107">107</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a class="jxr_linenumber" name="L108" href="#L108">108</a> } +<a class="jxr_linenumber" name="L109" href="#L109">109</a> +<a class="jxr_linenumber" name="L110" href="#L110">110</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L111" href="#L111">111</a> <em class="jxr_javadoccomment"> * Validates an IPv6 address. Returns true if valid.</em> +<a class="jxr_linenumber" name="L112" href="#L112">112</a> <em class="jxr_javadoccomment"> * @param inet6Address the IPv6 address to validate</em> +<a class="jxr_linenumber" name="L113" href="#L113">113</a> <em class="jxr_javadoccomment"> * @return true if the argument contains a valid IPv6 address</em> +<a class="jxr_linenumber" name="L114" href="#L114">114</a> <em class="jxr_javadoccomment"> * </em> +<a class="jxr_linenumber" name="L115" href="#L115">115</a> <em class="jxr_javadoccomment"> * @since 1.4.1</em> +<a class="jxr_linenumber" name="L116" href="#L116">116</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L117" href="#L117">117</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isValidInet6Address(String inet6Address) { +<a class="jxr_linenumber" name="L118" href="#L118">118</a> <strong class="jxr_keyword">boolean</strong> containsCompressedZeroes = inet6Address.indexOf(<span class="jxr_string">"::"</span>) > -1; <em class="jxr_comment">// contains is Java 1.5</em> +<a class="jxr_linenumber" name="L119" href="#L119">119</a> <strong class="jxr_keyword">if</strong> (containsCompressedZeroes && (inet6Address.indexOf(<span class="jxr_string">"::"</span>) != inet6Address.lastIndexOf(<span class="jxr_string">"::"</span>))) { +<a class="jxr_linenumber" name="L120" href="#L120">120</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L121" href="#L121">121</a> } +<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">if</strong> ((inet6Address.startsWith(<span class="jxr_string">":"</span>) && !inet6Address.startsWith(<span class="jxr_string">"::"</span>)) +<a class="jxr_linenumber" name="L123" href="#L123">123</a> || (inet6Address.endsWith(<span class="jxr_string">":"</span>) && !inet6Address.endsWith(<span class="jxr_string">"::"</span>))) { +<a class="jxr_linenumber" name="L124" href="#L124">124</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L125" href="#L125">125</a> } +<a class="jxr_linenumber" name="L126" href="#L126">126</a> Object[] octets = inet6Address.split(<span class="jxr_string">":"</span>); +<a class="jxr_linenumber" name="L127" href="#L127">127</a> <strong class="jxr_keyword">if</strong> (containsCompressedZeroes) { +<a class="jxr_linenumber" name="L128" href="#L128">128</a> List octetList = <strong class="jxr_keyword">new</strong> ArrayList(Arrays.asList(octets)); +<a class="jxr_linenumber" name="L129" href="#L129">129</a> <strong class="jxr_keyword">if</strong> (inet6Address.endsWith(<span class="jxr_string">"::"</span>)) { +<a class="jxr_linenumber" name="L130" href="#L130">130</a> <em class="jxr_comment">// String.split() drops ending empty segments</em> +<a class="jxr_linenumber" name="L131" href="#L131">131</a> octetList.add(<span class="jxr_string">""</span>); +<a class="jxr_linenumber" name="L132" href="#L132">132</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (inet6Address.startsWith(<span class="jxr_string">"::"</span>) && !octetList.isEmpty()) { +<a class="jxr_linenumber" name="L133" href="#L133">133</a> octetList.remove(0); +<a class="jxr_linenumber" name="L134" href="#L134">134</a> } +<a class="jxr_linenumber" name="L135" href="#L135">135</a> octets = octetList.toArray(); +<a class="jxr_linenumber" name="L136" href="#L136">136</a> } +<a class="jxr_linenumber" name="L137" href="#L137">137</a> <strong class="jxr_keyword">if</strong> (octets.length > 8) { +<a class="jxr_linenumber" name="L138" href="#L138">138</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L139" href="#L139">139</a> } +<a class="jxr_linenumber" name="L140" href="#L140">140</a> <strong class="jxr_keyword">int</strong> validOctets = 0; +<a class="jxr_linenumber" name="L141" href="#L141">141</a> <strong class="jxr_keyword">int</strong> emptyOctets = 0; +<a class="jxr_linenumber" name="L142" href="#L142">142</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> index = 0; index < octets.length; index++) { +<a class="jxr_linenumber" name="L143" href="#L143">143</a> String octet = (String) octets[index]; +<a class="jxr_linenumber" name="L144" href="#L144">144</a> <strong class="jxr_keyword">if</strong> (octet.length() == 0) { +<a class="jxr_linenumber" name="L145" href="#L145">145</a> emptyOctets++; +<a class="jxr_linenumber" name="L146" href="#L146">146</a> <strong class="jxr_keyword">if</strong> (emptyOctets > 1) { +<a class="jxr_linenumber" name="L147" href="#L147">147</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L148" href="#L148">148</a> } +<a class="jxr_linenumber" name="L149" href="#L149">149</a> } <strong class="jxr_keyword">else</strong> { +<a class="jxr_linenumber" name="L150" href="#L150">150</a> emptyOctets = 0; +<a class="jxr_linenumber" name="L151" href="#L151">151</a> <strong class="jxr_keyword">if</strong> (octet.indexOf(<span class="jxr_string">"."</span>) > -1) { <em class="jxr_comment">// contains is Java 1.5+</em> +<a class="jxr_linenumber" name="L152" href="#L152">152</a> <strong class="jxr_keyword">if</strong> (!inet6Address.endsWith(octet)) { +<a class="jxr_linenumber" name="L153" href="#L153">153</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L154" href="#L154">154</a> } +<a class="jxr_linenumber" name="L155" href="#L155">155</a> <strong class="jxr_keyword">if</strong> (index > octets.length - 1 || index > 6) { +<a class="jxr_linenumber" name="L156" href="#L156">156</a> <em class="jxr_comment">// IPV4 occupies last two octets</em> +<a class="jxr_linenumber" name="L157" href="#L157">157</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L158" href="#L158">158</a> } +<a class="jxr_linenumber" name="L159" href="#L159">159</a> <strong class="jxr_keyword">if</strong> (!isValidInet4Address(octet)) { +<a class="jxr_linenumber" name="L160" href="#L160">160</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L161" href="#L161">161</a> } +<a class="jxr_linenumber" name="L162" href="#L162">162</a> validOctets += 2; +<a class="jxr_linenumber" name="L163" href="#L163">163</a> <strong class="jxr_keyword">continue</strong>; +<a class="jxr_linenumber" name="L164" href="#L164">164</a> } +<a class="jxr_linenumber" name="L165" href="#L165">165</a> <strong class="jxr_keyword">if</strong> (octet.length() > 4) { +<a class="jxr_linenumber" name="L166" href="#L166">166</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L167" href="#L167">167</a> } +<a class="jxr_linenumber" name="L168" href="#L168">168</a> <strong class="jxr_keyword">int</strong> octetInt = 0; +<a class="jxr_linenumber" name="L169" href="#L169">169</a> <strong class="jxr_keyword">try</strong> { +<a class="jxr_linenumber" name="L170" href="#L170">170</a> octetInt = Integer.valueOf(octet, 16).intValue(); +<a class="jxr_linenumber" name="L171" href="#L171">171</a> } <strong class="jxr_keyword">catch</strong> (NumberFormatException e) { +<a class="jxr_linenumber" name="L172" href="#L172">172</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L173" href="#L173">173</a> } +<a class="jxr_linenumber" name="L174" href="#L174">174</a> <strong class="jxr_keyword">if</strong> (octetInt < 0 || octetInt > 0xffff) { +<a class="jxr_linenumber" name="L175" href="#L175">175</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L176" href="#L176">176</a> } +<a class="jxr_linenumber" name="L177" href="#L177">177</a> } +<a class="jxr_linenumber" name="L178" href="#L178">178</a> validOctets++; +<a class="jxr_linenumber" name="L179" href="#L179">179</a> } +<a class="jxr_linenumber" name="L180" href="#L180">180</a> <strong class="jxr_keyword">if</strong> (validOctets < 8 && !containsCompressedZeroes) { +<a class="jxr_linenumber" name="L181" href="#L181">181</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L182" href="#L182">182</a> } +<a class="jxr_linenumber" name="L183" href="#L183">183</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a class="jxr_linenumber" name="L184" href="#L184">184</a> } +<a class="jxr_linenumber" name="L185" href="#L185">185</a> } </pre> <hr/> -<div id="footer">Copyright © 2002–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> +<div id="footer">Copyright © 2002–2015 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> </body> </html> \ No newline at end of file
