1 /***
2 * Copyright (c) 2003 held jointly by the individual authors.
3 *
4 * This library is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License as published
6 * by the Free Software Foundation; either version 2.1 of the License, or
7 * (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; with out even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this library; if not, write to the Free Software Foundation,
16 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
17 *
18 * > http://www.gnu.org/copyleft/lesser.html
19 * > http://www.opensource.org/licenses/lgpl-license.php
20 */
21 package net.mlw.vlh.adapter.jdbc.util.setter;
22
23 /***
24 *
25 * @author Matthew L. Wilson
26 * @version $Revision: 1.5 $ $Date: 2005/08/19 16:06:29 $
27 */
28 public abstract class AbstractArraySetter extends AbstractSetter
29 {
30 private boolean useBindVarables = true;
31
32 /***
33 * @see net.mlw.vlh.adapter.jdbc.util.Setter#getReplacementString(java.lang.Object)
34 */
35 public String getReplacementString(Object value)
36 {
37 if (value instanceof String)
38 {
39 return (useBindVarables) ? "?" : (String) value;
40 }
41 else if (value instanceof Object[])
42 {
43 Object[] values = (Object[]) value;
44 StringBuffer sb = new StringBuffer();
45 if (useBindVarables)
46 {
47 for (int i = 0, length = values.length; i < length; i++)
48 {
49 sb.append("?");
50 if ((i + 1) < length)
51 {
52 sb.append(",");
53 }
54 }
55 }
56 else
57 {
58 for (int i = 0, length = values.length; i < length; i++)
59 {
60 sb.append(values[i]);
61 if ((i + 1) < length)
62 {
63 sb.append(",");
64 }
65 }
66 }
67
68 return sb.toString();
69 }
70 else
71 {
72 return null;
73 }
74 }
75
76 /***
77 * @return Returns the useBindVarables.
78 */
79 public boolean isUseBindVarables()
80 {
81 return useBindVarables;
82 }
83
84 /***
85 * @param useBindVarables The useBindVarables to set.
86 */
87 public void setUseBindVarables(boolean useBindVarables)
88 {
89 this.useBindVarables = useBindVarables;
90 }
91 }