/*************************************************************************
/* SQLInput.java -- Read SQL values from a stream
/*
/* Copyright (c) 1999 Free Software Foundation, Inc.
/* Written by Aaron M. Renn (arenn@urbanophile.com)
/*
/* This library is free software; you can redistribute it and/or modify
/* it under the terms of the GNU Library General Public License as published
/* by the Free Software Foundation, either version 2 of the License, or
/* (at your option) any later verion.
/*
/* 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 Library General Public License for more details.
/*
/* You should have received a copy of the GNU Library 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
/*************************************************************************/
package java.sql;
import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
/**
* This interface provides methods for reading values from a stream
* that is connected to a SQL structured or distinct type. It is used
* for custom mapping of user defined data types.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public abstract interface SQLInput
{
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* String
.
*
* @return The value read from the stream as a String
.
*
* @exception SQLException If an error occurs.
*/
public abstract String
readString() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* boolean
.
*
* @return The value read from the stream as a boolean
.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
readBoolean() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* byte
.
*
* @return The value read from the stream as a byte
.
*
* @exception SQLException If an error occurs.
*/
public abstract byte
readByte() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* short
.
*
* @return The value read from the stream as a short
.
*
* @exception SQLException If an error occurs.
*/
public abstract short
readShort() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* int
.
*
* @return The value read from the stream as an int
.
*
* @exception SQLException If an error occurs.
*/
public abstract int
readInt() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* long
.
*
* @return The value read from the stream as a long
.
*
* @exception SQLException If an error occurs.
*/
public abstract long
readLong() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* float
.
*
* @return The value read from the stream as a float
.
*
* @exception SQLException If an error occurs.
*/
public abstract float
readFloat() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* double
.
*
* @return The value read from the stream as a double
.
*
* @exception SQLException If an error occurs.
*/
public abstract double
readDouble() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* BigDecimal
.
*
* @return The value read from the stream as a BigDecimal
.
*
* @exception SQLException If an error occurs.
*/
public abstract BigDecimal
readBigDecimal() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* byte array
*
* @return The value read from the stream as a byte array.
*
* @exception SQLException If an error occurs.
*/
public abstract byte[]
readBytes() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* java.sql.Date
.
*
* @return The value read from the stream as a java.sql.Date
.
*
* @exception SQLException If an error occurs.
*/
public abstract java.sql.Date
readDate() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* java.sql.Time
.
*
* @return The value read from the stream as a java.sql.Time
.
*
* @exception SQLException If an error occurs.
*/
public abstract java.sql.Time
readTime() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* java.sql.Timestamp
.
*
* @return The value read from the stream as a java.sql.Timestamp
.
*
* @exception SQLException If an error occurs.
*/
public abstract java.sql.Timestamp
readTimestamp() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a ASCII text
* InputStream
.
*
* @return The value read from the stream as an InputStream
.
*
* @exception SQLException If an error occurs.
*/
public abstract InputStream
readAsciiStream() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a binary
* InputStream
.
*
* @return The value read from the stream as an InputStream
.
*
* @exception SQLException If an error occurs.
*/
public abstract InputStream
readBinaryStream() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a character
* Reader
.
*
* @return The value read from the stream as a Reader
.
*
* @exception SQLException If an error occurs.
*/
public abstract Reader
readCharacterStream() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java
* Object
.
*
* @return The value read from the stream as an Object
.
*
* @exception SQLException If an error occurs.
*/
public abstract Object
readObject() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java SQL
* Ref
.
*
* @return The value read from the stream as an Ref
.
*
* @exception SQLException If an error occurs.
*/
public abstract Ref
readRef() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java SQL
* Blob
.
*
* @return The value read from the stream as a Blob
.
*
* @exception SQLException If an error occurs.
*/
public abstract Blob
readBlob() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java SQL
* Clob
.
*
* @return The value read from the stream as a Clob
.
*
* @exception SQLException If an error occurs.
*/
public abstract Clob
readClob() throws SQLException;
/*************************************************************************/
/**
* This method reads the next item from the stream a Java SQL
* Array
.
*
* @return The value read from the stream as an Array
.
*
* @exception SQLException If an error occurs.
*/
public abstract Array
readArray() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the last value read was a SQL
* NULL value.
*
* @return true
if the last value read was a NULL,
* false
otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
wasNull() throws SQLException;
} // interface SQLInput