//package canlendar;
//Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
//Jad home page: http://kpdus.tripod.com/jad.html
//Decompiler options: packimports(3) braces fieldsfirst ansi nonlb space
//Source File Name: ChineseCalendar.java
import java.util.*;
public final class ChineseCalendar extends GregorianCalendar {
private static final long serialVersionUID = 8L;
public static final int CHINESE_YEAR = 801;
public static final int CHINESE_MONTH = 802;
public static final int CHINESE_DATE = 803;
public static final int CHINESE_SECTIONAL_TERM = 804;
public static final int CHINESE_PRINCIPLE_TERM = 805;
public static final int CHINESE_HEAVENLY_STEM = 806;
public static final int CHINESE_EARTHLY_BRANCH = 807;
public static final int CHINESE_ANIMAL = 808;
private int chineseYear;
private int chineseMonth;
private int chineseDate;
private int sectionalTerm;
private int principleTerm;
private boolean areChineseFieldsComputed;
private boolean areSolarTermsComputed;
private boolean lastSetChinese;
private static final int baseYear = 1901;
private static final int baseMonth = 1;
private static final int baseDate = 1;
private static final int baseIndex = 0;
private static final int baseChineseYear = 1900;
private static final int baseChineseMonth = 11;
private static final int baseChineseDate = 11;
private static final String chineseWeekNames[] = {
"", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"
};
private static final String chineseMonthNames[] = {
"", "正", "二", "三", "四", "五", "六", "七", "八", "九",
"十", "冬(十一)", "腊(十二)"
};
private static final String chineseDateNames[] = {
"", "初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九",
"初十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九",
"二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九",
"三十"
};
private static final String principleTermNames[] = {
"大寒", "雨水", "春分", "谷雨", "夏满", "夏至", "大暑", "处暑", "秋分", "霜降",
"小雪", "冬至"
};
private static final String sectionalTermNames[] = {
"小寒", "立春", "惊蛰", "清明", "立夏", "芒种", "小暑", "立秋", "白露", "寒露",
"立冬", "大雪"
};
private static final String stemNames[] = {
"", "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬",
"癸"
};
private static final String branchNames[] = {
"", "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申",
"酉", "戌", "亥"
};
private static final String animalNames[] = {
"", "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴",
"鸡", "狗", "猪"
};
private static final int bigLeapMonthYears[] = {
6, 14, 19, 25, 33, 36, 38, 41, 44, 52,
55, 79, 117, 136, 147, 150, 155, 158, 185, 193
};
private static final char sectionalTermMap[][] = {
{
'\007', '\006', '\006', '\006', '\006', '\006', '\006', '\006', '\006', '\005',
'\006', '\006', '\006', '\005', '\005', '\006', '\006', '\005', '\005', '\005',
'\005', '\005', '\005', '\005', '\005', '\004', '\005', '\005'
}, {
'\005', '\004', '\005', '\005', '\005', '\004', '\004', '\005', '\005', '\004',
'\004', '\004', '\004', '\004', '\004', '\004', '\004', '\003', '\004', '\004',
'\004', '\003', '\003', '\004', '\004', '\003', '\003', '\003'
}, {
'\006', '\006', '\006', '\007', '\006', '\006', '\006', '\006', '\005', '\006',
'\006', '\006', '\005', '\005', '\006', '\006', '\005', '\005', '\005', '\006',
'\005', '\005', '\005', '\005', '\004', '\005', '\005', '\005', '\005'
}, {
'\005', '\005', '\006', '\006', '\005', '\005', '\005', '\006', '\005', '\005',
'\005', '\005', '\004', '\005', '\005', '\005', '\004', '\004', '\005', '\005',
'\004', '\004', '\004', '\005', '\004', '\004', '\004', '\004', '\005'
}, {
'\006', '\006', '\006', '\007', '\006', '\006', '\006', '\006', '\005', '\006',
'\006', '\006', '\005', '\005', '\006', '\006', '\005', '\005', '\005', '\006',
'\005', '\005', '\005', '\005', '\004', '\005', '\005', '\005', '\005'
}, {
'\006', '\006', '\007', '\007', '\006', '\006', '\006', '\007', '\006', '\006',
'\006', '\006', '\005', '\006', '\006', '\006', '\005', '\005', '\006', '\006',
'\005', '\005', '\005', '\006', '\005', '\005', '\005', '\005', '\004', '\005',
'\005', '\005', '\005'
}, {
'\007', '\b', '\b', '\b', '\007', '\007', '\b', '\b', '\007', '\007',
'\007', '\b', '\007', '\007', '\007', '\007', '\006', '\007', '\007', '\007',
'\006', '\006', '\007', '\007', '\006', '\006', '\006', '\007', '\007'
}, {
'\b', '\b', '\b', '\t', '\b', '\b', '\b', '\b', '\007', '\b',
'\b', '\b', '\007', '\007', '\b', '\b', '\007', '\007', '\007', '\b',
'\007', '\007', '\007', '\007', '\006', '\007', '\007', '\007', '\006', '\006',
'\007', '\007', '\007'
}, {
'\b', '\b', '\b', '\t', '\b', '\b', '\b', '\b', '\007', '\b',
'\b', '\b', '\007', '\007', '\b', '\b', '\007', '\007', '\007', '\b',
'\007', '\007', '\007', '\007', '\006', '\007', '\007', '\007', '\007'
}, {
'\t', '\t', '\t', '\t', '\b', '\t', '\t', '\t', '\b', '\b',
'\t', '\t', '\b', '\b', '\b', '\t', '\b', '\b', '\b', '\b',
'\007', '\b', '\b', '\b', '\007', '\007', '\b', '\b', '\b'
}, {
'\b', '\b', '\b', '\b', '\007', '\b', '\b', '\b', '\007', '\007',
'\b', '\b', '\007', '\007', '\007', '\b', '\007', '\007', '\007', '\007',
'\006', '\007', '\007', '\007', '\006', '\006', '\007', '\007', '\007'
}, {
'\007', '\b', '\b', '\b', '\007', '\007', '\b', '\b', '\007', '\007',
'\007', '\b', '\007', '\007', '\007', '\007', '\006', '\007', '\007', '\007',
'\006', '\006', '\007', '\007', '\006', '\006', '\006', '\007', '\007'
}
};
private static final char sectionalTermYear[][] = {
{
'\r', '1', 'U', 'u', '\225', '\271', '\311', '\372', '\372'
}, {
'\r', '-', 'Q', 'u', '\225', '\271', '\311', '\372', '\372'
}, {
'\r', '0', 'T', 'p', '\224', '\270', '\310', '\311', '\372'
}, {
'\r', '-', 'L', 'l', '\214', '\254', '\310', '\311', '\372'
}, {
'\r', ',', 'H', 'h', '\204', '\250', '\310', '\311', '\372'
}, {
'\005', '!', 'D', '`', '|', '\230', '\274', '\310', '\311'
}, {
'\035', '9', 'U', 'x', '\224', '\260', '\310', '\311', '\372'
}, {
'\r', '0', 'L', 'h', '\204', '\250', '\304', '\310', '\311'
}, {
'\031', '<', 'X', 'x', '\224', '\270', '\310', '\311', '\372'
}, {
'\020', ',', 'L', 'l', '\220', '\254', '\310', '\311', '\372'
}, {
'\034', '<', '\\', '|', '\240', '\300', '\310', '\311', '\372'
}, {
'\021', '5', 'U', '|', '\234', '\274', '\310', '\311', '\372'
}
};
private static final char principleTermMap[][] = {
{
'\025', '\025', '\025', '\025', '\025', '\024', '\025', '\025', '\025', '\024',
'\024', '\025', '\025', '\024', '\024', '\024', '\024', '\024', '\024', '\024',
'\024', '\023', '\024', '\024', '\024', '\023', '\023', '\024'
}, {
'\024', '\023', '\023', '\024', '\024', '\023', '\023', '\023', '\023', '\023',
'\023', '\023', '\023', '\022', '\023', '\023', '\023', '\022', '\022', '\023',
'\023', '\022', '\022', '\022', '\022', '\022', '\022', '\022'
}, {
'\025', '\025', '\025', '\026', '\025', '\025', '\025', '\025', '\024', '\025',
'\025', '\025', '\024', '\024', '\025', '\025', '\024', '\024', '\024', '\025',
'\024', '\024', '\024', '\024', '\023', '\024', '\024', '\024', '\024'
}, {
'\024', '\025', '\025', '\025', '\024', '\024', '\025', '\025', '\024', '\024',
'\024', '\025', '\024', '\024', '\024', '\024', '\023', '\024', '\024', '\024',
'\023', '\023', '\024', '\024', '\023', '\023', '\023', '\024', '\024'
}, {
'\025', '\026', '\026', '\026', '\025', '\025', '\026', '\026', '\025', '\025',
'\025', '\026', '\025', '\025', '\025', '\025', '\024', '\025', '\025