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

package oracle.sql;

import java.sql.Date;
import java.sql.SQLException;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;

// Referenced classes of package oracle.sql:
//            Datum, DATE

// flag ACC_SUPER is set
public class TIMESTAMP extends Datum
{
    // Constants:          200
    // Interfaces:         0
    // Fields:             10
    // Methods:            24
    // Class Attributes:   1


    private static int CENTURY_DEFAULT = 119;
    private static int DECADE_DEFAULT = 100;
    private static int MONTH_DEFAULT = 1;
    private static int DAY_DEFAULT = 1;
    private static int DECADE_INIT = 170;
    private static int JAVA_YEAR = 1970;
    private static int JAVA_MONTH = 0;
    private static int JAVA_DATE = 1;
    private static int SIZE_TIMESTAMP = 11;
    private static int SIZE_DATE = 7;

    // Decompiling method: <init>  Signature: ()V
    // Max stack: 2, #locals: 1, #params: 1
    // Code length: 8 bytes, Code offset: 2370
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; At 0 8 Range 0 7 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type V At 0 8 Range 0 7 Init 0 fixed
    public TIMESTAMP()
    {
        super(initTimestamp());
        return;
    }

    // Decompiling method: <init>  Signature: (Ljava/lang/String;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 9 bytes, Code offset: 2420
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; At 0 9 Range 0 8 Init 0 fixed
    // Parameter  1 added: Name s Type Ljava/lang/String; At 0 9 Range 0 8 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 9 Range 0 8 Init 0 fixed
    public TIMESTAMP(String s)
    {
        super(toBytes(s));
        return;
    }

    // Decompiling method: <init>  Signature: (Ljava/sql/Date;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 9 bytes, Code offset: 2471
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; At 0 9 Range 0 8 Init 0 fixed
    // Parameter  1 added: Name date Type Ljava/sql/Date; At 0 9 Range 0 8 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 9 Range 0 8 Init 0 fixed
    public TIMESTAMP(Date date)
    {
        super(toBytes(date));
        return;
    }

    // Decompiling method: <init>  Signature: (Ljava/sql/Time;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 9 bytes, Code offset: 2522
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; At 0 9 Range 0 8 Init 0 fixed
    // Parameter  1 added: Name time Type Ljava/sql/Time; At 0 9 Range 0 8 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 9 Range 0 8 Init 0 fixed
    public TIMESTAMP(Time time)
    {
        super(toBytes(time));
        return;
    }

    // Decompiling method: <init>  Signature: (Ljava/sql/Timestamp;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 9 bytes, Code offset: 2573
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; At 0 9 Range 0 8 Init 0 fixed
    // Parameter  1 added: Name timestamp Type Ljava/sql/Timestamp; At 0 9 Range 0 8 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 9 Range 0 8 Init 0 fixed
    public TIMESTAMP(Timestamp timestamp)
    {
        super(toBytes(timestamp));
        return;
    }

    // Decompiling method: <init>  Signature: (Loracle/sql/DATE;)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 9 bytes, Code offset: 2624
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; At 0 9 Range 0 8 Init 0 fixed
    // Parameter  1 added: Name date Type Loracle/sql/DATE; At 0 9 Range 0 8 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 9 Range 0 8 Init 0 fixed
    public TIMESTAMP(DATE date)
    {
        super(toBytes(date));
        return;
    }

    // Decompiling method: <init>  Signature: ([B)V
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 6 bytes, Code offset: 2675
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; At 0 6 Range 0 5 Init 0 fixed
    // Parameter  1 added: Name abyte0 Type [B At 0 6 Range 0 5 Init 0
    // RetValue   2 added: Name <returnValue> Type V At 0 6 Range 0 5 Init 0 fixed
    public TIMESTAMP(byte abyte0[])
    {
        super(abyte0);
        return;
    }

