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 }