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.plugin.calendar;
017
018 import org.opengion.hayabusa.resource.CalendarQuery;
019 import org.opengion.hayabusa.common.HybsSystemException;
020
021 /**
022 * カレンãƒ?¼¤?¢(TP637)ã®æ¤œç´¢QUERYを定義ã—ãŸã‚¯ãƒ©ã‚¹ã§ã™ã?
023 *
024 * QUERY ã¯ã€ã“ã®ã‚ªãƒ–ジェクトをã€toString() ã—ã¦æ±‚ã‚ã‚‹ã“ã¨ã¨ã—ã¾ã™ã?
025 * 本æ¥ã¯ã€ã“れらã®ã‚¯ãƒ©ã‚¹ã®å…±é€šã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースを作æ?ã—ã¦ã€getQuery() ãªã©ã®ãƒ¡ã‚½ãƒ?ƒ‰ã‚?
026 * 介ã—ã¦å–å¾—ã™ã¹ãã§ã™ãŒã€Object ã®å…±é€šã‚¯ãƒ©ã‚¹ã‚’利用ã™ã‚‹ã“ã¨ã¨ã—ã¾ã™ã?
027 *
028 * @og.rev 3.6.0.0 (2004/09/17) æ–°è¦ä½œæ?
029 * @og.group リソース管ç?
030 *
031 * @version 4.0
032 * @author Kazuhiko Hasegawa
033 * @since JDK5.0,
034 */
035 public final class CalendarQuery_TP637 implements CalendarQuery {
036 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */
037 private static final String VERSION = "4.0.0.0 (2005/08/31)" ;
038
039 /** カレンãƒ?¼¤?¢ã®èªã¿è¾¼ã¿ã®ã‚¯ã‚¨ãƒªãƒ¼(TP637) */
040 public static final String QUERY =
041 "select YM,DAY1,DAY2,DAY3,DAY4,DAY5,DAY6,DAY7,DAY8,DAY9,DAY10,"
042 + "DAY11,DAY12,DAY13,DAY14,DAY15,DAY16,DAY17,DAY18,DAY19,DAY20,"
043 + "DAY21,DAY22,DAY23,DAY24,DAY25,DAY26,DAY27,DAY28,DAY29,DAY30,DAY31"
044 + " from TP637 where CDK=? and WC=? and WS=? and KBCAL=? and KBREC='1'"
045 + " order by YM" ;
046
047 /**
048 * ?”ã¤ã®å¼•æ•°ã‚’å—ã‘å–りã?æ•´åˆæ?ãƒã‚§ãƒ?‚¯ã‚’行ã„ã¾ã™ã?
049 * 引数ã¯ã€å„クラスã«ã‚ˆã£ã¦ä½¿ç”¨ã™ã‚‹ã‚«ãƒ©ãƒ?(æ„味)ãŒç•°ãªã‚Šã¾ã™ã?
050 * ã¾ãŸã?ã™ã¹ã¦ã®å¼•æ•°ã‚’ãƒã‚§ãƒ?‚¯ã™ã‚‹ã®ã§ã¯ãªãã?クラス毎ã«ã€ãƒã‚§ãƒ?‚¯ã™ã‚‹
051 * カラãƒ??æ•°ã¯ã€ç•°ãªã‚Šã¾ã™ã?
052 * å¼•æ•°ãŒæ£ã—ããªã??åˆã?ã€HybsSystemException を発行ã—ã¾ã™ã?
053 *
054 * @param arg1 ãƒ??タベã?ス検索時ã?第?‘引数(CDK:ç”Ÿç”£å·¥å ´)
055 * @param arg2 ãƒ??タベã?ス検索時ã?第?’引数(WC:?·?£)
056 * @param arg3 ãƒ??タベã?ス検索時ã?第?“引数(WS:æ§‹æ?)
057 * @param arg4 ãƒ??タベã?ス検索時ã?第?”引数(KBCAL:カレンãƒ?Œºåˆ?
058 *
059 * @return 入力パラメータã«å¿œã˜ãŸé?列文å—å?(cdk,wc,ws,kbcal)
060 * @throws HybsSystemException CLNBK(カレンãƒ?Œºåˆ? ãŒè¨å®šã•れã¦ã?ªã??åˆã?
061 */
062 public String[] checkArgment( final String arg1,final String arg2,final String arg3,final String arg4 ) {
063 String cdk = arg1 ;
064 String wc = arg2 ;
065 String ws = arg3 ;
066 String kbcal = arg4 ;
067
068 if( kbcal == null || kbcal.length() == 0 ) {
069 String errMsg = "CalendarQuery_TP637 クラスã®ç¬¬?”引数 "
070 + "KBCAL(カレンãƒ?Œºåˆ?ãŒæŒ‡å®šã•れã¦ã?¾ã›ã‚“ã€?
071 + "CDK=" + cdk + ", WC=" + wc + ", WS=" + ws + ", KBCAL=" + kbcal ;
072 throw new HybsSystemException( errMsg );
073 }
074
075 // TP637 ?¤?¢å®šç¾©æ›¸ å‚ç?
076 switch( kbcal.charAt(0) ) {
077 case '1': wc = cdk; ws = cdk ; break ;
078 case '2': wc = cdk; ws = wc ; break ;
079 default : break ;
080 }
081
082 if( cdk == null || cdk.length() == 0 ||
083 wc == null || wc.length() == 0 ||
084 ws == null || ws.length() == 0 ) {
085 String errMsg = "CalendarQuery_TP637 クラスã®å¼•æ•°ã‚ーã®ã€?
086 + "CDK,WC,WS ãŒã?è¨å®šã•れã¦ã?¾ã›ã‚“ã€?
087 + "CDK=" + cdk + ", WC=" + wc + ", WS=" + ws + ", KBCAL=" + kbcal ;
088 throw new HybsSystemException( errMsg );
089 }
090
091 return new String[] { cdk,wc,ws,kbcal } ;
092 }
093
094 /**
095 * ãƒ??タベã?ス検索ã®ç‚ºã® Select æ–?‚’è¿”ã—ã¾ã™ã?
096 * 引数リストã¨ã¨ã‚‚ã«ã€ä½¿ç”¨ã—ã¾ã™ã?
097 *
098 * @return ãƒ??タベã?ス検索ã®ç‚ºã® Select æ–?
099 *
100 */
101 public String getQuery() {
102 return QUERY;
103 }
104
105 /**
106 * ãƒ??タベã?ã‚¹ã®æŒã¡æ–¹ã‚’指定ã—ã¾ã™ã?
107 * æŒã¡æ–¹ãŒãƒ•ラãƒ?ƒˆ(横æŒã¡=1??1ã®æ—¥ä»˜ã‚’カラãƒ?§æŒã¤)ã®å ´åˆã?trueã‚’è¿”ã—ã¾ã™ã?
108 * 縦æŒã¡(日付å˜ä½ã§ã€è¡Œæƒ…å ±ã¨ã—ã¦æŒã¤)å ´åˆã?ã€false ã§ã™ã?
109 *
110 * @return DBã®æŒã¡æ–¹ãŒãƒ•ラãƒ?ƒˆ(横æŒã¡=1??1ã®æ—¥ä»˜ã‚’カラãƒ?§æŒã¤)ã®å ´åˆã?true
111 *
112 */
113 public boolean isFlatTable() {
114 return true;
115 }
116 }