    // Decompiling method: initTimestamp  Signature: ()[B
    // Max stack: 3, #locals: 1, #params: 0
    // Code length: 69 bytes, Code offset: 2723
    // Line Number Table found: 13 entries
    // RetValue   1 added: Name <returnValue> Type [B At 0 69 Range 0 68 Init 0 fixed
    // LocalVar   0 added: Name abyte0 Type [B At 5 63 Range 5 67 Init 5
    private static byte[] initTimestamp()
    {
        byte abyte0[] = new byte[SIZE_TIMESTAMP];
        abyte0[0] = (byte)CENTURY_DEFAULT;
        abyte0[1] = (byte)DECADE_INIT;
        abyte0[2] = (byte)MONTH_DEFAULT;
        abyte0[3] = (byte)DAY_DEFAULT;
        abyte0[4] = 1;
        abyte0[5] = 1;
        abyte0[6] = 1;
        abyte0[7] = 0;
        abyte0[8] = 0;
        abyte0[9] = 0;
        abyte0[10] = 0;
        return abyte0;
    }

    // Decompiling method: isConvertibleTo  Signature: (Ljava/lang/Class;)Z
    // Max stack: 2, #locals: 2, #params: 2
    // Code length: 52 bytes, Code offset: 2878
    // Line Number Table found: 6 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; At 0 52 Range 0 51 Init 0 fixed
    // Parameter  1 added: Name class1 Type Ljava/lang/Class; At 0 52 Range 0 51 Init 0
    // RetValue   2 added: Name <returnValue> Type Z At 0 52 Range 0 51 Init 0 fixed
    public boolean isConvertibleTo(Class class1)
    {
        return class1.getName().compareTo("java.sql.Date") == 0 || class1.getName().compareTo("java.sql.Time") == 0 || class1.getName().compareTo("java.sql.Timestamp") == 0 || class1.getName().compareTo("java.lang.String") == 0;
    }

    // Decompiling method: makeJdbcArray  Signature: (I)Ljava/lang/Object;
    // Max stack: 1, #locals: 3, #params: 2
    // Code length: 7 bytes, Code offset: 2988
    // Line Number Table found: 2 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; At 0 7 Range 0 6 Init 0 fixed
    // Parameter  1 added: Name i Type I At 0 7 Range 0 6 Init 0
    // RetValue   3 added: Name <returnValue> Type Ljava/lang/Object; At 0 7 Range 0 6 Init 0 fixed
    // LocalVar   2 added: Name atimestamp Type [Ljava/sql/Timestamp; At 4 2 Range 4 5 Init 4
    public Object makeJdbcArray(int i)
    {
        Timestamp atimestamp[] = new Timestamp[i];
        return atimestamp;
    }

    // Decompiling method: timestampValue  Signature: ()Ljava/sql/Timestamp;
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 8 bytes, Code offset: 3037
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; At 0 8 Range 0 7 Init 0 fixed
    // RetValue   1 added: Name <returnValue> Type Ljava/sql/Timestamp; At 0 8 Range 0 7 Init 0 fixed
    public Timestamp timestampValue()
        throws SQLException
    {
        return toTimestamp(getBytes());
    }

    // Decompiling method: toBytes  Signature: ()[B
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 5 bytes, Code offset: 3093
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name this Type Loracle/sql/TIMESTAMP; 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[] toBytes()
    {
        return getBytes();
    }

    // Decompiling method: toBytes  Signature: (Ljava/lang/String;)[B
    // Max stack: 1, #locals: 1, #params: 1
    // Code length: 8 bytes, Code offset: 3136
    // Line Number Table found: 1 entries
    // Parameter  0 added: Name s Type Ljava/lang/String; At 0 8 Range 0 7 Init 0
    // RetValue   1 added: Name <returnValue> Type [B At 0 8 Range 0 7 Init 0 fixed
    public static byte[] toBytes(String s)
    {
        return toBytes(Timestamp.valueOf(s));
    }

