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.taglib;
017
018 import org.opengion.hayabusa.common.HybsSystem;
019 import org.opengion.hayabusa.html.ViewCrossTableParam;
020
021 import static org.opengion.fukurou.util.StringUtil.nval ;
022
023 import java.io.ObjectOutputStream;
024 import java.io.ObjectInputStream;
025 import java.io.IOException;
026
027 /**
028 * viewã‚¿ã‚°ã® viewFormType ã?HTMLCrossTable ã®å ´åˆã«ãƒ‘ラメータをè¨å®šã—ã¾ã™ã?
029 *
030 * クãƒã‚¹é›?¨ˆã‚’行ã†ã€ViewForm_HTMLCrossTable クラスã«å¯¾ã—ã¦ã€å„種パラメータã‚?
031 * è¨å®šã—ã¾ã™ã?
032 * パラメータãŒè¨å®šã•れã¦ã?ªã??åˆã?ã€ViewCrossTableParam ã®åˆæœŸå€¤ãŒä½¿ç”¨ã•れã¾ã™ã?
033 * (パラメータを使用ã™ã‚‹ã«ã¯ã€viewã‚¿ã‚°ã®useParam 属æ?ã‚’trueã«è¨å®šã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?)
034 *
035 * SELECTæ–??ã€CROSSé›?¨ˆæ©Ÿè?を利用ã—ã¦æ±‚ã‚ã¾ã™ã?ãã?ã¨ãã?フォーマットã?ã€?
036 * ヘッãƒ??1..N,縦,横,è¨?..N ã«ãªã‚Šã¾ã™ã?
037 * ヘッãƒ??部ã¯ã€è¤?•°æŒ?®šã§ãã¾ã™ãŒã€ãƒ‡ãƒ•ォルトã§ã¯ãƒ˜ãƒƒãƒ??NãŒã‚ーブレイクã™ã‚‹ã¨
038 * åˆè¨ˆç”¨ã®ãƒ˜ãƒƒãƒ??ãŒæŒ¿å…¥ã•れã¾ã™ã?ã¾ãŸã?ヘッãƒ??ã¯ã€å‰æ®µã¨åŒã˜å€¤ã®å ´åˆã?ã€è¡¨ç¤ºã—ã¾ã›ã‚“ã€?
039 * åˆè¨ˆã?ã€è¤?•°ä¸¦ã¹ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€sumNumber ã§æŒ?®šã—ã¦ãŠãå¿?¦ãŒã‚りã¾ã™ã?
040 *
041 * å?±žæ?ã¯ã€{@XXXX} 変数ãŒä½¿ç”¨ã§ãã¾ã™ã?
042 * ã“れã¯ã€ServletRequest ã‹ã‚‰ã€XXXX ã‚’ã‚ーã«å€¤ã‚’å–りå?ã?ã“ã?変数ã«å‰²ã‚Šå½“ã¦ã¾ã™ã?
043 * ã¤ã¾ã‚Šã?ã“ã?XXXXã‚’ã‚ーã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã™ã‚Œã?ã€ã“ã®å¤‰æ•°ã«å€¤ã‚’ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã?
044 *
045 * http://localhost/query.jsp?KEY1=VLA1&KEY2=VAL2
046 *
047 * ã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã€{@KEY1} ã¨ã™ã‚Œã°ã€?VAL1 ãŒã‚»ãƒ?ƒˆã•れã¾ã™ã?
048 *
049 * @og.formSample
050 * â—å½¢å¼ï¼?lt;og:crossParam breakColumn="ZZZ" noGroupColumns="AAA,BBB" sumNumber="2" />
051 * â—body?šãªã?
052 *
053 * â—Tag定義??
054 * <og:crossParam
055 * cubeXColumn ã€TAG】CUBE計算ã??‘ã¤ç›®(X)カラãƒ?‚’æŒ?®šã—ã¾ã?
056 * cubeYColumn ã€TAG】CUBE計算ã??’ã¤ç›®(Y)カラãƒ?‚’æŒ?®šã—ã¾ã?
057 * sumNumber ã€TAG】åˆè¨ˆå?ã®ã‚«ãƒ©ãƒ?•°ã‚’è¨å®šã—ã¾ã?
058 * breakColumn ã€TAG】ブレークã«ã‚ˆã‚Šãƒ˜ãƒƒãƒ??部をå?力ã•ã›ã‚‹ã‚«ãƒ©ãƒ?ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:ヘッãƒ??N)
059 * noGroupColumns ã€TAG】カラãƒ??ã‚’å‰æ®µã¨æ¯”è¼?—ã¦åŒã˜å ´åˆã§ã‚‚表示ã•ã›ã‚‹ã‚«ãƒ©ãƒ?ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?
060 * shokeiLabel ã€TAG】å?å°è¨ˆã?カラãƒ?«è¡¨ç¤ºã™ã‚‹ãƒ©ãƒ™ãƒ«IDを指定ã—ã¾ã?åˆæœŸå€¤:空æ–?—å?)
061 * gokeiLabel ã€TAG】å?åˆè¨ˆã?カラãƒ?«è¡¨ç¤ºã™ã‚‹ãƒ©ãƒ™ãƒ«IDを指定ã—ã¾ã?åˆæœŸå€¤:空æ–?—å?)
062 * cubeSortType ã€TAG】CUBE Y ã®åˆ—ã?ãƒ?ƒ€ãƒ¼ã®ã‚½ãƒ¼ãƒˆæ–¹å¼ã‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤:LOAD)
063 * gokeiSortDir ã€TAG】åˆè¨ˆè¡Œã?ソート有無ã¨ãã?æ–¹å‘[true:æ£æ–¹å?false:é€?–¹å?null:ソートã—ãªã„]を指定ã—ã¾ã?åˆæœŸå€¤:null)
064 * useHeaderColumn ã€TAG】ã?ãƒ?ƒ€ãƒ¼ã‚«ãƒ©ãƒ?«ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼ã€ã‚¨ãƒ?‚£ã‚¿ãƒ¼ã‚’é©ç”¨ã™ã‚‹ã‹ã‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤:false)
065 * useClassAdd ã€TAG】å„åˆ—æƒ…å ±ã®class属æ?ã«ã€ã‚«ãƒ©ãƒ?ãªã©ã‚’付与ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:false)
066 * firstClmGokei ã€TAG】åˆè¨ˆå?ã‚’CUBEã®å…ˆé?部åˆ?«å‡ºã™ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)
067 * saveTableId ã€TAG】クãƒã‚¹é›?¨ˆçµæžœã® DBTableModel をセーブã™ã‚‹ã‚»ãƒ?‚·ãƒ§ãƒ³ã‚ーワードをæŒ?®šã—ã¾ã?
068 * saveScope ã€TAG】クãƒã‚¹é›?¨ˆçµæžœã® DBTableModel をセーブã™ã‚?scope を指定ã—ã¾ã?
069 * useHeaderResource ã€TAG】ã?ãƒ?ƒ€ãƒ¼è¡¨ç¤ºã«ãƒ©ãƒ™ãƒ«ãƒªã‚½ãƒ¼ã‚¹ã‚’é©ç”¨ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:false)
070 * headerCodeColumn ã€TAG】ã?ãƒ?ƒ€ãƒ¼è¡¨ç¤ºã«åˆ©ç”¨ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’æŒã¤ã‚«ãƒ©ãƒ?‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤:空æ–?—å?)
071 * debug ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)
072 * />
073 *
074 * â—使用ä¾?
075 * ViewFormTag ã® viewFormType ãŒã?HTMLCrossTable ã®å ´åˆã«ä½¿ç”¨ã—ã¾ã™ã?
076 * useParam 属æ?ã‚’è¨å®šã—ã¦ãŠã‹ãªã?¨ã€ä½¿ç”¨ã•れã¾ã›ã‚“ã€?
077 * <og:view
078 * viewFormType = "HTMLCrossTable"
079 * command = "{@command}"
080 * startNo = "0"
081 * pageSize = "20"
082 * <b>useParam = "true"</b>
083 * >
084 * <og:crossParam
085 * breakColumn = "ZZZ" : ブレークã«ã‚ˆã‚Šãƒ˜ãƒƒãƒ??部をå?力ã•ã›ã‚‹ã‚«ãƒ©ãƒ?
086 * noGroupColumns = "AAA,BBB" : カラãƒ??ã‚’å‰æ®µã¨æ¯”è¼?—ã¦åŒã˜å ´åˆã§ã‚‚表示ã•ã›ã‚‹ã‚«ãƒ©ãƒ?
087 * cubeXColumn = "CUBE_X" : CUBE計算ã??‘ã¤ç›®(X)カラãƒ?‚’æŒ?®?
088 * cubeYColumn = "CUBE_Y" : CUBE計算ã??’ã¤ç›®(Y)カラãƒ?‚’æŒ?®?
089 * shokeiLabel = "SHOKEI" : 列å°è¨ˆã?カラãƒ?«è¡¨ç¤ºã™ã‚‹ãƒ©ãƒ™ãƒ«ID(åˆæœŸå€¤:SHOKEI)
090 * gokeiLabel = "GOKEI" : 列åˆè¨ˆã?カラãƒ?«è¡¨ç¤ºã™ã‚‹ãƒ©ãƒ™ãƒ«ID(åˆæœŸå€¤:GOKEI)
091 * sumNumber = "2" : åˆè¨ˆå?ã®ã‚«ãƒ©ãƒ?•°(åˆæœŸå€¤??
092 * cubeSortType = "NUMBER" : CUBE Y ã®åˆ—ã?ãƒ?ƒ€ãƒ¼ã®ã‚½ãƒ¼ãƒˆæ–¹å¼ã‚’æŒ?®š[STRING/NUMBER/LOAD]
093 * gokeiSortDir = "false" : åˆè¨ˆè¡Œã?ソート有無ã¨ãã?æ–¹å?æ£æ–¹å?é€?–¹å?を指定[true/false/null]
094 * firstClmGokei = "true" : åˆè¨ˆå?ã‚’CUBEã®å…ˆé?部åˆ?«å‡ºã™ã‹ã©ã?‹ã‚’指定[false/true/null]
095 * useHeaderColumn= "true" : ヘッãƒ??カラãƒ?«ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼ã€ã‚¨ãƒ?‚£ã‚¿ãƒ¼ã‚’é©ç”¨ã™ã‚‹ã‹ã©ã?‹ã‚’指定[false/true/null]
096 * saveTableId = "DEFAULT" : クãƒã‚¹é›?¨ˆçµæžœã® DBTableModel をセーブã™ã‚‹ã‚»ãƒ?‚·ãƒ§ãƒ³ã‚ーワードをæŒ?®?
097 * useClassAdd = "true" : String å??æƒ??ã®class属æ?ã«ã€ã‚«ãƒ©ãƒ?ãªã©ã‚’付与ã™ã‚‹ã‹ã©ã?‹ã‚’指定[false/true/null]
098 * />
099 * </og:view >
100 *
101 * @og.group ç”»é¢è¡¨ç¤º
102 *
103 * @version 4.0
104 * @author Kazuhiko Hasegawa
105 * @since JDK5.0,
106 */
107 public class ViewCrossParamTag extends ViewParamTag {
108 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */
109 private static final String VERSION = "5.5.5.0 (2012/07/28)" ;
110
111 private static final long serialVersionUID = 555020120728L ;
112
113 /**
114 * ã€TAG】ブレークã«ã‚ˆã‚Šãƒ˜ãƒƒãƒ??部をå?力ã•ã›ã‚‹ã‚«ãƒ©ãƒ?ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:ヘッãƒ??N)ã€?
115 *
116 * @og.tag
117 * CROSSé›?¨ˆã§æ±‚ã‚ãŸãƒ•ォーマットã?ã€ã?ヘッãƒ??1..N,縦,横,è¨?..N ã€ã§ã™ã?
118 * ヘッãƒ??部ã¯ã€è¤?•°æŒ?®šã§ãã¾ã™ãŒã€ãƒ‡ãƒ•ォルトã§ã¯ãƒ˜ãƒƒãƒ??NãŒã‚ーブレイクã™ã‚‹ã¨
119 * åˆè¨ˆç”¨ã®ãƒ˜ãƒƒãƒ??ãŒæŒ¿å…¥ã•れã¾ã™ã?
120 * ã“ã?ヘッãƒ??Nãã?ã‚‚ã?ãŒã?é›?¨ˆãƒ•ィールドã§ãªãã?å˜ãªã‚‹å±žæ?ã®å ´åˆã?ã€?
121 * ã‚ーブレイクã—ã¦æ¬²ã—ããªã?‚ºã€breakColumn="ヘッãƒ??N-1" を指定ã—ã¾ã™ã?
122 * åˆæœŸå€¤ã¯ã€?ヘッãƒ??N" ã§ã™ã?
123 *
124 * @param clm ブレークã•ã›ã‚‹ã‚«ãƒ©ãƒ?
125 */
126 public void setBreakColumn( final String clm ) {
127 putParam( ViewCrossTableParam.BREAK_COLUMN_KEY,
128 nval( getRequestParameter( clm ),null ) );
129 }
130
131 /**
132 * ã€TAG】カラãƒ??ã‚’å‰æ®µã¨æ¯”è¼?—ã¦åŒã˜å ´åˆã§ã‚‚表示ã•ã›ã‚‹ã‚«ãƒ©ãƒ?ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
133 *
134 * @og.tag
135 * CROSSé›?¨ˆã§æ±‚ã‚ãŸãƒ•ォーマットã?ã€ã?ヘッãƒ??1..N,縦,横,è¨?..N ã€ã§ã™ã?
136 * ヘッãƒ??部ã¯ã€ã‚ーブレイクã™ã‚‹éƒ½åº¦ã€ã?ãƒ?ƒ€ãƒ¼ã‚’å?力ã—ã¾ã™ã?ãれã¾ã§ã¯ã€?
137 * å??ãƒ?ƒ€ãƒ¼ã®å€¤ãŒã?剿®µ(åŒä¸?‚«ãƒ©ãƒ??å…ˆã?値)ã¨åŒã˜å ´åˆã?ã€ç©ºç™½ã«ã—ã¾ã™ã?
138 * ã“ã†ã™ã‚‹äº‹ã§ã€å?ã®ã‚°ãƒ«ãƒ¼ãƒ—化ãŒä¸?›®ã§åˆ¤ã‚Šã¾ã™ã?(åˆæœŸè¨å®?
139 * ã“ã?ヘッãƒ??ãŒã?é›?¨ˆãƒ•ィールドã§ãªãã?å˜ãªã‚‹å±žæ?ã®å ´åˆã?ã€?
140 * 空白ã§ã¯ãªãã?値ã¨ã—ã¦è¡¨ç¤ºã—ãŸã?‚ºã€ã‚°ãƒ«ãƒ¼ãƒ—化ã—ãªã?º‹ã‚’æŒ?®šã—ã¾ã™ã?
141 *
142 * @param clms グループ化(空白åŒ?ã—ãŸããªã?‚«ãƒ©ãƒ?カンマ区åˆ?‚Š)
143 */
144 public void setNoGroupColumns( final String clms ) {
145 putParam( ViewCrossTableParam.NO_GROUP_COLUMNS_KEY,
146 nval( getRequestParameter( clms ),null ) );
147 }
148
149 /**
150 * ã€TAG】åˆè¨ˆå?ã®ã‚«ãƒ©ãƒ?•°ã‚’è¨å®šã—ã¾ã?åˆæœŸå€¤:??ã€?
151 *
152 * @og.tag
153 * CROSSé›?¨ˆã§æ±‚ã‚ãŸãƒ•ォーマットã?ã€ã?ヘッãƒ??1..N,縦,横,è¨?..N ã€ã§ã™ã?
154 * åˆè¨ˆã?ã€è¤?•°ä¸¦ã¹ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€sumNumber ã§æŒ?®šã—ã¦ãŠãå¿?¦ãŒã‚りã¾ã™ã?
155 * åˆæœŸå€¤ã¯ã€? ã§ã™ã?
156 *
157 * @param no åˆè¨ˆå?ã®ã‚«ãƒ©ãƒ?•°(åˆæœŸå€¤??
158 */
159 public void setSumNumber( final String no ) {
160 putParam( ViewCrossTableParam.SUM_NUMBER_KEY,
161 nval( getRequestParameter( no ),"1" ) );
162 }
163
164 /**
165 * ã€TAG】å?å°è¨ˆã?カラãƒ?«è¡¨ç¤ºã™ã‚‹ãƒ©ãƒ™ãƒ«IDを指定ã—ã¾ã?åˆæœŸå€¤:空æ–?—å?)ã€?
166 *
167 * @og.tag
168 * å??ã®å°è¨ˆã?ラベルIDを登録ã—ã¾ã™ã?登録ã™ã‚‹æ–?—å?ã¯ã€ãƒ©ãƒ™ãƒ«ãƒªã‚½ãƒ¼ã‚¹ã«
169 * 定義ã—ã¦ãŠã„ã¦ä¸‹ã•ã??
170 * åˆæœŸå€¤ã¯ã€ç©ºæ–?—å?("")ã§ã™ã?
171 *
172 * @og.rev 3.7.1.1 (2005/05/31) åˆæœŸå€¤ã‚?"SHOKEI" ã«è¨å®šã—ã¾ã™ã?
173 *
174 * @param id 列å°è¨ˆã?カラãƒ?«è¡¨ç¤ºã™ã‚‹ãƒ©ãƒ™ãƒ«ID
175 */
176 public void setShokeiLabel( final String id ) {
177 String label = nval( getRequestParameter( id ),"SHOKEI" );
178 putParam( ViewCrossTableParam.SHOKEI_LABEL_KEY, getLabel( label ) );
179 }
180
181 /**
182 * ã€TAG】å?åˆè¨ˆã?カラãƒ?«è¡¨ç¤ºã™ã‚‹ãƒ©ãƒ™ãƒ«IDを指定ã—ã¾ã?åˆæœŸå€¤:空æ–?—å?)ã€?
183 *
184 * @og.tag
185 * å??ã®åˆè¨ˆã?ラベルIDを登録ã—ã¾ã™ã?登録ã™ã‚‹æ–?—å?ã¯ã€ãƒ©ãƒ™ãƒ«ãƒªã‚½ãƒ¼ã‚¹ã«
186 * 定義ã—ã¦ãŠã„ã¦ä¸‹ã•ã??
187 * åˆæœŸå€¤ã¯ã€ç©ºæ–?—å?("")ã§ã™ã?
188 *
189 * @og.rev 3.7.1.1 (2005/05/31) åˆæœŸå€¤ã‚?"GOKEI" ã«è¨å®šã—ã¾ã™ã?
190 *
191 * @param id 列åˆè¨ˆã?カラãƒ?«è¡¨ç¤ºã™ã‚‹ãƒ©ãƒ™ãƒ«ID
192 */
193 public void setGokeiLabel( final String id ) {
194 String label = nval( getRequestParameter( id ),"GOKEI" );
195 putParam( ViewCrossTableParam.GOKEI_LABEL_KEY, getLabel( label ) );
196 }
197
198 /**
199 * ã€TAG】CUBE計算ã??‘ã¤ç›®(X)カラãƒ?‚’æŒ?®šã—ã¾ã™ã?
200 *
201 * @og.tag
202 * 列方å‘ã?ã‚ーã¨ãªã‚‹ã‚«ãƒ©ãƒ?を指定ã—ã¾ã™ã?
203 * åˆæœŸå€¤ã¯ã€äº’æ›æ€§ã®é–¢ä¿‚よりã?sumNumber よりé€?¨ˆç®—ã—ã¾ã™ã?
204 *
205 * @og.rev 3.5.5.9 (2004/06/07) æ–°è¦è¿½åŠ?
206 *
207 * @param cubeX 列åˆè¨ˆã?カラãƒ?«è¡¨ç¤ºã™ã‚‹ãƒ©ãƒ™ãƒ«ID
208 */
209 public void setCubeXColumn( final String cubeX ) {
210 putParam( ViewCrossTableParam.CUBE_X_COLUMN_KEY,
211 nval( getRequestParameter( cubeX ),null ) );
212 }
213
214 /**
215 * ã€TAG】CUBE計算ã??’ã¤ç›®(Y)カラãƒ?‚’æŒ?®šã—ã¾ã™ã?
216 *
217 * @og.tag
218 * 行方å‘ã?ã‚ーã¨ãªã‚‹ã‚«ãƒ©ãƒ?を指定ã—ã¾ã™ã?
219 * åˆæœŸå€¤ã¯ã€äº’æ›æ€§ã®é–¢ä¿‚よりã?sumNumber よりé€?¨ˆç®—ã—ã¾ã™ã?
220 *
221 * @og.rev 3.5.5.9 (2004/06/07) æ–°è¦è¿½åŠ?
222 *
223 * @param cubeY 列åˆè¨ˆã?カラãƒ?«è¡¨ç¤ºã™ã‚‹ãƒ©ãƒ™ãƒ«ID
224 */
225 public void setCubeYColumn( final String cubeY ) {
226 putParam( ViewCrossTableParam.CUBE_Y_COLUMN_KEY,
227 nval( getRequestParameter( cubeY ),null ) );
228 }
229
230 /**
231 * ã€TAG】CUBE Y ã®åˆ—ã?ãƒ?ƒ€ãƒ¼ã®ã‚½ãƒ¼ãƒˆæ–¹å¼ã‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤:LOAD)ã€?
232 *
233 * @og.tag
234 * CUBEã®ãƒ˜ãƒƒãƒ??ã«å¯¾å¿œã™ã‚‹ã‚«ãƒ©ãƒ??をソート表示ã™ã‚‹å ´åˆã?æ–¹å¼ã‚’æŒ?®šã—ã¾ã™ã?
235 * 種類ã¨ã—ã¦ã€STRING,NUMBER,LOAD,ãŒã‚りã¾ã™ã?
236 * åˆæœŸå€¤(æŒ?®šç„¡ã?ã¯ã€LOAD(å–り込ã¿é ?«ã‚»ãƒ?ƒˆ)ã§ã™ã?
237 *
238 * @og.rev 3.5.6.3 (2004/07/12) æ–°è¦è¿½åŠ?
239 *
240 * @param cubeSortType CUBE Y ã®åˆ—ã?ãƒ?ƒ€ãƒ¼ã®ã‚½ãƒ¼ãƒˆæ–¹å¼[STRING,NUMBER,LOAD]
241 */
242 public void setCubeSortType( final String cubeSortType ) {
243 putParam( ViewCrossTableParam.CUBE_SORT_TYPE_KEY,
244 nval( getRequestParameter( cubeSortType ),null ) );
245 }
246
247 /**
248 * ã€TAG】åˆè¨ˆè¡Œã?ソート有無ã¨ãã?æ–¹å‘[true:æ£æ–¹å?false:é€?–¹å?null:ソートã—ãªã„]を指定ã—ã¾ã?åˆæœŸå€¤:null)ã€?
249 *
250 * @og.tag
251 * æœ?‚‚æœ?¾Œã?åˆè¨ˆã‚«ãƒ©ãƒ?«ã‚½ãƒ¼ãƒˆã‚’行ã†ã‹ã©ã?‹ã€ãã®æ™‚ã?æ–¹å‘ã‚’æŒ?®šã—ã¾ã™ã?
252 * true/false 以外ã?æ–?—å?ã§ã¯ã€ã‚½ãƒ¼ãƒˆã‚’行ã„ã¾ã›ã‚“。trueã¯ã€æ£æ–¹å?æ˜??)ã§ã€?
253 * falseãŒé?æ–¹å?é™é?)ã«ãªã‚Šã¾ã™ã?
254 * åˆæœŸå€¤(æŒ?®šç„¡ã?ã¯ã€ã‚½ãƒ¼ãƒˆã—ãªã?null)ã§ã™ã?
255 *
256 * @og.rev 3.5.6.3 (2004/07/12) æ–°è¦è¿½åŠ?
257 *
258 * @param gokeiSortDir åˆè¨ˆè¡Œã?ソート有無ã¨ãã?æ–¹å‘[true:æ£æ–¹å?false:é€?–¹å?null:ソートã—ãªã„]
259 */
260 public void setGokeiSortDir( final String gokeiSortDir ) {
261 putParam( ViewCrossTableParam.GOKEI_SORT_DIR_KEY,
262 nval( getRequestParameter( gokeiSortDir ),null ) );
263 }
264
265 /**
266 * ã€TAG】åˆè¨ˆå?ã‚’CUBEã®å…ˆé?部åˆ?«å‡ºã™ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)ã€?
267 *
268 * @og.tag
269 * åˆè¨ˆå?を最終å?ã«å‡ºåŠ›ã™ã‚‹ã‹ã€CUBEã®å…ˆé?列ã«å‡ºåŠ›ã™ã‚‹ã‹ã‚’指定ã—ã¾ã™ã?
270 * trueãŒæŒ‡å®šã•れãŸå ´åˆã?CUBEã®å…ˆé?列ã«å‡ºåŠ›ã—ã¾ã™ã?
271 * åˆæœŸå€¤(false)ã¯åˆè¨ˆå?を最終å?ã«å‡ºåŠ›ã—ã¾ã™ã?
272 *
273 * @og.rev 5.0.0.3 (2009/09/22) æ–°è¦è¿½åŠ?
274 *
275 * @param firstClmGokei åˆè¨ˆå?ã‚’CUBEã®å‡ºåŠ›å?æ‰?true:å…ˆé?列ã«å‡ºåŠ?false:æœ?µ‚å?ã«å‡ºåŠ›]
276 */
277 public void setFirstClmGokei( final String firstClmGokei ) {
278 putParam( ViewCrossTableParam.FIRST_CLM_GOKEI_KEY,
279 nval( getRequestParameter( firstClmGokei ),"false" ) );
280 }
281
282 /**
283 * ã€TAG】ã?ãƒ?ƒ€ãƒ¼ã‚«ãƒ©ãƒ?«ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼ã€ã‚¨ãƒ?‚£ã‚¿ãƒ¼ã‚’é©ç”¨ã™ã‚‹ã‹ã‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤:false)ã€?
284 *
285 * @og.tag
286 * ヘッãƒ??カラãƒ?«ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼ã€ã‚¨ãƒ?‚£ã‚¿ãƒ¼ã‚’é©ç”¨ã™ã‚‹ã‹ã‚’æŒ?®šã—ã¾ã™ã?
287 * trueãŒæŒ‡å®šã•れãŸå ´åˆã?ã€ã?ãƒ?ƒ€ãƒ¼éƒ¨åˆ??値ãã?ã‚‚ã?をカラãƒ?ã¨ã—ã¦æ‰±ã?¾ã™ã?
288 * リソースãŒå˜åœ¨ã—ãªã??åˆã?ã€ãƒ©ãƒ™ãƒ«ã®ã¿ã‚’å„カラãƒ??値ã§ç½®ãæ›ãˆã¾ã™ã?
289 * åˆæœŸå€¤(æŒ?®šç„¡ã?ã¯ã€ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼ã€ã‚¨ãƒ?‚£ã‚¿ãƒ¼ã‚’é©ç”¨ã—ãªã?false)ã§ã™ã?
290 *
291 * @og.rev 4.0.0.0 (2007/11/27) æ–°è¦è¿½åŠ?
292 * @og.rev 5.2.2.0 (2010/11/01) ã‚ーã«ã€ViewCrossTableParam.USE_HEADER_COLUMN を使用ã™ã‚‹ã‚ˆã†ã«ä¿®æ£
293 *
294 * @param useHeaderColumn ヘッãƒ??カラãƒ?«ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼ã€ã‚¨ãƒ?‚£ã‚¿ãƒ¼ã‚’é©ç”¨ã™ã‚‹ã‹ã©ã?‹
295 */
296 public void setUseHeaderColumn( final String useHeaderColumn ) {
297 // putParam( "useHeaderColumn",
298 putParam( ViewCrossTableParam.USE_HEADER_COLUMN,
299 nval( getRequestParameter( useHeaderColumn ),"false" ) );
300 }
301
302 /**
303 * ã€TAG】å„åˆ—æƒ…å ±ã®class属æ?ã«ã€ã‚«ãƒ©ãƒ?ãªã©ã‚’付与ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:false)ã€?
304 *
305 * @og.tag
306 * åˆ—æƒ…å ±ã®é›?¨ˆå?ã«å¯¾ã—ã¦ã€class 属æ?を付与ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã™ã?
307 * class属æ?ã¯ã€ãã®åˆ—ã?オリジナルã®å±žæ?åã¨ã€ãƒ©ãƒ™ãƒ«åã?æ–?—å?ã‚’è¨å®šã—ã¾ã™ã?
308 * 例ãˆã°ã€?›†è¨ˆè¡Œã?計カラãƒ?Œè¤?•°ã‚ã‚‹å ´åˆã?ã€ãれãžã‚Œã«è‰²ã‚’指定ã—ã¦ã€ã‚¼ãƒ–ラ模様を
309 * è¨å®šã§ãã¾ã™ã?ã¾ãŸã?ラベル(表示ヘッãƒ??)ã‚‚è¨å®šã•れるã®ã§ã€ç‰¹åˆ¥ãªåˆ—ã?ã¿æŒ?®šã™ã‚‹ã“ã¨ã‚?
310 * å¯èƒ½ã«ãªã‚Šã¾ã™ã?
311 * ※ 特殊対応:cssãªã©ã§æŒ?®šã§ãã‚‹IDã‚„CLASS属æ?ã¯ã€å?é æ–?—ãŒæ•°å—ã?å ´åˆã?ã€?
312 * 無効ã«ãªã‚Šã¾ã™ã?(ã¤ã¾ã‚Šã?効ãã¾ã›ã‚“ã€?
313 * 表示ヘッãƒ??ã¯ã€å¹´æœˆã‚„ã€ç¤¾å“¡ç•ªå·(æ•°å?ãªã©ã®ã‚±ãƒ¼ã‚¹ã‚‚ã‚りã¾ã™ã?ãã“ã§ã€å?é ãŒæ•°å—ã?
314 * å ´åˆã?ã€?x"(å°æ–‡å—ã?x)ã‚’è?å‹•çš„ã«é ã«è¿½åŠ?—ã¾ã™ã?ã“ã?処ç??ã€ViewForm_HTMLCrossTable
315 * ã§è¡Œã„ã¾ã™ã?
316 *
317 * @og.rev 5.2.2.0 (2010/11/01) æ–°è¦è¿½åŠ?
318 *
319 * @param useClassAdd å??æƒ??ã®class属æ?ã«ã€ã‚«ãƒ©ãƒ?ãªã©ã‚’付与ã™ã‚‹ã‹ã©ã?‹
320 */
321 public void setUseClassAdd( final String useClassAdd ) {
322 putParam( ViewCrossTableParam.USE_CLASS_ADD,
323 nval( getRequestParameter( useClassAdd ),"false" ) );
324 }
325
326 /**
327 * ã€TAG】クãƒã‚¹é›?¨ˆçµæžœã® DBTableModel をセーブã™ã‚‹ã‚»ãƒ?‚·ãƒ§ãƒ³ã‚ーワードをæŒ?®šã—ã¾ã™ã?
328 *
329 * @og.tag
330 * 検索ã®ã¿ã®å ´åˆã?ã€ä½•ã‚‚è¨å®šã—ã¾ã›ã‚“ã€?XCELç‰å¤–部ã«ã‚¯ãƒã‚¹é›?¨ˆã?å½¢ã§
331 * å–り出ã—ãŸã??åˆã«ã€è¨å®šã—ã¾ã™ã?
332 * "DEFAULT" ã¨ã?†æ–?—å?を指定ã™ã‚‹ã¨ã€å?部ã§ã¯ã€HybsSystem.TBL_MDL_KEY ã?
333 * è¨å®šã•れã¾ã™ã?(DEFAULT ã¨ã?†æ–?—å?ã«è¨å®šã•れるã‚ã‘ã§ã¯ã‚りã¾ã›ã‚“ã€?
334 * ãªãŠã?DEFAULT を使用ã™ã‚‹å ´åˆã?ã€æ¤œç´¢çµæžœã® DBTbleModel ã‚’ã¤ã¶ã™ã“ã¨ã«ãªã‚Šã¾ã?
335 * ã®ã§ã€NEXT ç‰ã?使ãˆã¾ã›ã‚“ã€?BTableModel ã®ãƒ??タを利用ã—㟠forward ç‰ã‚‚
336 * 使用ã§ãã¾ã›ã‚“ã®ã§ã€ååˆ?”注æ„ãã?•ã??
337 * DEFAULT 以外ã?æ–?—å?ã®å ´åˆã?ã€æŒ‡å®šã—ãŸæ–‡å—å?ãã?ã‚‚ã?ãŒã‚ーã«ãªã‚Šã¾ã™ã?
338 * ä»–ã?ã‚»ãƒ?‚·ãƒ§ãƒ³ã‚ーã¨åŒã˜ã«ã™ã‚‹ã¨å‹•作ãŒä¸å®‰å®šã«ãªã‚Šã¾ã™ã?ã§ã€ä½¿ç”¨ã™ã‚‹å ´åˆã?ã€?
339 * "CROSS_TABLE_SAVE_KEY" を推奨致ã—ã¾ã™ã?
340 * æŒ?®šã—ãªã??åˆã?ã€ã‚»ãƒ?‚·ãƒ§ãƒ³ã«ã‚»ãƒ¼ãƒ–ã•れã¾ã›ã‚“ã€?検索ã•れãŸã¾ã¾)
341 * 通常ã€EXCEL出力ç‰ã‚’行ã†å ´åˆã?ã€DBTableModel をセーブã™ã‚‹å¿?¦ãŒã‚りã¾ã™ãŒã€?
342 * scope="session" ã«ã‚»ãƒ¼ãƒ–ã™ã‚‹ã¨ã€PREV,NEXT ãŒä½¿ãˆãªããªã‚Šã¾ã™ã?ã“れã¯ã€?
343 * クãƒã‚¹é›?¨ˆæ™‚ã«å…??カラãƒ?Œè¡¨å½¢å¼ã?別ã®ã‚«ãƒ©ãƒ?«ç½®ãæ›ãˆã‚‰ã‚Œã‚‹ãŸã‚ã§ã™ã?
344 * scope="request" ã§ã¯ã€ã‚¨ãƒ©ãƒ¼ã¯ç™ºç”Ÿã—ãªããªã‚Šã¾ã™ãŒã€å¤–部ã«å–り出ã›ãªããªã‚Šã¾ã™ã?
345 *
346 * @og.rev 5.2.2.0 (2010/11/01) ã‚ーã«ã€ViewCrossTableParam.SAVE_TABLEID_KEY を使用ã™ã‚‹ã‚ˆã†ã«ä¿®æ£
347 *
348 * @param id sessionã«ç™»éŒ²ã™ã‚‹æ™‚ã? ID
349 */
350 public void setSaveTableId( final String id ) {
351 String tableId = nval( getRequestParameter( id ),null );
352 if( "DEFAULT".equals( tableId ) ) {
353 tableId = HybsSystem.TBL_MDL_KEY;
354 }
355 putParam( ViewCrossTableParam.SAVE_TABLEID_KEY , tableId );
356 // putParam( "saveTableId", tableId );
357 }
358
359 /**
360 * ã€TAG】クãƒã‚¹é›?¨ˆçµæžœã® DBTableModel をセーブã™ã‚?scope を指定ã—ã¾ã™ã?
361 *
362 * @og.tag
363 * スコープã? (request,page,session,applicaton) ãŒã‚りã¾ã™ãŒã€request ã?session ã?
364 * é€šå¸¸é¸æŠžã•れã¾ã™ã?
365 * ã¾ãŸã?ã“ã?è¨å®šãŒæœ‰åйã«ãªã‚‹ã«ã¯ã€saveTableId を指定ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?
366 * saveTableId を指定ã—ãªã?¨ã€ãã‚‚ãも書ãå?ã•れãªã?Ÿã‚ã?scope ã¯ç„¡è¦–ã•れã¾ã™ã?
367 *
368 * scope="session" ã«ã‚»ãƒ¼ãƒ–ã™ã‚‹ã¨ã€PREV,NEXT ãŒä½¿ãˆãªããªã‚Šã¾ã™ã?ã“れã¯ã€?
369 * クãƒã‚¹é›?¨ˆæ™‚ã«å…??カラãƒ?Œè¡¨å½¢å¼ã?別ã®ã‚«ãƒ©ãƒ?«ç½®ãæ›ãˆã‚‰ã‚Œã‚‹ãŸã‚ã§ã™ã?
370 * scope="request" ã§ã¯ã€ã‚¨ãƒ©ãƒ¼ã¯ç™ºç”Ÿã—ãªããªã‚Šã¾ã™ãŒã€å¤–部ã«å–り出ã›ãªããªã‚Šã¾ã™ã?
371 * 何もæŒ?®šã—ãªã??åˆã?ã€viewã‚¿ã‚°ã«æŒ?®šã•れãŸã‚ªãƒªã‚¸ãƒŠãƒ«ã®ã‚¹ã‚³ãƒ¼ãƒ—ã«æ›¸ãå?ã•れã¾ã™ã?
372 * ãã†ã§ç„¡ã??åˆã?ã€æŒ‡å®šã?ã‚¹ã‚³ãƒ¼ãƒ—ã«æ›¸ãå?ã•れã¾ã™ã?
373 *
374 * @og.rev 5.2.2.0 (2010/11/01) æ–°è¦è¿½åŠ?
375 *
376 * @param scope scopeã«ç™»éŒ²ã™ã‚‹æ™‚ã? ã‚ー
377 * @see #setSaveTableId( String )
378 */
379 public void setSaveScope( final String scope ) {
380 putParam( ViewCrossTableParam.SAVE_SCOPE_KEY,
381 nval( getRequestParameter( scope ), null ) );
382 }
383
384 /**
385 * ã€TAG】ã?ãƒ?ƒ€ãƒ¼ã‚«ãƒ©ãƒ?«ãƒ©ãƒ™ãƒ«ãƒªã‚½ãƒ¼ã‚¹ã‚’利用ã™ã‚‹ã‹ã‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤:false)ã€?
386 *
387 * @og.tag
388 * HTMLCrossTableViewã§ã€ã?ãƒ?ƒ€ãƒ¼ã‚«ãƒ©ãƒ??表示ã«ãƒ©ãƒ™ãƒ«ãƒªã‚½ãƒ¼ã‚¹ã‚’利用ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã™ã?
389 * trueãŒæŒ‡å®šã•れãŸå ´åˆã?ã€ã?ãƒ?ƒ€ãƒ¼éƒ¨ã®å€¤ã®ãƒ©ãƒ™ãƒ«ã§è¡¨ç¤ºã—ã¾ã™ã?
390 * åˆæœŸå€¤(æŒ?®šç„¡ã?ã¯ã€åˆ©ç”¨ã—ãªã?false)ã§ã™ã?
391 *
392 * @og.rev 5.5.5.0 (2012/07/28) æ–°è¦è¿½åŠ?
393 *
394 * @param useHeaderResource ヘッãƒ??ã®ãƒ©ãƒ™ãƒ«ã«ãƒªã‚½ãƒ¼ã‚¹ã‚’利用ã™ã‚‹ã‹ã©ã?‹
395 */
396 public void setUseHeaderResource( final String useHeaderResource ) {
397 // putParam( "useHeaderColumn",
398 putParam( ViewCrossTableParam.USE_HEADER_RSC,
399 nval( getRequestParameter( useHeaderResource ),"false" ) );
400 }
401
402 /**
403 * ã€TAG】ã?ãƒ?ƒ€ãƒ¼ã®ãƒ©ãƒ™ãƒ«ã«åˆ©ç”¨ã™ã‚‹ã‚³ãƒ¼ãƒ‰ãƒªã‚½ãƒ¼ã‚¹ã‚’指定ã—ã¾ã™ã?
404 *
405 * @og.tag
406 * ã“ã?値を指定ã™ã‚‹ã¨ä¸Šéƒ¨ãƒ˜ãƒƒãƒ??ã®è¡¨ç¤ºã‚’対象カラãƒ??コードã«å¯¾å¿œã™ã‚‹ãƒ©ãƒ™ãƒ«ã§è¡¨ç¤ºã—ã¾ã™ã?
407 * カラãƒ?ƒªã‚½ãƒ¼ã‚¹ãŒMENUã‚??DBMENUã®ã‚ˆã†ã«Selectionã‚’è¿”ã™å½¢ã§ã‚ã‚‹å¿?¦ãŒã‚りã¾ã™ã?
408 * åˆæœŸå€¤ã¯nullã§ã™ã?
409 *
410 * @og.rev 5.5.5.0 (2012/07/28) æ–°è¦è¿½åŠ?
411 *
412 * @param headerCode コードリソースã®ã‚ー
413 */
414 public void setHeaderCodeColumn( final String headerCode ) {
415 putParam( ViewCrossTableParam.HEADER_CODE_KEY,
416 nval( getRequestParameter( headerCode ),null ) );
417 }
418
419 /**
420 * ã‚¿ã‚°ã®åç§°ã‚’ã?è¿”ã—ã¾ã™ã?
421 * 自åˆ??身ã®ã‚¯ãƒ©ã‚¹åよりã?自動的ã«å–り出ã›ãªã?Ÿã‚ã?ã“ã?メソãƒ?ƒ‰ã‚’オーãƒã?ライドã—ã¾ã™ã?
422 *
423 * @og.rev 4.0.0.0 (2005/01/31) æ–°è¦è¿½åŠ?
424 *
425 * @return ã‚¿ã‚°ã®åç§°
426 */
427 @Override
428 protected String getTagName() {
429 return "crossParam" ;
430 }
431
432 /**
433 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºæ›¸ãè¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰
434 *
435 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ?
436 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクトã?ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•れã¾ã›ã‚“ã€?
437 *
438 * @param strm ObjectOutputStreamオブジェク�
439 * @throws IOException 入出力エラーãŒç™ºç”Ÿã—ãŸå?å?
440 */
441 private void writeObject( final ObjectOutputStream strm ) throws IOException {
442 strm.defaultWriteObject();
443 }
444
445 /**
446 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºèªã¿è¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰
447 *
448 * ã“ã“ã§ã¯ã€transient 宣è¨?•れãŸå†?ƒ¨å¤‰æ•°ã®å†??åˆæœŸåŒ–ãŒå¿?¦ãªãƒ•ィールドã?ã¿è¨å®šã—ã¾ã™ã?
449 *
450 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ?
451 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクトã?ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•れã¾ã›ã‚“ã€?
452 *
453 * @param strm ObjectInputStreamオブジェク�
454 * @see #release2()
455 * @throws IOException シリアライズã«é–¢ã™ã‚‹å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå?å?
456 * @throws ClassNotFoundException クラスを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ããªã‹ã£ãŸå?å?
457 */
458 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException {
459 strm.defaultReadObject();
460 }
461 }