1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.dbunit.dataset.common.handlers;
23
24 import org.slf4j.Logger;
25 import org.slf4j.LoggerFactory;
26
27
28
29
30
31
32
33 public class IsAlnumHandler extends AbstractPipelineComponent {
34
35
36
37
38 private static final Logger logger = LoggerFactory.getLogger(IsAlnumHandler.class);
39
40 private IsAlnumHandler()
41 {
42 }
43
44 public static final PipelineComponent ACCEPT () {
45 logger.debug("ACCEPT() - start");
46 return createPipelineComponent(new IsAlnumHandler(), new ACCEPT());
47 }
48
49 public static final PipelineComponent IGNORE () {
50 logger.debug("IGNORE() - start");
51 return createPipelineComponent(new IsAlnumHandler(), new IGNORE());
52 }
53
54 public static final PipelineComponent QUOTE () {
55 logger.debug("QUOTE() - start");
56 return createPipelineComponent(new IsAlnumHandler(), new QUOTE());
57 }
58
59
60
61
62
63
64
65
66 public boolean canHandle(char c) throws IllegalInputCharacterException {
67 if(logger.isDebugEnabled())
68 logger.debug("canHandle(c={}) - start", String.valueOf(c));
69
70 PipelineConfig pipelineConfig = this.getPipelineConfig();
71 if (c != pipelineConfig.getSeparatorChar()
72 && !Character.isWhitespace(c)
73 && c != pipelineConfig.getEscapeChar()) {
74 return true;
75 }
76 return false;
77 }
78
79
80 static protected class QUOTE extends Helper {
81
82
83
84
85 private static final Logger logger = LoggerFactory.getLogger(QUOTE.class);
86
87
88
89 public void helpWith(char c) {
90 if(logger.isDebugEnabled())
91 logger.debug("helpWith(c={}) - start", String.valueOf(c));
92
93 getHandler().getPipeline().putFront(SeparatorHandler.ENDPIECE());
94 getHandler().getPipeline().putFront(IsAlnumHandler.ACCEPT());
95 getHandler().getPipeline().putFront(WhitespacesHandler.ACCEPT());
96
97
98 getHandler().accept(c);
99 }
100 }
101
102 static protected class UNQUOTE extends Helper {
103
104
105
106
107 private static final Logger logger = LoggerFactory.getLogger(UNQUOTE.class);
108
109
110 public void helpWith(char c) {
111 if(logger.isDebugEnabled())
112 logger.debug("helpWith(c={}) - start", String.valueOf(c));
113
114 try {
115 getHandler().getPipeline().removeFront();
116 getHandler().getPipeline().removeFront();
117 getHandler().getPipeline().removeFront();
118 getHandler().getPipeline().removeFront();
119 } catch (PipelineException e) {
120 throw new RuntimeException(e.getMessage());
121 }
122
123 }
124 }
125
126 }