    // Decompiling method: toBytes  Signature: (Ljava/sql/Date;)[B
    // Max stack: 4, #locals: 3, #params: 1
    // Code length: 106 bytes, Code offset: 3182
    // Line Number Table found: 17 entries
    // Parameter  0 added: Name date Type Ljava/sql/Date; At 0 106 Range 0 105 Init 0
    // RetValue   3 added: Name <returnValue> Type [B At 0 106 Range 0 105 Init 0 fixed
    // LocalVar   1 added: Name abyte0 Type [B At 11 94 Range 11 104 Init 11
    // LocalVar   2 added: Name calendar Type Ljava/util/Calendar; At 15 50 Range 15 64 Init 15
    public static byte[] toBytes(Date date)
    {
        if(date == null)
        {
            return null;
        } else
        {
            byte abyte0[] = new byte[SIZE_TIMESTAMP];
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            abyte0[0] = (byte)(calendar.get(1) / 100 + 100);
            abyte0[1] = (byte)(calendar.get(1) % 100 + 100);
            abyte0[2] = (byte)(calendar.get(2) + 1);
            abyte0[3] = (byte)calendar.get(5);
            abyte0[4] = 1;
            abyte0[5] = 1;
            abyte0[6] = 1;
            abyte0[7] = 0;
            abyte0[8] = 0;
            abyte0[9] = 0;
            abyte0[10] = 0;
            return abyte0;
        }
    }

    // Decompiling method: toBytes  Signature: (Ljava/sql/Time;)[B
    // Max stack: 4, #locals: 3, #params: 1
    // Code length: 108 bytes, Code offset: 3390
    // Line Number Table found: 17 entries
    // Parameter  0 added: Name time Type Ljava/sql/Time; At 0 108 Range 0 107 Init 0
    // RetValue   3 added: Name <returnValue> Type [B At 0 108 Range 0 107 Init 0 fixed
    // LocalVar   1 added: Name abyte0 Type [B At 11 96 Range 11 106 Init 11
    // LocalVar   2 added: Name calendar Type Ljava/util/Calendar; At 15 62 Range 15 76 Init 15
    public static byte[] toBytes(Time time)
    {
        if(time == null)
        {
            return null;
        } else
        {
            byte abyte0[] = new byte[SIZE_TIMESTAMP];
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(time);
            abyte0[0] = (byte)CENTURY_DEFAULT;
            abyte0[1] = (byte)DECADE_DEFAULT;
            abyte0[2] = (byte)MONTH_DEFAULT;
            abyte0[3] = (byte)DAY_DEFAULT;
            abyte0[4] = (byte)(calendar.get(11) + 1);
            abyte0[5] = (byte)(calendar.get(12) + 1);
            abyte0[6] = (byte)(calendar.get(13) + 1);
            abyte0[7] = 0;
            abyte0[8] = 0;
            abyte0[9] = 0;
            abyte0[10] = 0;
            return abyte0;
        }
    }

    // Decompiling method: toBytes  Signature: (Ljava/sql/Timestamp;)[B
    // Max stack: 4, #locals: 3, #params: 1
    // Code length: 167 bytes, Code offset: 3600
    // Line Number Table found: 17 entries
    // Parameter  0 added: Name timestamp Type Ljava/sql/Timestamp; At 0 167 Range 0 166 Init 0
    // RetValue   3 added: Name <returnValue> Type [B At 0 167 Range 0 166 Init 0 fixed
    // LocalVar   1 added: Name abyte0 Type [B At 11 155 Range 11 165 Init 11
    // LocalVar   2 added: Name calendar Type Ljava/util/Calendar; At 15 84 Range 15 98 Init 15
    public static byte[] toBytes(Timestamp timestamp)
    {
        if(timestamp == null)
        {
            return null;
        } else
        {
            byte abyte0[] = new byte[SIZE_TIMESTAMP];
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(timestamp);
            abyte0[0] = (byte)(calendar.get(1) / 100 + 100);
            abyte0[1] = (byte)(calendar.get(1) % 100 + 100);
            abyte0[2] = (byte)(calendar.get(2) + 1);
            abyte0[3] = (byte)calendar.get(5);
            abyte0[4] = (byte)(calendar.get(11) + 1);
            abyte0[5] = (byte)(calendar.get(12) + 1);
            abyte0[6] = (byte)(calendar.get(13) + 1);
            abyte0[7] = (byte)(timestamp.getNanos() >> 24);
            abyte0[8] = (byte)(timestamp.getNanos() >> 16 & 0xff);
            abyte0[9] = (byte)(timestamp.getNanos() >> 8 & 0xff);
            abyte0[10] = (byte)(timestamp.getNanos() & 0xff);
            return abyte0;
        }
    }

