01: /*
02:
03: Derby - Class org.apache.derby.iapi.sql.ResultDescription
04:
05: Licensed to the Apache Software Foundation (ASF) under one or more
06: contributor license agreements. See the NOTICE file distributed with
07: this work for additional information regarding copyright ownership.
08: The ASF licenses this file to you under the Apache License, Version 2.0
09: (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;
23:
24: /**
25: * The ResultDescription interface provides methods to get metadata on the
26: * results returned by a statement.
27: *
28: * @author Jeff Lichtman
29: */
30:
31: public interface ResultDescription {
32: /**
33: * Returns an identifier that tells what type of statement has been
34: * executed. This can be used to determine what other methods to call
35: * to get the results back from a statement. For example, a SELECT
36: * statement returns rows and columns, while other statements don't,
37: * so you would only call getColumnCount() or getColumnType() for
38: * SELECT statements.
39: *
40: * @return A String identifier telling what type of statement this
41: * is.
42: */
43: String getStatementType();
44:
45: /**
46: * Returns the number of columns in the result set.
47: *
48: * @return The number of columns in the result set.
49: */
50: int getColumnCount();
51:
52: /**
53: Return information about all the columns.
54: */
55: public ResultColumnDescriptor[] getColumnInfo();
56:
57: /**
58: * Returns a ResultColumnDescriptor for the column, given the oridinal
59: * position of the column.
60: * NOTE - position is 1-based.
61: *
62: * @param position The oridinal position of a column in the
63: * ResultSet.
64: *
65: * @return A ResultColumnDescriptor describing the
66: * column in the ResultSet.
67: */
68: ResultColumnDescriptor getColumnDescriptor(int position);
69:
70: /**
71: * Get a new result description that has been truncated
72: * from input column number. If the input column is
73: * 5, then columns 5 to getColumnCount() are removed.
74: * The new ResultDescription points to the same
75: * ColumnDescriptors (this method performs a shallow
76: * copy.
77: *
78: * @param truncateFrom the starting column to remove,
79: * 1-based.
80: *
81: * @return a new ResultDescription
82: */
83: public ResultDescription truncateColumns(int truncateFrom);
84: }
|