View Javadoc

1   package org.apache.turbine.util.validation;
2   
3   /*
4    * Copyright 2001-2005 The Apache Software Foundation.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License")
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  /***
20   * @author <a href="mailto:mikeh@ncsa.uiuc.edu">Mike Haberman</a>
21   * @version $Id: EmailValidator.java 264148 2005-08-29 14:21:04Z henning $
22   * @deprecated Use Intake or commons-validator
23   */
24  public class EmailValidator extends InputValidator
25  {
26      /***
27       * default Constructor,
28       */
29      public EmailValidator()
30      {
31          super(false, NoMaxSize, EmptyArgv);
32      }
33  
34      /***
35       * @param String input, input to be checked
36       */
37      protected void check(String input)
38              throws Exception
39      {
40          // the only two checks:
41          // 1. @ must be present
42          // 2. must end in '.extension'
43  
44          int idx = input.indexOf("@");
45          if (idx == -1)
46          {
47              throw new Exception("Missing @");
48          }
49  
50          idx = input.lastIndexOf(".");
51          if (idx == -1)
52          {
53              throw new Exception("Missing .{top level domain} suffix");
54          }
55  
56          String domain = input.substring(idx);
57          if (domain.length() < 3)
58          {
59              throw new Exception("Invalid .{top level domain} suffix");
60          }
61      }
62  
63      /***
64       * @return String, the expected format of the input
65       */
66      public String getExpectedFormat()
67      {
68          return "name@domain.topLevelDomain";
69      }
70  }