    // Decompiling method: toBytes  Signature: (Loracle/sql/DATE;)[B
    // Max stack: 5, #locals: 2, #params: 1
    // Code length: 46 bytes, Code offset: 3869
    // Line Number Table found: 9 entries
    // Parameter  0 added: Name date Type Loracle/sql/DATE; At 0 46 Range 0 45 Init 0
    // RetValue   2 added: Name <returnValue> Type [B At 0 46 Range 0 45 Init 0 fixed
    // LocalVar   1 added: Name abyte0 Type [B At 11 34 Range 11 44 Init 11
    public static byte[] toBytes(DATE date)
    {
        if(date == null)
        {
            return null;
        } else
        {
            byte abyte0[] = new byte[SIZE_TIMESTAMP];
            System.arraycopy(date.getBytes(), 0, abyte0, 0, 7);
            abyte0[7] = 0;
            abyte0[8] = 0;
            abyte0[9] = 0;
            abyte0[10] = 0;
            return abyte0;
        }
    }

    // Decompiling method: toDATE  Signature: ([B)Loracle/sql/DATE;
    // Max stack: 5, #locals: 2, #params: 1
    // Code length: 25 bytes, Code offset: 3985
    // Line Number Table found: 3 entries
    // Parameter  0 added: Name abyte0 Type [B At 0 25 Range 0 24 Init 0
    // RetValue   2 added: Name <returnValue> Type Loracle/sql/DATE; At 0 25 Range 0 24 Init 0 fixed
    // LocalVar   1 added: Name abyte1 Type [B At 5 16 Range 5 20 Init 5
    public static DATE toDATE(byte abyte0[])
        throws SQLException
    {
        byte abyte1[] = new byte[SIZE_DATE];
        System.arraycopy(abyte0, 0, abyte1, 0, SIZE_DATE);
        return new DATE(abyte1);
    }

    // Decompiling method: toDate  Signature: ([B)Ljava/sql/Date;
    // Max stack: 4, #locals: 7, #params: 1
    // Code length: 144 bytes, Code offset: 4066
    // Line Number Table found: 15 entries
    // Parameter  0 added: Name abyte0 Type [B At 0 144 Range 0 143 Init 0
    // RetValue   7 added: Name <returnValue> Type Ljava/sql/Date; At 0 144 Range 0 143 Init 0 fixed
    // LocalVar   1 added: Name ai Type [I At 5 103 Range 5 107 Init 5
    // LocalVar   2 added: Name flag Type Z At 7 18 Range 7 24 Init 7
    // LocalVar   2 chged: Name i Oname flag Type I At 24 1 Range 7 24 Init 7
    // LocalVar   3 added: Name j Type I At 46 10 Range 46 55 Init 46
    // LocalVar   4 added: Name calendar Type Ljava/util/Calendar; At 50 76 Range 50 125 Init 50
    // LocalVar   5 added: Name l Type J At 132 8 Range 132 139 Init 132
    public static Date toDate(byte abyte0[])
        throws SQLException
    {
        int ai[] = new int[SIZE_TIMESTAMP];
        for(int i = 0; i < abyte0.length; i++)
        {
            ai[i] = abyte0[i] & 0xff;
        }

        int j = (ai[0] - 100) * 100 + (ai[1] - 100);
        Calendar calendar = Calendar.getInstance();
        calendar.set(1, j);
        calendar.set(2, ai[2] - 1);
        calendar.set(5, ai[3]);
        calendar.set(11, ai[4] - 1);
        calendar.set(12, ai[5] - 1);
        calendar.set(13, ai[6] - 1);
        calendar.set(14, 0);
        long l = calendar.getTime().getTime();
        return new Date(l);
    }

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

