2005/5/9

     
 

ODBCArray.h

artefaktur
// -*- mode:C++; tab-width:2; c-basic-offset:2; indent-tabs-mode:nil -*- 
//
// Copyright (C) 2000-2005 by Roger Rene Kommer / artefaktur, Kassel, Germany.
// 
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public License (LGPL).
// 
// 
// 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 
// License ACDK-FreeLicense document enclosed in the distribution
// for more for more details.
// This file is part of the Artefaktur Component Development Kit:
//                         ACDK
// 
// Please refer to
// - http://www.acdk.de
// - http://www.artefaktur.com
// - http://acdk.sourceforge.net
// for more information.
// 
// $Header: /cvsroot/acdk/acdk/acdk_sql_odbc/src/acdk/sql/odbc/ODBCArray.h,v 1.5 2005/02/05 10:45:31 kommer Exp $

#ifndef acdk_sql_odbc_ODBCArray_h
#define acdk_sql_odbc_ODBCArray_h

#include "odbc.h"

#include <acdk/sql/Array.h>
#include <acdk/lang/UnsupportedOperationException.h>

namespace acdk {
namespace sql {
namespace odbc {

using namespace acdk::lang;

ACDK_DECL_CLASS(ODBCArray);

class ACDK_SQL_ODBC_PUBLIC ODBCArray
: extends acdk::lang::Object, implements ::acdk::sql::Array
{
  ACDK_WITH_METAINFO(ODBCArray)
public:
  /**
  * This method returns the name of the SQL type of the elements in this
  * array.  This name is database specific.
  *
  * @param The name of the SQL type of the elements in this array.
  *
  * @exception SQLException If an error occurs.
  */
  virtual RString getBaseTypeName() THROWS1(::acdk::sql::RSQLException) { THROW0(UnsupportedOperationException); return Nil; }

/**
  * This method returns the JDBC type identifier of the elements in this
  * array.  This will be one of the values defined in the <code>Types</code>
  * class.
  *
  * @return The JDBC type of the elements in this array.
  *
  * @exception SQLException If an error occurs.
  * 
  * @see Types
  */
  virtual int getBaseType() THROWS1(::acdk::sql::RSQLException) { THROW0(UnsupportedOperationException); return Nil; }

/**
  * This method returns the contents of this array.  This object returned
  * will be an array of Java objects of the appropriate types.
  *
  * @return The contents of the array as an array of Java objects.
  *
  * @exception SQLException If an error occurs.
  */
  virtual acdk::lang::Object getArray() THROWS1(::acdk::sql::RSQLException) { THROW0(UnsupportedOperationException); return Nil; }

/**
  * This method returns the contents of this array.  The specified
  * <code>Map</code> will be used to override selected mappings between
  * SQL types and Java classes.
  * 
  * @param map A mapping of SQL types to Java classes.
  *
  * @return The contents of the array as an array of Java objects.
  *
  * @exception SQLException If an error occurs.
  */
  virtual acdk::lang::Object getArray(INP(acdk::util::RMap) map) THROWS1(::acdk::sql::RSQLException) { THROW0(UnsupportedOperationException); return Nil; }


/**
  * This method returns a portion of this array starting at index
  * <code>offset</code> into the array and continuing for <code>length</code>
  * elements.  Fewer than the requested number of elements will be
  * returned if the array does not contain the requested number of elements.
  * The object returned will be an array of Java objects of
  * the appropriate types.
  *
  * @param offset The offset into this array to start returning elements from.
  * @param count The requested number of elements to return.
  *
  * @return The requested portion of the array.
  *
  * @exception SQLException If an error occurs.
  */
  virtual acdk::lang::Object getArray(long offset, int count) THROWS1(::acdk::sql::RSQLException) { THROW0(UnsupportedOperationException); return Nil; }


/**
  * This method returns a portion of this array starting at index
  * <code>offset</code> into the array and continuing for <code>length</code>
  * elements.  Fewer than the requested number of elements will be
  * returned if the array does not contain the requested number of elements.
  * The object returned will be an array of Java objects.  The specified
  * <code>Map</code> will be used for overriding selected SQL type to
  * Java class mappings.
  *
  * @param offset The offset into this array to start returning elements from.
  * @param count The requested number of elements to return.
  * @param map A mapping of SQL types to Java classes.
  *
  * @return The requested portion of the array.
  *
  * @exception SQLException If an error occurs.
  */
  virtual acdk::lang::Object getArray(long index, int count, INP(acdk::util::RMap) map) THROWS1(::acdk::sql::RSQLException) { THROW0(UnsupportedOperationException); return Nil; }

/**
  * This method returns the elements in the array as a <code>ResultSet</code>.
  * Each row of the result set will have two columns.  The first will be
  * the index into the array of that row's contents.  The second will be
  * the actual value of that array element.
  *
  * @return The elements of this array as a <code>ResultSet</code>.
  *
  * @exception SQLException If an error occurs.
  *
  * @see ResultSet
  */
  virtual RResultSet getResultSet() THROWS1(::acdk::sql::RSQLException) { THROW0(UnsupportedOperationException); return Nil; }

/**
  * This method returns the elements in the array as a <code>ResultSet</code>.
  * Each row of the result set will have two columns.  The first will be
  * the index into the array of that row's contents.  The second will be
  * the actual value of that array element.  The specified <code>Map</code>
  * will be used to override selected default mappings of SQL types to
  * Java classes.
  *
  * @param map A mapping of SQL types to Java classes.
  *
  * @return The elements of this array as a <code>ResultSet</code>.
  *
  * @exception SQLException If an error occurs.
  *
  * @see ResultSet
  */
  virtual RResultSet getResultSet(INP(acdk::util::RMap) map) THROWS1(::acdk::sql::RSQLException) { THROW0(UnsupportedOperationException); return Nil; }

/**
  * This method returns a portion of the array as a <code>ResultSet</code>.
  * The returned portion will start at index <code>offset</code> into the
  * array and up to <code>length</code> elements will be returned.
  * <p>
  * Each row of the result set will have two columns.  The first will be
  * the index into the array of that row's contents.  The second will be
  * the actual value of that array element.
  *
  * @param offset The index into the array to start returning elements from.
  * @param length The requested number of elements to return.
  *
  * @return The requested elements of this array as a <code>ResultSet</code>.
  *
  * @exception SQLException If an error occurs.
  *
  * @see ResultSet
  */
  virtual RResultSet getResultSet(long index, int count) THROWS1(::acdk::sql::RSQLException) { THROW0(UnsupportedOperationException); return Nil; }

/**
  * This method returns a portion of the array as a <code>ResultSet</code>.
  * The returned portion will start at index <code>offset</code> into the
  * array and up to <code>length</code> elements will be returned.
  * <p>
  * Each row of the result set will have two columns.  The first will be
  * the index into the array of that row's contents.  The second will be
  * the actual value of that array element.  The specified <code>Map</code>
  * will be used to override selected default mappings of SQL types to
  * Java classes.
  *
  * @param offset The index into the array to start returning elements from.
  * @param length The requested number of elements to return.
  * @param map A mapping of SQL types to Java classes.
  *
  * @return The requested elements of this array as a <code>ResultSet</code>.
  *
  * @exception SQLException If an error occurs.
  *
  * @see ResultSet
  */
  virtual RResultSet getResultSet(long index, int count, INP(acdk::util::RMap) map) THROWS1(::acdk::sql::RSQLException) { THROW0(UnsupportedOperationException); return Nil; }

};
    


} // odbc
} // sql
} // acdk
#endif //acdk_sql_odbc_ODBCArray_h