001    /*
002     * Copyright (c) 2009 The openGion Project.
003     *
004     * Licensed under the Apache License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     *     http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
013     * either express or implied. See the License for the specific language
014     * governing permissions and limitations under the License.
015     */
016    package org.opengion.hayabusa.resource;
017    
018    import java.util.Calendar;
019    
020    /**
021     * カレンãƒ?ƒ‡ãƒ¼ã‚¿ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースã§ã™ã?
022     *
023     * カレンãƒ?ƒ‡ãƒ¼ã‚¿ã¯ã€?¼¤?¢ã¾ãŸã?標準ã?カレンãƒ?‚ˆã‚Šä¼‘日を求ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã?
024     *
025     * @og.rev 3.6.0.0 (2004/09/17) æ–°è¦ä½œæ?
026     * @og.group リソース管ç?
027     *
028     * @version  4.0
029     * @author   Kazuhiko Hasegawa
030     * @since    JDK5.0,
031     */
032    public interface CalendarData {
033    
034            /**
035             * æŒ?®šã?日付ã‘ãŒã?休日ã‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã?
036             * æŒ?®šã?日付ã‘ãŒã?キャãƒ?‚·ãƒ¥ã—ã¦ã?‚‹ãƒ??ã‚¿ã®æœ?¤§ã¨æœ?°ã?é–“ã«
037             * 存在ã—ãªã??åˆã?ã€ã‚¨ãƒ©ãƒ¼ã¨ã—ã¾ã™ã?
038             *
039             * @param       day     æŒ?®šã?日付ã‘
040             *
041             * @return      休日?štrue ãれ以外:false
042             *
043             */
044            boolean isHoliday( Calendar day ) ;
045    
046            /**
047             * æŒ?®šã?日付ã‘ã‹ã‚‰ã€ç¯?›²ã®é–“ã«ã€æœ¬æ—¥ã‚’å«ã‚?‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã?
048             * æŒ?®šã?日付ã‘ãŒã?キャãƒ?‚·ãƒ¥ã—ã¦ã?‚‹ãƒ??ã‚¿ã®æœ?¤§ã¨æœ?°ã?é–“ã«
049             * 存在ã—ãªã??åˆã?ã€å¸¸ã« false ã«ãªã‚Šã¾ã™ã?
050             * 判定ã?ã€å¹´æœˆæ—¥ã®é ?›®ã®ã¿ã§æ¯”è¼?—ã€æ™‚åˆ?§’ã?無視ã—ã¾ã™ã?
051             *
052             * @og.rev 3.7.1.1 (2005/05/31) æ–°è¦è¿½åŠ?
053             *
054             * @param       day             æŒ?®šã?開始日付ã‘
055             * @param       scope   ç¯?›²ã®æ—¥æ•°
056             *
057             * @return      本日?štrue ãれ以外:false
058             */
059            boolean isContainedToday( Calendar day,int scope ) ;
060    
061            /**
062             * æŒ?®šã?é–‹å§‹ã?終äº?—¥ã®æœŸé–“ã«ã€å¹³æ—¥(ç¨¼åƒæ—¥)ãŒä½•æ—¥ã‚ã‚‹ã‹æ±‚ã‚ã¾ã™ã?
063             * start 㨠end ãŒã?リストç¯?›²å¤–ã?å ´åˆã?ã€ã‚¨ãƒ©ãƒ¼ã¨ã—ã¾ã™ã?
064             * é–‹å§‹ã¨çµ‚äº?ŒåŒã˜æ—¥ã®å ´åˆã?ã€?¼‘ã‚’è¿”ã—ã¾ã™ã?
065             *
066             * @param       start   開始日付ã‘(ç¨¼åƒæ—¥ã«å«ã‚ã¾ã?
067             * @param       end             終äº?—¥ä»˜ã‘(ç¨¼åƒæ—¥ã«å«ã‚ã¾ã?
068             *
069             * @return      ç¨¼åƒæ—¥æ•°
070             *
071             */
072            int getKadoubisu( Calendar start,Calendar end ) ;
073    
074            /**
075             * æŒ?®šã?é–‹å§‹æ—¥ã«å¹³æ—¥ã®ã¿æœŸé–“を加算ã—ã¦æ±‚ã‚られる日付ã‘ã‚’è¿”ã—ã¾ã™ã?
076             * ã“れã¯ã€å®Ÿç¨¼åƒæ—¥è¨ˆç®—ã«ä½¿ç”¨ã—ã¾ã™ã?
077             * 例ãˆã°ã€start=20040810 , span=5 ã§ã€ä¼‘æ—¥ãŒãªã‘れã°ã€?0,11,12,13,14 ã¨ãªã‚Šã?
078             * 20040815 ã‚’è¿”ã—ã¾ã™ã?
079             * æŒ?®šã?日付ã‘ã‚??期間åŠ?®—後ã?日付ã‘ãŒã?キャãƒ?‚·ãƒ¥ã—ã¦ã?‚‹ãƒ??ã‚¿ã®
080             * æœ?¤§ã¨æœ?°ã?é–“ã«å­˜åœ¨ã—ãªã??åˆã?ã€ã‚¨ãƒ©ãƒ¼ã¨ã—ã¾ã™ã?
081             *
082             * @param       start   開始日付ã‘(YYYYMMDD å½¢å¼?
083             * @param       span    稼動期�
084             *
085             * @return      é–‹å§‹æ—¥ã‹ã‚‰ç¨¼å‹•期間をåŠ?®—ã—ãŸæ—¥ä»˜ã‘(当日をå«ã‚?
086             *
087             */
088            Calendar getAfterDay( Calendar start,int span ) ;
089    }