001: package org.mandarax.jdbc;
002:
003: /*
004: * Copyright (C) 1999-2004 <a href="mailto:mandarax@jbdietrich.com">Jens Dietrich</a>
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2 of the License, or (at your option) any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
019: */
020:
021: import java.sql.ResultSetMetaData;
022: import java.sql.SQLException;
023: import org.mandarax.jdbc.server.DatabaseMetaDataImpl;
024:
025: /**
026: * Abstract superclass for result set meta data implementations.
027: * @author <A HREF="mailto:mandarax@jbdietrich.com">Jens Dietrich</A>
028: * @version 3.3.2 <29 December 2004>
029: * @since 3.0
030: */
031: public abstract class AbstractResultSetMetaDataImpl implements
032: ResultSetMetaData {
033:
034: /**
035: * Constructor.
036: */
037: public AbstractResultSetMetaDataImpl() {
038: super ();
039: }
040:
041: /**
042: * Indicates whether the respective column supports auto increment.
043: * @return false
044: */
045: public boolean isAutoIncrement(int column) throws SQLException {
046: return false;
047: }
048:
049: /**
050: * Indicates whether the respective columnis case sensitive.
051: * @return true
052: */
053: public boolean isCaseSensitive(int column) throws SQLException {
054: return true;
055: }
056:
057: /**
058: * Indicates whether the designated column can be used in a where clause.
059: * @return true
060: */
061: public boolean isSearchable(int column) throws SQLException {
062: return true;
063: }
064:
065: /**
066: * Indicates whether the designated column is a cash value.
067: * @return false
068: */
069: public boolean isCurrency(int column) throws SQLException {
070: return false;
071: }
072:
073: /**
074: * Indicates the nullability of values in the designated column.
075: * @return an integer (one of the constants from ResultSetMetaData)
076: * @see java.sql.ResultSetMetaData#isNullable(int)
077: */
078: public int isNullable(int column) throws SQLException {
079: return columnNoNulls;
080: }
081:
082: /**
083: * Get the designated column's table's schema.
084: * @see java.sql.ResultSetMetaData#getSchemaName(int)
085: * @return a schema name
086: */
087: public String getSchemaName(int column) throws SQLException {
088: return DatabaseMetaDataImpl.DEFAULT_SCHEMA;
089: }
090:
091: /**
092: * Get the designated column's number of decimal digits.
093: * @return the precision
094: */
095: public int getPrecision(int column) throws SQLException {
096: return 0;
097: }
098:
099: /**
100: * Gets the designated column's number of digits to right of the decimal point.
101: * @todo
102: */
103: public int getScale(int column) throws SQLException {
104: return 0;
105: }
106:
107: /**
108: * Indicates whether the designated column is definitely not writable.
109: * @see java.sql.ResultSetMetaData#isReadOnly(int)
110: * @return true
111: */
112: public boolean isReadOnly(int column) throws SQLException {
113: return true;
114: }
115:
116: /**
117: * Indicates whether it is possible for a write on the designated column to succeed.
118: * @see java.sql.ResultSetMetaData#isWritable(int)
119: * @return false
120: */
121: public boolean isWritable(int column) throws SQLException {
122: return false;
123: }
124:
125: /**
126: * Indicates whether a write on the designated column will definitely succeed.
127: * @see java.sql.ResultSetMetaData#isDefinitelyWritable(int)
128: * @return false
129: */
130: public boolean isDefinitelyWritable(int column) throws SQLException {
131: return false;
132: }
133:
134: /**
135: * Indicates whether values in the designated column are signed numbers.
136: * @return false
137: */
138: public boolean isSigned(int column) throws SQLException {
139: return false;
140: }
141:
142: }
|