/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: XResultSetMetaData.idl,v $
 *
 *  $Revision: 1.8 $
 *
 *  last change: $Author: rt $ $Date: 2005-09-08 03:52:59 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
#ifndef __com_sun_star_sdbc_XResultSetMetaData_idl__
#define __com_sun_star_sdbc_XResultSetMetaData_idl__

#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif

#ifndef __com_sun_star_sdbc_SQLException_idl__
#include <com/sun/star/sdbc/SQLException.idl>
#endif

 module com {  module sun {  module star {  module sdbc {


// DocMerge from xml: interface com::sun::star::sdbc::XResultSetMetaData
/** can be used to find out about the types and properties
    of the columns in a ResultSet.
 */
published interface XResultSetMetaData: com::sun::star::uno::XInterface
{

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getColumnCount
    /** returns the number of columns in this ResultSet.
        @returns
            the column count
        @throws SQLException
            if a database access error occurs.
     */
    long getColumnCount() raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::isAutoIncrement
    /** indicates whether the column is automatically numbered, thus read-only.
        @param column
            the first column is 1, the second is 2,
        @returns
            <TRUE/> if so
        @throws SQLException
            if a database access error occurs.
     */
    boolean isAutoIncrement([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::isCaseSensitive
    /** indicates whether a column's case matters.
        @param column
            the first column is 1, the second is 2,
        @returns
            <TRUE/> if so
        @throws SQLException
            if a database access error occurs.
     */
    boolean isCaseSensitive([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::isSearchable
    /** indicates whether the column can be used in a where clause.
        @param column
            the first column is 1, the second is 2,
        @returns
            <TRUE/> if so
        @throws SQLException
            if a database access error occurs.
     */
    boolean isSearchable([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::isCurrency
    /** indicates whether the column is a cash value.
        @param column
            the first column is 1, the second is 2,
        @returns
            <TRUE/> if so
        @throws SQLException
            if a database access error occurs.
     */
    boolean isCurrency([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::isNullable
    /** indicates the nullability of values in the designated column.@see com::sun::star::sdbc::ColumnValue
        @param column
            the first column is 1, the second is 2,
        @returns
            <TRUE/> if so
        @throws SQLException
            if a database access error occurs.
     */
    long isNullable([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::isSigned
    /** indicates whether values in the column are signed numbers.
        @param column
            the first column is 1, the second is 2,
        @returns
            <TRUE/> if so
        @throws SQLException
            if a database access error occurs.
     */
    boolean isSigned([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getColumnDisplaySize
    /** indicates the column's normal max width in chars.
        @param column
            the first column is 1, the second is 2,
        @returns
            the normal maximum number of characters allowed as the width of the designated column
        @throws SQLException
            if a database access error occurs.
     */
    long getColumnDisplaySize([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getColumnLabel
    /** gets the suggested column title for use in printouts and
        displays.
        @param column
            the first column is 1, the second is 2,
        @returns
            the suggested column title
        @throws SQLException
            if a database access error occurs.
     */
    string getColumnLabel([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getColumnName
    /** gets a column's name.
        @param column
            the first column is 1, the second is 2,
        @returns
            the column name
        @throws SQLException
            if a database access error occurs.
     */
    string getColumnName([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getSchemaName
    /** gets a column's table's schema.
        @param column
            the first column is 1, the second is 2,
        @returns
            the schema name
        @throws SQLException
            if a database access error occurs.
     */
    string getSchemaName([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getPrecision
    /** gets a column's number of decimal digits.
        @param column
            the first column is 1, the second is 2,
        @returns
            precision
        @throws SQLException
            if a database access error occurs.
     */
    long getPrecision([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getScale
    /** gets a column's number of digits to right of the decimal point.
        @param column
            the first column is 1, the second is 2,
        @returns
            scale
        @throws SQLException
            if a database access error occurs.
     */
    long getScale([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getTableName
    /** gets a column's table name.
        @param column
            the first column is 1, the second is 2,
        @returns
            the table name
        @throws SQLException
            if a database access error occurs.
     */
    string getTableName([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getCatalogName
    /** gets a column's table's catalog name.
        @param column
            the first column is 1, the second is 2,
        @returns
            the catalog name
        @throws SQLException
            if a database access error occurs.
     */
    string getCatalogName([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getColumnType
    /** retrieves a column's SQL type.
        @param column
            the first column is 1, the second is 2,
        @returns
            the column type
        @throws SQLException
            if a database access error occurs.
     */
    long getColumnType([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getColumnTypeName
    /** retrieves a column's database-specific type name.
        @param column
            the first column is 1, the second is 2,
        @returns
            the type name
        @throws SQLException
            if a database access error occurs.
     */
    string getColumnTypeName([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::isReadOnly
    /** indicates whether a column is definitely not writable.
        @param column
            the first column is 1, the second is 2,
        @returns
            <TRUE/> if so
        @throws SQLException
            if a database access error occurs.
     */
    boolean isReadOnly([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::isWritable
    /** indicates whether it is possible for a write on the column to succeed.
        @param column
            the first column is 1, the second is 2,
        @returns
            <TRUE/> if so
        @throws SQLException
            if a database access error occurs.
     */
    boolean isWritable([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::isDefinitelyWritable
    /** indicates whether a write on the column will definitely succeed.
        @param column
            the first column is 1, the second is 2,
        @returns
            <TRUE/> if so
        @throws SQLException
            if a database access error occurs.
     */
    boolean isDefinitelyWritable([in]long column) raises (SQLException);
    //-------------------------------------------------------------------------

    // DocMerge from xml: method com::sun::star::sdbc::XResultSetMetaData::getColumnServiceName
    /** returns the fully-qualified name of the service whose instances
        are manufactured if the method
        <member scope="com::sun::star::sdbc">XResultSet::.getObject()</member>
        is called to retrieve a value from the column.
        @param column
            the first column is 1, the second is 2,
        @returns
            the service name
        @throws SQLException
            if a database access error occurs.
     */
    string getColumnServiceName([in]long column) raises (SQLException);
};

//=============================================================================

}; }; }; };

/*===========================================================================
===========================================================================*/
#endif