    // Decompiling method: toString  Signature: ([B)Ljava/lang/String;
    // Max stack: 4, #locals: 5, #params: 1
    // Code length: 235 bytes, Code offset: 4367
    // Line Number Table found: 25 entries
    // Parameter  0 added: Name abyte0 Type [B At 0 235 Range 0 234 Init 0
    // RetValue   5 added: Name <returnValue> Type Ljava/lang/String; At 0 235 Range 0 234 Init 0 fixed
    // LocalVar   1 added: Name flag Type Z At 1 227 Range 1 227 Init 1
    // LocalVar   2 added: Name ai Type [I At 7 209 Range 7 215 Init 7
    // LocalVar   3 added: Name flag1 Type Z At 9 33 Range 9 41 Init 9
    // LocalVar   3 chged: Name i Oname flag1 Type I At 41 1 Range 9 41 Init 9
    // LocalVar   4 added: Name j Type I At 89 71 Range 89 159 Init 89
    // LocalVar   1 chged: Name k Oname flag Type I At 110 2 Range 1 227 Init 1
    public static String toString(byte abyte0[])
    {
        int i = 0;
        int ai[] = new int[SIZE_TIMESTAMP];
        for(int j = 0; j < abyte0.length; j++)
        {
            if(abyte0[j] < 0)
            {
                ai[j] = abyte0[j] + 256;
            } else
            {
                ai[j] = abyte0[j];
            }
        }

        ai[4] = ai[4] - 1;
        ai[5] = ai[5] - 1;
        ai[6] = ai[6] - 1;
        int k = (ai[0] - 100) * 100 + (ai[1] - 100);
        if(abyte0.length == SIZE_TIMESTAMP)
        {
            i = (ai[7] & 0xff) << 24;
            i |= (ai[8] & 0xff) << 16;
            i |= (ai[9] & 0xff) << 8;
            i |= ai[10] & 0xff & 0xff;
        }
        return k + "-" + ai[2] + "-" + ai[3] + "." + ai[4] + "." + ai[5] + ". " + ai[6] + ". " + i;
    }

    // Decompiling method: toTime  Signature: ([B)Ljava/sql/Time;
    // Max stack: 4, #locals: 7, #params: 1
    // Code length: 144 bytes, Code offset: 4736
    // Line Number Table found: 15 entries
    // Parameter  0 added: Name abyte0 Type [B At 0 144 Range 0 143 Init 0
    // RetValue   7 added: Name <returnValue> Type Ljava/sql/Time; At 0 144 Range 0 143 Init 0 fixed
    // LocalVar   1 added: Name ai Type [I At 5 103 Range 5 107 Init 5
    // LocalVar   2 added: Name flag Type Z At 7 18 Range 7 24 Init 7
    // LocalVar   2 chged: Name i Oname flag Type I At 24 1 Range 7 24 Init 7
    // LocalVar   3 added: Name j Type I At 46 10 Range 46 55 Init 46
    // LocalVar   4 added: Name calendar Type Ljava/util/Calendar; At 50 76 Range 50 125 Init 50
    // LocalVar   5 added: Name l Type J At 132 8 Range 132 139 Init 132
    public static Time toTime(byte abyte0[])
        throws SQLException
    {
        int ai[] = new int[SIZE_TIMESTAMP];
        for(int i = 0; i < abyte0.length; i++)
        {
            ai[i] = abyte0[i] & 0xff;
        }

        int j = (ai[0] - 100) * 100 + (ai[1] - 100);
        Calendar calendar = Calendar.getInstance();
        calendar.set(1, j);
        calendar.set(2, ai[2] - 1);
        calendar.set(5, ai[3]);
        calendar.set(11, ai[4] - 1);
        calendar.set(12, ai[5] - 1);
        calendar.set(13, ai[6] - 1);
        calendar.set(14, 0);
        long l = calendar.getTime().getTime();
        return new Time(l);
    }

