// 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:   DBItem.java
// Class Version:      45.3

package oracle.jdbc.dbaccess;

import java.io.InputStream;
import java.sql.SQLException;

// Referenced classes of package oracle.jdbc.dbaccess:
//            DBAccess, DBType

// flag ACC_SUPER is set
public class DBItem
    implements Cloneable
{
    // Constants:          81
    // Interfaces:         1
    // Fields:             8
    // Methods:            16
    // Class Attributes:   1


    public byte byte_value[];
    public InputStream stream_value;
    public int data_size;
    public int original_size;
    public int max_out_size;
    public boolean is_null;
    public char char_value[];
    public int char_size;

    // Decompiling method: <init>  Signature: ()V
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 1087
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 5 Range 0 4 Init 0 fixed
    public DBItem()
    {
        super();
        return;
    }

    // Decompiling method: <init>  Signature: (I)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 10 bytes, Code offset: 1130
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 10 Range 0 9 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 10 Range 0 9 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 10 Range 0 9 Init 0 fixed
    public DBItem(int i)
    {
        super();
        reinitialize(i);
        return;
    }

    // Decompiling method: StringToBytes  Signature: (Ljava/lang/String;I)[B
    // Max stack: 1, #locals: 3, #params: 3
    // Code length: 2 bytes, Code offset: 1186
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 2 Range 0 1 Init 0
    // Parameter  2 added: Name i Type I At 0 2 Range 0 1 Init 0
    // RetValue   3 added: Name <returnValue> Type [B At 0 2 Range 0 1 Init 0 fixed
    public byte[] StringToBytes(String s, int i)
        throws SQLException
    {
        return null;
    }

    // Decompiling method: allocBuffer  Signature: ()V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 29 bytes, Code offset: 1236
    // Line Number Table found: 5 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 29 Range 0 28 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 29 Range 0 28 Init 0 fixed
    public void allocBuffer()
    {
        if(byte_value != null && byte_value.length == max_out_size)
        {
            return;
        } else
        {
            allocBuffer(max_out_size);
            return;
        }
    }

    // Decompiling method: allocBuffer  Signature: (I)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 24 bytes, Code offset: 1319
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 24 Range 0 23 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 24 Range 0 23 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 24 Range 0 23 Init 0 fixed
    void allocBuffer(int i)
    {
        if(byte_value == null || byte_value.length < i)
        {
            byte_value = new byte[i];
        }
        return;
    }

    // Decompiling method: clear  Signature: ()V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 36 bytes, Code offset: 1389
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 36 Range 0 35 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 36 Range 0 35 Init 0 fixed
    public void clear()
    {
        is_null = false;
        byte_value = null;
        char_value = null;
        stream_value = null;
        data_size = 0;
        char_size = 0;
        original_size = 0;
        return;
    }

    // Decompiling method: clone  Signature: (Loracle/jdbc/dbaccess/DBType;Loracle/jdbc/dbaccess/DBAccess;)Loracle/jdbc/dbaccess/DBItem;
    // Max stack: 2, #locals: 4, #params: 3
    // Code length: 84 bytes, Code offset: 1491
    // Line Number Table found: 13 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 84 Range 0 83 Init 0 fixed
    // Parameter  1 added: Name dbtype Type Loracle/jdbc/dbaccess/DBType; At 0 84 Range 0 83 Init 0
    // Parameter  2 added: Name dbaccess Type Loracle/jdbc/dbaccess/DBAccess; At 0 84 Range 0 83 Init 0
    // RetValue   4 added: Name <returnValue> Type Loracle/jdbc/dbaccess/DBItem; At 0 84 Range 0 83 Init 0 fixed
    // LocalVar   3 added: Name dbitem Type Loracle/jdbc/dbaccess/DBItem; At 5 78 Range 5 82 Init 5
    public DBItem clone(DBType dbtype, DBAccess dbaccess)
    {
        DBItem dbitem = dbaccess.createDBItem(dbtype);
        dbitem.is_null = is_null;
        if(byte_value != null)
        {
            dbitem.byte_value = new byte[byte_value.length];
        } else
        {
            dbitem.byte_value = null;
        }
        dbitem.char_value = null;
        dbitem.stream_value = null;
        dbitem.data_size = data_size;
        dbitem.char_size = char_size;
        dbitem.original_size = original_size;
        dbitem.max_out_size = max_out_size;
        return dbitem;
    }

    // Decompiling method: defineStreamData  Signature: (Ljava/io/InputStream;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 11 bytes, Code offset: 1661
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 11 Range 0 10 Init 0 fixed
    // Parameter  1 added: Name inputstream Type Ljava/io/InputStream; At 0 11 Range 0 10 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 11 Range 0 10 Init 0 fixed
    public void defineStreamData(InputStream inputstream)
    {
        data_size = 0;
        stream_value = inputstream;
        return;
    }

    // Decompiling method: getBytes  Signature: ()[B
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 1718
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 5 Range 0 4 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type [B At 0 5 Range 0 4 Init 0 fixed
    public byte[] getBytes()
    {
        return byte_value;
    }

    // Decompiling method: getBytesLength  Signature: ()I
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 15 bytes, Code offset: 1761
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 15 Range 0 14 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type I At 0 15 Range 0 14 Init 0 fixed
    public int getBytesLength()
    {
        if(byte_value == null)
        {
            return 0;
        } else
        {
            return byte_value.length;
        }
    }

    // Decompiling method: getChars  Signature: (S)[C
    // Max stack: 1, #locals: 2, #params: 2
    // Code length: 2 bytes, Code offset: 1822
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 2 Range 0 1 Init 0 fixed
    // Parameter  1 added: Name word0 Type S At 0 2 Range 0 1 Init 0
    // RetValue   2 added: Name <returnValue> Type [C At 0 2 Range 0 1 Init 0 fixed
    public char[] getChars(short word0)
        throws SQLException
    {
        return null;
    }

    // Decompiling method: reinitialize  Signature: (I)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 41 bytes, Code offset: 1872
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 41 Range 0 40 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 41 Range 0 40 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 41 Range 0 40 Init 0 fixed
    public void reinitialize(int i)
    {
        is_null = false;
        byte_value = null;
        char_value = null;
        stream_value = null;
        data_size = 0;
        char_size = 0;
        original_size = 0;
        max_out_size = i;
        return;
    }

    // Decompiling method: setArrayData  Signature: (ZLjava/lang/String;I)V
    // Max stack: 4, #locals: 4, #params: 4
    // Code length: 44 bytes, Code offset: 1983
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 44 Range 0 43 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 44 Range 0 43 Init 0
    // Parameter  2 added: Name s Type Ljava/lang/String; At 0 44 Range 0 43 Init 0
    // Parameter  3 added: Name i Type I At 0 44 Range 0 43 Init 0
    // RetValue   4 added: Name <returnValue> Type V At 0 44 Range 0 43 Init 0 fixed
    public void setArrayData(boolean flag, String s, int i)
        throws SQLException
    {
        is_null = flag;
        if(s != null)
        {
            byte_value = StringToBytes(s, i);
            data_size = byte_value.length;
        } else
        {
            byte_value = new byte[0];
            data_size = 0;
        }
        return;
    }

    // Decompiling method: setArrayData  Signature: (Z[B)V
    // Max stack: 2, #locals: 3, #params: 3
    // Code length: 36 bytes, Code offset: 2103
    // Line Number Table found: 8 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 36 Range 0 35 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 36 Range 0 35 Init 0
    // Parameter  2 added: Name abyte0 Type [B At 0 36 Range 0 35 Init 0
    // RetValue   3 added: Name <returnValue> Type V At 0 36 Range 0 35 Init 0 fixed
    public void setArrayData(boolean flag, byte abyte0[])
        throws SQLException
    {
        is_null = flag;
        if(abyte0 != null)
        {
            data_size = abyte0.length;
            byte_value = abyte0;
        } else
        {
            byte_value = new byte[0];
            data_size = 0;
        }
        return;
    }

    // Decompiling method: setNull  Signature: ()V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 21 bytes, Code offset: 2215
    // Line Number Table found: 5 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 21 Range 0 20 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 21 Range 0 20 Init 0 fixed
    public void setNull()
    {
        is_null = true;
        data_size = 0;
        char_size = 0;
        allocBuffer(0);
        return;
    }

    // Decompiling method: setStreamData  Signature: (ZILjava/io/InputStream;)V
    // Max stack: 2, #locals: 4, #params: 4
    // Code length: 21 bytes, Code offset: 2290
    // Line Number Table found: 5 entries
    // Parameter  0 added: Name this Type Loracle/jdbc/dbaccess/DBItem; At 0 21 Range 0 20 Init 0 fixed
    // Parameter  1 added: Name flag Type Z At 0 21 Range 0 20 Init 0
    // Parameter  2 added: Name i Type I At 0 21 Range 0 20 Init 0
    // Parameter  3 added: Name inputstream Type Ljava/io/InputStream; At 0 21 Range 0 20 Init 0
    // RetValue   4 added: Name <returnValue> Type V At 0 21 Range 0 20 Init 0 fixed
    public void setStreamData(boolean flag, int i, InputStream inputstream)
    {
        is_null = flag;
        stream_value = inputstream;
        data_size = i;
        max_out_size = i;
        return;
    }
}
