KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > dbunit > dataset > csv > handlers > IsAlnumHandler


1 /*
2  *
3  * The DbUnit Database Testing Framework
4  * Copyright (C)2002-2004, DbUnit.org
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  *
20  */

21
22 package org.dbunit.dataset.csv.handlers;
23
24 import org.dbunit.dataset.csv.IllegalInputCharacterException;
25
26 public class IsAlnumHandler extends AbstractPipelineComponent {
27
28     private IsAlnumHandler() {}
29
30     public static final PipelineComponent ACCEPT () {
31         return createPipelineComponent(new IsAlnumHandler(), new ACCEPT());
32     }
33
34     public static final PipelineComponent IGNORE () {
35         return createPipelineComponent(new IsAlnumHandler(), new IGNORE());
36     }
37
38     public static final PipelineComponent QUOTE () {
39         return createPipelineComponent(new IsAlnumHandler(), new QUOTE());
40     }
41
42 /*
43     public static final PipelineComponent UNQUOTE () {
44         return createPipelineComponent(new IsAlnumHandler(), new UNQUOTE());
45     }
46 */

47
48
49     public boolean canHandle(char c) throws IllegalInputCharacterException {
50         if (c != SeparatorHandler.SEPARATOR_CHAR
51                 && !Character.isWhitespace(c)
52                 && c != EscapeHandler.ESCAPE_CHAR) {
53             return true;
54         }
55         return false;
56     }
57
58     static protected class QUOTE extends Helper {
59
60         private boolean add = true;
61
62         public void helpWith(char c) {
63
64             getHandler().getPipeline().putFront(SeparatorHandler.ENDPIECE());
65             getHandler().getPipeline().putFront(IsAlnumHandler.ACCEPT());
66             getHandler().getPipeline().putFront(WhitespacesHandler.ACCEPT());
67             //getHandler().getPipeline().putFront(IsAlnumHandler.UNQUOTE());
68

69             getHandler().accept(c);
70         }
71     }
72
73     static protected class UNQUOTE extends Helper {
74
75
76         public void helpWith(char c) {
77             try {
78                 getHandler().getPipeline().removeFront();
79                 getHandler().getPipeline().removeFront();
80                 getHandler().getPipeline().removeFront();
81                 getHandler().getPipeline().removeFront();
82             } catch (PipelineException e) {
83                 throw new RuntimeException JavaDoc(e.getMessage());
84             }
85             // ignore the char
86
}
87     }
88
89 }
90
Popular Tags