01: /*
02: * Copyright (c) 1998 - 2005 Versant Corporation
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * Versant Corporation - initial API and implementation
10: */
11: package com.versant.core.jdbc;
12:
13: import com.versant.core.jdbc.metadata.JdbcField;
14: import com.versant.core.jdbc.metadata.JdbcColumn;
15: import com.versant.core.common.OID;
16:
17: import java.sql.ResultSet;
18: import java.sql.SQLException;
19: import java.sql.PreparedStatement;
20:
21: /**
22: * JDBC specific methods for OID.
23: */
24: public interface JdbcOID extends OID {
25:
26: /**
27: * Populate this OID from the given ResultSet. The firstCol parameter
28: * specifies the column index of the first column to read from rs. If
29: * the primary key consists of multiple columns then they will be
30: * present in the same order as defined in the meta data.
31: *
32: * @return False if OID is 'null', true otherwise
33: */
34: public boolean copyKeyFields(ResultSet rs, int firstCol)
35: throws SQLException;
36:
37: public boolean copyKeyFields(ResultSet rs, JdbcField[] pks,
38: int[] pkFieldIndexs) throws SQLException;
39:
40: public boolean validateKeyFields(ResultSet rs, int firstCol)
41: throws SQLException;
42:
43: /**
44: * Set parameters on a PrepareStatement from this OID. The firstParam
45: * parameter specifies the column index of the first parameter to set.
46: * If the primary key consists of multiple parameters then they must
47: * all be set in the same order as defined in the meta data. The new
48: * firstParam value must be returned i.e. if firstParam started as 3 and
49: * our pk consists of 2 columns then 5 must be returned.
50: */
51: public int setParams(PreparedStatement ps, int firstParam)
52: throws SQLException;
53:
54: /**
55: * Set parameters on a PrepareStatement from this OID. Columns in pkc
56: * that return false from isForUpdate() should be ignored.
57: */
58: public int setParams(PreparedStatement ps, int firstParam,
59: JdbcColumn[] pkc) throws SQLException;
60:
61: }
|