// Decompiled by Jad v1.5.7f. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) braces deadcode fieldsfirst 
// Source File Name:   OracleJdbc2SQLInput.java
// Class Version:      45.3

package oracle.sql;

import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.sql.*;
import java.util.Map;
import oracle.jdbc.OracleConnection;
import oracle.jdbc.dbaccess.DBError;

// Referenced classes of package oracle.sql:
//            ARRAY, BFILE, BLOB, CHAR, 
//            CLOB, DATE, Datum, NUMBER, 
//            RAW, REF, ROWID, STRUCT

// flag ACC_SUPER is set
public class OracleJdbc2SQLInput
    implements SQLInput
{
    // Constants:          206
    // Interfaces:         1
    // Fields:             4
    // Methods:            36
    // Class Attributes:   1


    private int index;
    private Datum attributes[];
    private Map map;
    private OracleConnection conn;

    // Decompiling method: <init>  Signature: ([Loracle/sql/Datum;Ljava/util/Map;Loracle/jdbc/OracleConnection;)V
    // Max stack: 2, #locals: 4, #params: 4
    // Code length: 25 bytes, Code offset: 2451
    // Line Number Table found: 6 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 25 Range 0 24 Init 0 fixed
    // Parameter  1 added: Name adatum Type [Loracle/sql/Datum; At 0 25 Range 0 24 Init 0
    // Parameter  2 added: Name map1 Type Ljava/util/Map; At 0 25 Range 0 24 Init 0
    // Parameter  3 added: Name oracleconnection Type Loracle/jdbc/OracleConnection; At 0 25 Range 0 24 Init 0
    // RetValue   4 added: Name <returnValue> Type V At 0 25 Range 0 24 Init 0 fixed
    public OracleJdbc2SQLInput(Datum adatum[], Map map1, OracleConnection oracleconnection)
    {
        super();
        attributes = adatum;
        map = map1;
        conn = oracleconnection;
        index = 0;
        return;
    }

    // Decompiling method: readARRAY  Signature: ()Loracle/sql/ARRAY;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 2534
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/ARRAY; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name array Type Loracle/sql/ARRAY; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public ARRAY readARRAY()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof ARRAY)
                {
                    ARRAY array = (ARRAY)attributes[index];
                    return array;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readArray  Signature: ()Ljava/sql/Array;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 2699
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/Array; At 0 5 Range 0 4 Init 0 fixed
    public Array readArray()
        throws SQLException
    {
        return readARRAY();
    }

    // Decompiling method: readAsciiStream  Signature: ()Ljava/io/InputStream;
    // Max stack: 3, #locals: 5, #params: 1
    // Code length: 54 bytes, Code offset: 2752
    // Exception table: 1 entries
    //           start  0 end 27 handler 33 type any
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 54 Range 0 53 Init 0 fixed
    // RetValue   5 added: Name <returnValue> Type Ljava/io/InputStream; At 0 54 Range 0 53 Init 0 fixed
    // LocalVar   4 added: Name datum Type Loracle/sql/Datum; At 9 9 Range 9 17 Init 9
    // LocalVar   1 added: Name inputstream Type Ljava/io/InputStream; At 21 5 Range 21 25 Init 21
    // LocalVar   3 added: Name local Type @ At 39 13 Range 39 51 Init 39
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 33 5 Range 33 37 Init 33
    public InputStream readAsciiStream()
        throws SQLException
    {
        try
        {
            Datum datum = attributes[index];
            if(datum != null)
            {
                InputStream inputstream = datum.asciiStreamValue();
                return inputstream;
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readBFILE  Signature: ()Loracle/sql/BFILE;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 2890
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/BFILE; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name bfile Type Loracle/sql/BFILE; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public BFILE readBFILE()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof BFILE)
                {
                    BFILE bfile = (BFILE)attributes[index];
                    return bfile;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readBLOB  Signature: ()Loracle/sql/BLOB;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 3055
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/BLOB; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name blob Type Loracle/sql/BLOB; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public BLOB readBLOB()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof BLOB)
                {
                    BLOB blob = (BLOB)attributes[index];
                    return blob;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readBigDecimal  Signature: ()Ljava/math/BigDecimal;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 57 bytes, Code offset: 3220
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 57 Range 0 56 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Ljava/math/BigDecimal; At 0 57 Range 0 56 Init 0 fixed
    // LocalVar   1 added: Name bigdecimal Type Ljava/math/BigDecimal; At 24 5 Range 24 28 Init 24
    // LocalVar   3 added: Name local Type @ At 42 13 Range 42 54 Init 42
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public BigDecimal readBigDecimal()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                BigDecimal bigdecimal = attributes[index].bigDecimalValue();
                return bigdecimal;
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readBinaryStream  Signature: ()Ljava/io/InputStream;
    // Max stack: 3, #locals: 5, #params: 1
    // Code length: 54 bytes, Code offset: 3357
    // Exception table: 1 entries
    //           start  0 end 27 handler 33 type any
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 54 Range 0 53 Init 0 fixed
    // RetValue   5 added: Name <returnValue> Type Ljava/io/InputStream; At 0 54 Range 0 53 Init 0 fixed
    // LocalVar   4 added: Name datum Type Loracle/sql/Datum; At 9 9 Range 9 17 Init 9
    // LocalVar   1 added: Name inputstream Type Ljava/io/InputStream; At 21 5 Range 21 25 Init 21
    // LocalVar   3 added: Name local Type @ At 39 13 Range 39 51 Init 39
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 33 5 Range 33 37 Init 33
    public InputStream readBinaryStream()
        throws SQLException
    {
        try
        {
            Datum datum = attributes[index];
            if(datum != null)
            {
                InputStream inputstream = datum.binaryStreamValue();
                return inputstream;
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readBlob  Signature: ()Ljava/sql/Blob;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 3495
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/Blob; At 0 5 Range 0 4 Init 0 fixed
    public Blob readBlob()
        throws SQLException
    {
        return readBLOB();
    }

    // Decompiling method: readBoolean  Signature: ()Z
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 57 bytes, Code offset: 3548
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 57 Range 0 56 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Z At 0 57 Range 0 56 Init 0 fixed
    // LocalVar   1 added: Name flag Type Z At 24 5 Range 24 28 Init 24
    // LocalVar   3 added: Name local Type @ At 42 13 Range 42 54 Init 42
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public boolean readBoolean()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                boolean flag = attributes[index].booleanValue();
                return flag;
            }
        }
        finally
        {
            index++;
        }
        return false;
    }

    // Decompiling method: readByte  Signature: ()B
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 57 bytes, Code offset: 3685
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 57 Range 0 56 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type B At 0 57 Range 0 56 Init 0 fixed
    // LocalVar   1 added: Name byte0 Type B At 24 5 Range 24 28 Init 24
    // LocalVar   3 added: Name local Type @ At 42 13 Range 42 54 Init 42
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public byte readByte()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                byte byte0 = attributes[index].byteValue();
                return byte0;
            }
        }
        finally
        {
            index++;
        }
        return 0;
    }

    // Decompiling method: readBytes  Signature: ()[B
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 80 bytes, Code offset: 3822
    // Exception table: 1 entries
    //           start  0 end 53 handler 59 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 80 Range 0 79 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type [B At 0 80 Range 0 79 Init 0 fixed
    // LocalVar   1 added: Name abyte0 Type [B At 42 5 Range 42 46 Init 42
    // LocalVar   3 added: Name local Type @ At 65 13 Range 65 77 Init 65
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 59 5 Range 59 63 Init 59
    public byte[] readBytes()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof RAW)
                {
                    byte abyte0[] = ((RAW)attributes[index]).shareBytes();
                    return abyte0;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readCHAR  Signature: ()Loracle/sql/CHAR;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 3990
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/CHAR; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name char1 Type Loracle/sql/CHAR; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public CHAR readCHAR()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof CHAR)
                {
                    CHAR char1 = (CHAR)attributes[index];
                    return char1;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readCLOB  Signature: ()Loracle/sql/CLOB;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 4155
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/CLOB; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name clob Type Loracle/sql/CLOB; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public CLOB readCLOB()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof CLOB)
                {
                    CLOB clob = (CLOB)attributes[index];
                    return clob;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readCharacterStream  Signature: ()Ljava/io/Reader;
    // Max stack: 3, #locals: 5, #params: 1
    // Code length: 54 bytes, Code offset: 4320
    // Exception table: 1 entries
    //           start  0 end 27 handler 33 type any
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 54 Range 0 53 Init 0 fixed
    // RetValue   5 added: Name <returnValue> Type Ljava/io/Reader; At 0 54 Range 0 53 Init 0 fixed
    // LocalVar   4 added: Name datum Type Loracle/sql/Datum; At 9 9 Range 9 17 Init 9
    // LocalVar   1 added: Name reader Type Ljava/io/Reader; At 21 5 Range 21 25 Init 21
    // LocalVar   3 added: Name local Type @ At 39 13 Range 39 51 Init 39
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 33 5 Range 33 37 Init 33
    public Reader readCharacterStream()
        throws SQLException
    {
        try
        {
            Datum datum = attributes[index];
            if(datum != null)
            {
                Reader reader = datum.characterStreamValue();
                return reader;
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readClob  Signature: ()Ljava/sql/Clob;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 4458
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/Clob; At 0 5 Range 0 4 Init 0 fixed
    public Clob readClob()
        throws SQLException
    {
        return readCLOB();
    }

    // Decompiling method: readDATE  Signature: ()Loracle/sql/DATE;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 4511
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/DATE; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name date Type Loracle/sql/DATE; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public DATE readDATE()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof DATE)
                {
                    DATE date = (DATE)attributes[index];
                    return date;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readDate  Signature: ()Ljava/sql/Date;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 57 bytes, Code offset: 4676
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 57 Range 0 56 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/Date; At 0 57 Range 0 56 Init 0 fixed
    // LocalVar   1 added: Name date Type Ljava/sql/Date; At 24 5 Range 24 28 Init 24
    // LocalVar   3 added: Name local Type @ At 42 13 Range 42 54 Init 42
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public Date readDate()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                Date date = attributes[index].dateValue();
                return date;
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readDouble  Signature: ()D
    // Max stack: 3, #locals: 5, #params: 1
    // Code length: 58 bytes, Code offset: 4813
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 58 Range 0 57 Init 0 fixed
    // RetValue   5 added: Name <returnValue> Type D At 0 58 Range 0 57 Init 0 fixed
    // LocalVar   1 added: Name d Type D At 24 5 Range 24 28 Init 24
    // LocalVar   4 added: Name local Type @ At 42 14 Range 42 55 Init 42
    // LocalVar   3 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public double readDouble()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                double d = attributes[index].doubleValue();
                return d;
            }
        }
        finally
        {
            index++;
        }
        return 0.0D;
    }

    // Decompiling method: readFloat  Signature: ()F
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 57 bytes, Code offset: 4951
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 57 Range 0 56 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type F At 0 57 Range 0 56 Init 0 fixed
    // LocalVar   1 added: Name f Type F At 24 5 Range 24 28 Init 24
    // LocalVar   3 added: Name local Type @ At 42 13 Range 42 54 Init 42
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public float readFloat()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                float f = attributes[index].floatValue();
                return f;
            }
        }
        finally
        {
            index++;
        }
        return 0.0F;
    }

    // Decompiling method: readInt  Signature: ()I
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 57 bytes, Code offset: 5088
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 57 Range 0 56 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type I At 0 57 Range 0 56 Init 0 fixed
    // LocalVar   1 added: Name i Type I At 24 5 Range 24 28 Init 24
    // LocalVar   3 added: Name local Type @ At 42 13 Range 42 54 Init 42
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public int readInt()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                int i = attributes[index].intValue();
                return i;
            }
        }
        finally
        {
            index++;
        }
        return 0;
    }

    // Decompiling method: readLong  Signature: ()J
    // Max stack: 3, #locals: 5, #params: 1
    // Code length: 58 bytes, Code offset: 5225
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 58 Range 0 57 Init 0 fixed
    // RetValue   5 added: Name <returnValue> Type J At 0 58 Range 0 57 Init 0 fixed
    // LocalVar   1 added: Name l Type J At 24 5 Range 24 28 Init 24
    // LocalVar   4 added: Name local Type @ At 42 14 Range 42 55 Init 42
    // LocalVar   3 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public long readLong()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                long l = attributes[index].longValue();
                return l;
            }
        }
        finally
        {
            index++;
        }
        return 0L;
    }

    // Decompiling method: readNUMBER  Signature: ()Loracle/sql/NUMBER;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 5363
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/NUMBER; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name number Type Loracle/sql/NUMBER; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public NUMBER readNUMBER()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof NUMBER)
                {
                    NUMBER number = (NUMBER)attributes[index];
                    return number;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readObject  Signature: ()Ljava/lang/Object;
    // Max stack: 2, #locals: 2, #params: 1
    // Code length: 38 bytes, Code offset: 5528
    // Line Number Table found: 6 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 38 Range 0 37 Init 0 fixed
    // RetValue   2 added: Name <returnValue> Type Ljava/lang/Object; At 0 38 Range 0 37 Init 0 fixed
    // LocalVar   1 added: Name datum Type Loracle/sql/Datum; At 7 25 Range 7 31 Init 7
    public Object readObject()
        throws SQLException
    {
        Datum datum = (Datum)readOracleObject();
        if(datum != null)
        {
            if(datum instanceof STRUCT)
            {
                return ((STRUCT)datum).toJdbc(map);
            }
            datum.toJdbc();
        }
        return null;
    }

    // Decompiling method: readOracleObject  Signature: ()Ljava/lang/Object;
    // Max stack: 5, #locals: 1, #params: 1
    // Code length: 17 bytes, Code offset: 5634
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 17 Range 0 16 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/lang/Object; At 0 17 Range 0 16 Init 0 fixed
    public Object readOracleObject()
        throws SQLException
    {
        return attributes[index++];
    }

    // Decompiling method: readRAW  Signature: ()Loracle/sql/RAW;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 5699
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/RAW; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name raw Type Loracle/sql/RAW; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public RAW readRAW()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof RAW)
                {
                    RAW raw = (RAW)attributes[index];
                    return raw;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readREF  Signature: ()Loracle/sql/REF;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 5864
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/REF; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name ref Type Loracle/sql/REF; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public REF readREF()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof REF)
                {
                    REF ref = (REF)attributes[index];
                    return ref;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readROWID  Signature: ()Loracle/sql/ROWID;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 6029
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/ROWID; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name rowid Type Loracle/sql/ROWID; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public ROWID readROWID()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof ROWID)
                {
                    ROWID rowid = (ROWID)attributes[index];
                    return rowid;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readRef  Signature: ()Ljava/sql/Ref;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 6194
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/Ref; At 0 5 Range 0 4 Init 0 fixed
    public Ref readRef()
        throws SQLException
    {
        return readREF();
    }

    // Decompiling method: readSTRUCT  Signature: ()Loracle/sql/STRUCT;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 77 bytes, Code offset: 6247
    // Exception table: 1 entries
    //           start  0 end 50 handler 56 type any
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 77 Range 0 76 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Loracle/sql/STRUCT; At 0 77 Range 0 76 Init 0 fixed
    // LocalVar   1 added: Name struct Type Loracle/sql/STRUCT; At 39 5 Range 39 43 Init 39
    // LocalVar   3 added: Name local Type @ At 62 13 Range 62 74 Init 62
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 56 5 Range 56 60 Init 56
    public STRUCT readSTRUCT()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                if(attributes[index] instanceof STRUCT)
                {
                    STRUCT struct = (STRUCT)attributes[index];
                    return struct;
                }
                DBError.check_error(4, null);
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readShort  Signature: ()S
    // Max stack: 4, #locals: 3, #params: 1
    // Code length: 32 bytes, Code offset: 6412
    // Line Number Table found: 4 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 32 Range 0 31 Init 0 fixed
    // RetValue   3 added: Name <returnValue> Type S At 0 32 Range 0 31 Init 0 fixed
    // LocalVar   1 added: Name l Type J At 4 25 Range 4 28 Init 4
    public short readShort()
        throws SQLException
    {
        long l = readLong();
        if(l > 0x000010001L || l < 0xfffffffffffefffeL)
        {
            DBError.check_error(26, "readShort");
        }
        return (short)(int)l;
    }

    // Decompiling method: readString  Signature: ()Ljava/lang/String;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 57 bytes, Code offset: 6504
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 57 Range 0 56 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Ljava/lang/String; At 0 57 Range 0 56 Init 0 fixed
    // LocalVar   1 added: Name s Type Ljava/lang/String; At 24 5 Range 24 28 Init 24
    // LocalVar   3 added: Name local Type @ At 42 13 Range 42 54 Init 42
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public String readString()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                String s = attributes[index].stringValue();
                return s;
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readStruct  Signature: ()Ljava/sql/Struct;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 6641
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/Struct; At 0 5 Range 0 4 Init 0 fixed
    public Struct readStruct()
        throws SQLException
    {
        return readSTRUCT();
    }

    // Decompiling method: readTime  Signature: ()Ljava/sql/Time;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 57 bytes, Code offset: 6694
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 57 Range 0 56 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/Time; At 0 57 Range 0 56 Init 0 fixed
    // LocalVar   1 added: Name time Type Ljava/sql/Time; At 24 5 Range 24 28 Init 24
    // LocalVar   3 added: Name local Type @ At 42 13 Range 42 54 Init 42
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public Time readTime()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                Time time = attributes[index].timeValue();
                return time;
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: readTimestamp  Signature: ()Ljava/sql/Timestamp;
    // Max stack: 3, #locals: 4, #params: 1
    // Code length: 57 bytes, Code offset: 6831
    // Exception table: 1 entries
    //           start  0 end 30 handler 36 type any
    // Line Number Table found: 7 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 57 Range 0 56 Init 0 fixed
    // RetValue   4 added: Name <returnValue> Type Ljava/sql/Timestamp; At 0 57 Range 0 56 Init 0 fixed
    // LocalVar   1 added: Name timestamp Type Ljava/sql/Timestamp; At 24 5 Range 24 28 Init 24
    // LocalVar   3 added: Name local Type @ At 42 13 Range 42 54 Init 42
    // LocalVar   2 added: Name exception Type Ljava.lang.Exception; At 36 5 Range 36 40 Init 36
    public Timestamp readTimestamp()
        throws SQLException
    {
        try
        {
            if(attributes[index] != null)
            {
                Timestamp timestamp = attributes[index].timestampValue();
                return timestamp;
            }
        }
        finally
        {
            index++;
        }
        return null;
    }

    // Decompiling method: wasNull  Signature: ()Z
    // Max stack: 3, #locals: 1, #params: 1
    // Code length: 32 bytes, Code offset: 6968
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/sql/OracleJdbc2SQLInput; At 0 32 Range 0 31 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Z At 0 32 Range 0 31 Init 0 fixed
    public boolean wasNull()
        throws SQLException
    {
        if(index == 0)
        {
            DBError.throwSqlException(24);
        }
        return attributes[index - 1] == null;
    }
}
