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 }