01: /*
02: *
03: * The DbUnit Database Testing Framework
04: * Copyright (C)2002-2004, DbUnit.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * 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.slf4j.Logger;
25: import org.slf4j.LoggerFactory;
26:
27: import org.dbunit.dataset.csv.IllegalInputCharacterException;
28:
29: public class SeparatorHandler extends AbstractPipelineComponent {
30:
31: /**
32: * Logger for this class
33: */
34: private static final Logger logger = LoggerFactory
35: .getLogger(SeparatorHandler.class);
36:
37: private SeparatorHandler() {
38: }
39:
40: public static final PipelineComponent ACCEPT() {
41: logger.debug("ACCEPT() - start");
42:
43: return createPipelineComponent(new SeparatorHandler(),
44: new ACCEPT());
45: }
46:
47: public static final PipelineComponent IGNORE() {
48: logger.debug("IGNORE() - start");
49:
50: return createPipelineComponent(new SeparatorHandler(),
51: new IGNORE());
52: }
53:
54: public static final PipelineComponent ENDPIECE() {
55: logger.debug("ENDPIECE() - start");
56:
57: return createPipelineComponent(new SeparatorHandler(),
58: new ENDPIECE());
59: }
60:
61: public static final char SEPARATOR_CHAR = ',';
62:
63: public boolean canHandle(char c)
64: throws IllegalInputCharacterException {
65: logger.debug("canHandle(c=" + c + ") - start");
66:
67: if (c == SEPARATOR_CHAR) {
68: return true;
69: }
70: return false; //throw new IllegalInputCharacterException("Cannot handle character '" + c + "'");
71: }
72:
73: static protected class ENDPIECE extends Helper {
74:
75: /**
76: * Logger for this class
77: */
78: private static final Logger logger = LoggerFactory
79: .getLogger(ENDPIECE.class);
80:
81: void helpWith(char c) throws PipelineException {
82: logger.debug("helpWith(c=" + c + ") - start");
83:
84: // we are done with the piece
85: getHandler().getPipeline().thePieceIsDone();
86: }
87: }
88:
89: }
|