    // Decompiling method: toTimestamp  Signature: ([B)Ljava/sql/Timestamp;
    // Max stack: 4, #locals: 9, #params: 1
    // Code length: 218 bytes, Code offset: 4984
    // Line Number Table found: 24 entries
    // Parameter  0 added: Name abyte0 Type [B At 0 218 Range 0 217 Init 0
    // RetValue   9 added: Name <returnValue> Type Ljava/sql/Timestamp; At 0 218 Range 0 217 Init 0 fixed
    // LocalVar   1 added: Name ai Type [I At 5 184 Range 5 188 Init 5
    // LocalVar   2 added: Name flag Type Z At 7 18 Range 7 24 Init 7
    // LocalVar   2 chged: Name i Oname flag Type I At 24 1 Range 7 24 Init 7
    // LocalVar   3 added: Name j Type I At 46 10 Range 46 55 Init 46
    // LocalVar   4 added: Name calendar Type Ljava/util/Calendar; At 50 76 Range 50 125 Init 50
    // LocalVar   5 added: Name l Type J At 132 8 Range 132 139 Init 132
    // LocalVar   7 added: Name timestamp Type Ljava/sql/Timestamp; At 143 74 Range 143 216 Init 143
    // LocalVar   8 added: Name k Type I At 160 4 Range 160 163 Init 160
    // LocalVar   8 added: Name i1 Type I At 172 4 Range 172 175 Init 172
    // LocalVar   8 added: Name j1 Type I At 184 4 Range 184 187 Init 184
    // LocalVar   8 added: Name k1 Type I At 197 6 Range 197 202 Init 197
    // LocalVar   8 name i1(I) merged out into k(I)
    // LocalVar   8 name j1(I) merged out into k(I)
    // LocalVar   8 name k1(I) merged out into k(I)
    public static Timestamp toTimestamp(byte abyte0[])
        throws SQLException
    {
        int ai[] = new int[SIZE_TIMESTAMP];
        for(int i = 0; i < abyte0.length; i++)
        {
            ai[i] = abyte0[i] & 0xff;
        }

        int j = (ai[0] - 100) * 100 + (ai[1] - 100);
        Calendar calendar = Calendar.getInstance();
        calendar.set(1, j);
        calendar.set(2, ai[2] - 1);
        calendar.set(5, ai[3]);
        calendar.set(11, ai[4] - 1);
        calendar.set(12, ai[5] - 1);
        calendar.set(13, ai[6] - 1);
        calendar.set(14, 0);
        long l = calendar.getTime().getTime();
        Timestamp timestamp = new Timestamp(l);
        if(abyte0.length == SIZE_TIMESTAMP)
        {
            int k = ai[7] << 24;
            k |= ai[8] << 16;
            k |= ai[9] << 8;
            k |= ai[10] & 0xff;
            timestamp.setNanos(k);
        } else
        {
            timestamp.setNanos(0);
        }
        return timestamp;
    }

    // Decompiling method: <clinit>  Signature: ()V
    // Max stack: 1, #locals: 0, #params: 0
    // Code length: 49 bytes, Code offset: 2243
    // Line Number Table found: 11 entries
    // RetValue   0 added: Name <returnValue> Type V At 0 49 Range 0 48 Init 0 fixed
    static 
    {
        /* CENTURY_DEFAULT = 119; */
        /* DECADE_DEFAULT = 100; */
        /* MONTH_DEFAULT = 1; */
        /* DAY_DEFAULT = 1; */
        /* DECADE_INIT = 170; */
        /* JAVA_YEAR = 1970; */
        /* JAVA_MONTH = 0; */
        /* JAVA_DATE = 1; */
        /* SIZE_TIMESTAMP = 11; */
        /* SIZE_DATE = 7; */
    }
}
