View Javadoc

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  }