112 * interface).
113 * <pre>
114 * int[] w = {3, 2, 5, 3};
115 * Joinable2.setMatchColumn(w);
116 * </pre>
117 * When an application adds two or more <code>RowSet</code> objects to a
118 * <code>JoinRowSet</code> object, the order of the indexes in the array is
119 * particularly important. Each index of
120 * the array maps directly to the corresponding index of the previously added
121 * <code>RowSet</code> object. If overlap or underlap occurs, the match column
122 * data is maintained in the event an additional <code>Joinable</code> RowSet is
123 * added and needs to relate to the match column data. Therefore, applications
124 * can set multiple match columns in any order, but
125 * this order has a direct effect on the outcome of the <code>SQL</code> JOIN.
126 * <p>
127 * This assertion applies in exactly the same manner when column names are used
128 * rather than column indexes to indicate match columns.
129 *
130 * @see JoinRowSet
131 * @author Jonathan Bruce
132 */
133 public interface Joinable {
134
135 /**
136 * Sets the designated column as the match column for this <code>RowSet</code>
137 * object. A <code>JoinRowSet</code> object can now add this <code>RowSet</code>
138 * object based on the match column.
139 * <p>
140 * Sub-interfaces such as the <code>CachedRowSet</code>™
141 * interface define the method <code>CachedRowSet.setKeyColumns</code>, which allows
142 * primary key semantics to be enforced on specific columns.
143 * Implementations of the <code>setMatchColumn(int columnIdx)</code> method
144 * should ensure that the constraints on the key columns are maintained when
145 * a <code>CachedRowSet</code> object sets a primary key column as a match column.
146 *
147 * @param columnIdx an <code>int</code> identifying the index of the column to be
148 * set as the match column
149 * @throws SQLException if an invalid column index is set
150 * @see #setMatchColumn(int[])
151 * @see #unsetMatchColumn(int)
|
112 * interface).
113 * <pre>
114 * int[] w = {3, 2, 5, 3};
115 * Joinable2.setMatchColumn(w);
116 * </pre>
117 * When an application adds two or more <code>RowSet</code> objects to a
118 * <code>JoinRowSet</code> object, the order of the indexes in the array is
119 * particularly important. Each index of
120 * the array maps directly to the corresponding index of the previously added
121 * <code>RowSet</code> object. If overlap or underlap occurs, the match column
122 * data is maintained in the event an additional <code>Joinable</code> RowSet is
123 * added and needs to relate to the match column data. Therefore, applications
124 * can set multiple match columns in any order, but
125 * this order has a direct effect on the outcome of the <code>SQL</code> JOIN.
126 * <p>
127 * This assertion applies in exactly the same manner when column names are used
128 * rather than column indexes to indicate match columns.
129 *
130 * @see JoinRowSet
131 * @author Jonathan Bruce
132 * @since 1.5
133 */
134 public interface Joinable {
135
136 /**
137 * Sets the designated column as the match column for this <code>RowSet</code>
138 * object. A <code>JoinRowSet</code> object can now add this <code>RowSet</code>
139 * object based on the match column.
140 * <p>
141 * Sub-interfaces such as the <code>CachedRowSet</code>™
142 * interface define the method <code>CachedRowSet.setKeyColumns</code>, which allows
143 * primary key semantics to be enforced on specific columns.
144 * Implementations of the <code>setMatchColumn(int columnIdx)</code> method
145 * should ensure that the constraints on the key columns are maintained when
146 * a <code>CachedRowSet</code> object sets a primary key column as a match column.
147 *
148 * @param columnIdx an <code>int</code> identifying the index of the column to be
149 * set as the match column
150 * @throws SQLException if an invalid column index is set
151 * @see #setMatchColumn(int[])
152 * @see #unsetMatchColumn(int)
|