1 /* 2 3 Derby - Class org.apache.derby.iapi.sql.execute.ExecRow 4 5 Licensed to the Apache Software Foundation (ASF) under one or more 6 contributor license agreements. See the NOTICE file distributed with 7 this work for additional information regarding copyright ownership. 8 The ASF licenses this file to you under the Apache License, Version 2.0 9 (the "License"); you may not use this file except in compliance with 10 the License. You may obtain a copy of the License at 11 12 http://www.apache.org/licenses/LICENSE-2.0 13 14 Unless required by applicable law or agreed to in writing, software 15 distributed under the License is distributed on an "AS IS" BASIS, 16 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 See the License for the specific language governing permissions and 18 limitations under the License. 19 20 */ 21 22 package org.apache.derby.iapi.sql.execute; 23 24 import org.apache.derby.iapi.error.StandardException; 25 26 import org.apache.derby.iapi.types.DataValueDescriptor; 27 28 import org.apache.derby.iapi.sql.Row; 29 30 import org.apache.derby.iapi.services.io.Storable; 31 32 import org.apache.derby.iapi.services.io.FormatableBitSet; 33 34 /** 35 * Execution sees this extension of Row that provides connectivity 36 * to the Storage row interface and additional methods for manipulating 37 * Rows in execution's ResultSets. 38 * 39 * @author ames 40 */ 41 public interface ExecRow extends Row { 42 43 /** 44 * Clone the Row and its contents. 45 * 46 * 47 * @return Row A clone of the Row and its contents. 48 */ 49 ExecRow getClone(); 50 51 /** 52 * Clone the Row. The cloned row will contain clones of the 53 * specified columns and the same object as the original row 54 * for the other columns. 55 * 56 * @param clonedCols 1-based FormatableBitSet representing the columns to clone. 57 * 58 * @return Row A clone of the Row and its contents. 59 */ 60 ExecRow getClone(FormatableBitSet clonedCols); 61 62 /** 63 * Get a new row with the same columns type as this one, containing nulls. 64 * 65 */ 66 ExecRow getNewNullRow(); 67 68 /** 69 * Get a clone of a DataValueDescriptor from an ExecRow. 70 * 71 * @param columnPosition (1 based) 72 */ 73 DataValueDescriptor cloneColumn(int columnPosition); 74 75 /** 76 Get a clone of the array form of the row that Access expects. 77 78 @see ExecRow#getRowArray 79 */ 80 public DataValueDescriptor[] getRowArrayClone(); 81 82 /** 83 Return the array of objects that the store needs. 84 */ 85 public DataValueDescriptor[] getRowArray(); 86 87 /** 88 Set the array of objects 89 */ 90 public void setRowArray(Storable[] rowArray); 91 92 // temp overload 93 public void setRowArray(DataValueDescriptor[] rowArray); 94 95 /** 96 Get a new DataValueDescriptor[] 97 */ 98 public void getNewObjectArray(); 99 } 100