Java祝日計算

祝日計算をするJavaクラスを作成した。
春分秋分の日は、『海上保安庁水路部 暦計算研究会編 新こよみ便利帳』による計算式を使用
・国民の休日、振替休日も計算
・祝日の新制度の変更、保守の為に敢えて1ソースファイルの構成としている。
ただし、2007年以降のカレンダーしか有効でない。

http://sourceforge.jp/projects/jholiday/

任意の祝日を指定して情報を取得するために、インナークラスとして
  public abstract class HolidayBundle を提供している。
この抽象クラスの具象クラスとして祝日ごとのインナークラスが用意されており、
祝日名、祝日計算は個々の祝日HolidayBundle で実装で提供されてる。
→祝日毎のHolidayBundleインスタンスを取得してメソッドを利用できると
 いうこと!

振替休日計算は、HolidayBundle 抽象クラスで実装するが、特定の祝日は具象クラスで
オーバーライドで実装している。
→オーバーライドで制度の変更、特殊な変更を書き換える。

2009年の祝日配列
Holiday holday = new Holiday(2009);
Date[] ary = holday.listHoliDays();

2009年の春分の日
Holiday.HolidayBundle h = Holiday.HolidayType.SPRING_EQUINOX_DAY.getBundle(2009);
System.out.println(h.getMonth()+"月 "+h.getDay()+"日"
+"("+Holiday.WEEKDAYS_JA[h.getWeekDay()-1]+")"
+" "+h.getDescription());