blob: 9754bbe7acd11fc0701ad789e4fff47709c6433e [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 1998, 2013 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Mike Norman - May 01 2008, created DBWS tools package
******************************************************************************/
package org.eclipse.persistence.tools.dbws;
import java.util.ArrayList;
// Javase imports
// Java extension imports
// EclipseLink imports
public class BindingModel {
public String name;
public String type;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name.trim();
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public static String convertJDBCParameterBindingMarkers(String sqlString, ArrayList<BindingModel> bindings) {
int idx = sqlString.indexOf("?");
if (idx == -1) {
return sqlString;
}
int argNumber = 0;
int anchorIdx = 0;
StringBuilder sb = new StringBuilder();
while (idx != -1) {
sb.append(sqlString.substring(anchorIdx, idx));
sb.append("#");
sb.append(bindings.get(argNumber).getName());
anchorIdx = idx + 1;
idx = sqlString.indexOf("?", anchorIdx);
argNumber++;
// bug 309002 - may be GROUP BY/ORDER BY clauses after last marker
if (idx == -1) {
sb.append(sqlString.substring(anchorIdx, sqlString.length()));
}
}
return sb.toString();
}
}