KickJava   Java API By Example, From Geeks To Geeks.

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


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 EscapeHandler extends AbstractPipelineComponent {
27
28     public static final char ESCAPE_CHAR = '\\';
29
30     private EscapeHandler() {
31     }
32
33     public static final PipelineComponent ACCEPT() {
34         return createPipelineComponent(new EscapeHandler(), new ACCEPT());
35     }
36
37     // @todo: make sense?
38
public static final PipelineComponent IGNORE() {
39         return createPipelineComponent(new EscapeHandler(), new IGNORE());
40     }
41
42     public static final PipelineComponent ESCAPE() {
43         return createPipelineComponent(new EscapeHandler(), new ESCAPE());
44     }
45
46     public boolean canHandle(char c) throws IllegalInputCharacterException {
47
48         if (c == ESCAPE_CHAR) {
49             return true;
50         }
51         return false;
52     }
53
54     static private class ESCAPE extends Helper {
55
56         public void helpWith(char c) {
57             getHandler().getPipeline().putFront(EnforceHandler.ENFORCE(
58                     new PipelineComponent [] {
59                         QuoteHandler.ACCEPT(), EscapeHandler.ACCEPT()
60                     }
61             ));
62             // ignore the char
63
}
64     }
65
66 }
67
Popular Tags