velosurf.validation
Class Email

java.lang.Object
  extended by velosurf.validation.FieldConstraint
      extended by velosurf.validation.Email

public class Email
extends FieldConstraint

An 'email' constraint. Syntax is:

    <column type="email"/>
  

(Alas, unvalued attributes are not valid in XML...)
Or:

     <column>
       <email [dns-check="true | false"] [smtp-check="true | false" ] [message="error-message"]>
     </column>
   

Author:
Claude Brisson

Nested Class Summary
(package private)  class Email.FastTimeoutConnect
           
 
Field Summary
private  boolean _dnsCheck
           
private  boolean _smtpCheck
           
private static java.util.regex.Pattern _validEmail
           
 
Fields inherited from class velosurf.validation.FieldConstraint
_message
 
Constructor Summary
Email()
          Default constructor.
Email(boolean dnsCheck, boolean smtpCheck)
          Constructor.
 
Method Summary
private  boolean checkDNS(java.lang.String hostname)
           
private  boolean checkSMTP(java.lang.String user, java.lang.String hostname)
           
private  java.util.List<java.lang.String> resolveMXDNS(java.lang.String hostname)
           
 java.lang.String toString()
           
 boolean validate(java.lang.Object data)
           
 
Methods inherited from class velosurf.validation.FieldConstraint
getMessage, setMessage, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_dnsCheck

private boolean _dnsCheck

_smtpCheck

private boolean _smtpCheck

_validEmail

private static java.util.regex.Pattern _validEmail
Constructor Detail

Email

public Email()
Default constructor.


Email

public Email(boolean dnsCheck,
             boolean smtpCheck)
Constructor.

Parameters:
dnsCheck - whether to validate this email using a DNS query
smtpCheck - whether to validate this email using an STMP query
Method Detail

validate

public boolean validate(java.lang.Object data)
Overrides:
validate in class FieldConstraint
Parameters:
data - the data to be validated
Returns:
true if data matches the regex pattern

checkDNS

private boolean checkDNS(java.lang.String hostname)

resolveMXDNS

private java.util.List<java.lang.String> resolveMXDNS(java.lang.String hostname)

checkSMTP

private boolean checkSMTP(java.lang.String user,
                          java.lang.String hostname)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


~ooOoo~