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.db; 017 018 import java.util.HashMap; 019 import java.util.HashSet; 020 import java.util.Map; 021 import java.util.Set; 022 023 import org.opengion.fukurou.util.StringUtil; 024 025 /** 026 * エãƒ?‚£ãƒ?ƒˆè¨å®šæƒ…å ±ã‚’ç®¡ç?™ã‚‹ãŸã‚ã?ãƒ??タ管ç?‚¯ãƒ©ã‚¹ã§ã™ã? 027 * ã“ã“ã§ç®¡ç?•れるå?ƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãƒ¼ã®æ„味ã¯ä»¥ä¸‹ã?通りã§ã™ã? 028 * (å?‚¤ãƒ³ãƒ?ƒƒã‚¯ã‚¹ç•ªå·ã¯ã€å?部çš?«ç®¡ç?•れã¦ã?‚‹ã‚¤ãƒ³ãƒ?ƒƒã‚¯ã‚¹ç•ªå·ã‚’æ„味ã—ã¾ã? 029 * 030 * ・0:エãƒ?‚£ãƒ?ƒˆå? 031 * ã“ã?エãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクトã?åç§°ã§ã™ã? 032 * ・1:表示カラãƒ? 033 * 表示対象ã¨ãªã‚‹ã‚«ãƒ©ãƒ?¸?¦§ã§ã™ã?カンマ区åˆ?‚Šã§æŒ?®šã—ã¾ã™ã? 034 * ã“ã?ä¸?¦§ã«ã¯ã€?žè¡¨ç¤ºã®ã‚«ãƒ©ãƒ?‚‚åˆã‚ã›ã¦ç®¡ç?•れã?éžè¡¨ç¤ºã‚«ãƒ©ãƒ?«ã¤ã?¦ã¯ã€? 035 * カラãƒ?ã®å…ˆé?ã«"!"ã‚’ã¤ã‘ã¾ã™ã? 036 * ä¾? AAA,!BBB,CCC â‡?AAA,CCCã®é ?«è¡¨ç¤º(BBBã¯éžè¡¨ç¤º) 037 * ・2:é›?¨ˆã‚«ãƒ©ãƒ? 038 * å??ã‚’SUMã™ã‚‹å¯¾è±¡ã¨ãªã‚‹ã‚«ãƒ©ãƒ?§ã™ã?(カンマ区åˆ?‚Šã§è¤?•°æŒ?®šãŒå¯èƒ½) 039 * ã“ã“ã§æŒ?®šã•れãŸã‚«ãƒ©ãƒ??数値型ã§ã‚ã‚‹å¿?¦ãŒã‚りã¾ã™ã? 040 * SQLæ§‹æ–‡ã«ãŠã‘ã‚‹ã?SUM関数ã®å¼•æ•°ã¨ã—ã¦æŒ?®šã™ã‚‹ã‚«ãƒ©ãƒ?«ç›¸å½“ã—ã¾ã™ã? 041 * ・3:グループカラãƒ? 042 * é›?¨ˆã‚«ãƒ©ãƒ??å??をグルーピングã™ã‚‹ãŸã‚ã®ã‚«ãƒ©ãƒ?§ã™ã?(カンマ区åˆ?‚Šã§è¤?•°æŒ?®šãŒå¯èƒ½) 043 * SQLæ§‹æ–‡ã«ãŠã‘ã‚‹ã?GROUP BYã«æŒ?®šã™ã‚‹ã‚«ãƒ©ãƒ?«ç›¸å½“ã—ã¾ã™ã? 044 * ・4:å°è¨ˆã‚«ãƒ©ãƒ? 045 * é›?¨ˆã‚«ãƒ©ãƒ??å??ã«å¯¾ã—ã?å°è¨ˆè¡Œã‚’ä»˜åŠ ã™ã‚‹ãŸã‚ã®ãƒ–レイクã‚ーを指定ã—ã¾ã™ã?(カンマ区åˆ?‚Šã§è¤?•°æŒ?®šãŒå¯èƒ½) 046 * ・5:åˆè¨ˆã‚«ãƒ©ãƒ? 047 * é›?¨ˆã‚«ãƒ©ãƒ??å??ã«å¯¾ã—ã?åˆè¨ˆè¡Œã‚’ä»˜åŠ ã™ã‚‹ãŸã‚ã®ãƒ–レイクã‚ーを指定ã—ã¾ã™ã?(カンマ区åˆ?‚Šã§è¤?•°æŒ?®šãŒå¯èƒ½) 048 * ・6:ç·åˆè¨ˆãƒ•ラグ 049 * é›?¨ˆã‚«ãƒ©ãƒ??å??ã«å¯¾ã—ã?ç·åˆè¨ˆè¡Œã‚’ä»˜åŠ ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã™ã?(0以å¤?追åŠ?™ã‚?0:追åŠ?—ãªã? 050 * ・7:表示é ?‚«ãƒ©ãƒ? 051 * ãƒ??ã‚¿ã®è¡¨ç¤ºé ?‚’ãã?é ?•ªã«ã‚«ãƒ³ãƒžåŒºåˆ?‚Šã§æŒ?®šã—ã¾ã™ã? 052 * カラãƒ?ã®å…ˆé?ã«"!"ã‚’ã¤ã‘ãŸå ´åˆã?ã€ãã®ã‚«ãƒ©ãƒ??é™é?ã§è¡¨ç¤ºã•れã¾ã™ã? 053 * SQLæ§‹æ–‡ã«ãŠã‘ã‚‹ã?orderbyå¥ã«ç›¸å½“ã—ã¾ã™ã? 054 * ・8:共通フラグ 055 * ã“ã?エãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクトãŒã€å?é€?全ユーザー公é–?エãƒ?‚£ãƒ?ƒˆã‹ã©ã?‹ã‚? 056 * æŒ?®šã—ã¾ã™ã?(0以å¤?å…±é€?0:個人ã®ã¿) 057 * 058 * @og.rev 5.3.6.0 (2011/06/01) æ–°è¦è¿½åŠ? 059 * 060 * @version 5.0 061 * @author Hiroki Nakamura 062 * @since JDK6.0, 063 */ 064 public class DBEditConfig { 065 066 private static final int EDIT_KEY_NAME = 0; 067 private static final int EDIT_KEY_VIEW = 1; 068 private static final int EDIT_KEY_SUM = 2; 069 private static final int EDIT_KEY_GROUP = 3; 070 private static final int EDIT_KEY_SUBTOTAL = 4; 071 private static final int EDIT_KEY_TOTAL = 5; 072 private static final int EDIT_KEY_GRANDTOTAL= 6; 073 private static final int EDIT_KEY_ORDERBY = 7; 074 private static final int EDIT_KEY_COMMON = 8; 075 076 private static final String[] EDIT_KEYS 077 = { "NAME", "VIEW", "SUM", "GROUP", "SUBTOTAL", "TOTAL", "GRANDTOTAL", "ORDERBY", "COMMON" }; 078 079 private static final int EDIT_KEYS_LENGTH = EDIT_KEYS.length; 080 081 private final String[] editVals = new String[EDIT_KEYS_LENGTH]; 082 083 private int sumClmCount; 084 private int groupClmCount; 085 private int subTotalClmCount; 086 private int totalClmCount; 087 private final Map<String,String> orderMap = new HashMap<String,String>(); 088 private String orderByDescClms; 089 090 /** 091 * コンストラクタ 092 * 093 * 空ã®ã‚¨ãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクトを構築ã—ã¾ã™ã? 094 */ 095 public DBEditConfig() { 096 } 097 098 /** 099 * コンストラクタ 100 * 101 * å?¨®ãƒ‘ラメーターを指定ã—ã¦ã‚¨ãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクトを構築ã—ã¾ã™ã? 102 * 103 * @param editName エãƒ?‚£ãƒ?ƒˆåç§° 104 * @param viewClms ç”»é¢è¡¨ç¤ºã‚«ãƒ©ãƒ? 105 * @param sumClms é›?¨ˆã‚«ãƒ©ãƒ? 106 * @param groupClms グループカラãƒ? 107 * @param subTotalClms å°è¨ˆã‚«ãƒ©ãƒ? 108 * @param totalClms åˆè¨ˆã‚«ãƒ©ãƒ? 109 * @param useGrandTotal ç·åˆè¨ˆè¡Œã‚’追åŠ?™ã‚‹ã‹(1:追åŠ?™ã‚?1以å¤?追åŠ?—ãªã? 110 * @param orderByClms 表示é ? 111 * @param isCommon 共通エãƒ?‚£ãƒ?ƒˆã‹ã©ã?‹(1:å…±é€?1以å¤?個人ã®ã¿) 112 */ 113 public DBEditConfig( final String editName, final String viewClms 114 , final String sumClms, final String groupClms 115 , final String subTotalClms, final String totalClms 116 , final String useGrandTotal, final String orderByClms 117 , final String isCommon ) { 118 119 editVals[EDIT_KEY_NAME] = editName; 120 editVals[EDIT_KEY_VIEW] = viewClms; 121 editVals[EDIT_KEY_SUM] = sumClms; 122 editVals[EDIT_KEY_GROUP] = groupClms; 123 editVals[EDIT_KEY_SUBTOTAL] = subTotalClms; 124 editVals[EDIT_KEY_TOTAL] = totalClms; 125 editVals[EDIT_KEY_GRANDTOTAL] = useGrandTotal; 126 editVals[EDIT_KEY_ORDERBY] = orderByClms; 127 editVals[EDIT_KEY_COMMON] = isCommon; 128 129 init(); 130 } 131 132 /** 133 * コンストラクタ 134 * 135 * å?¨®ãƒ‘ラメーターをé?åˆ—ã§æŒ?®šã—ã¦ã‚¨ãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクトを構築ã—ã¾ã™ã? 136 * å?ƒ‘ラメータã®é…å?インãƒ?ƒƒã‚¯ã‚¹ã¯ã€{@link #getEditKeys(String,String)}ã§è¿”ã•れる 137 * ã‚ーä¸?¦§ã®é…å?インãƒ?ƒƒã‚¯ã‚¹ã¨ä¸??ã—ã¾ã™ã? 138 * å?ƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãƒ¼ã®æ„味ã«ã¤ã?¦ã¯ã€ã‚¯ãƒ©ã‚¹ã®Javadoc{@link DBEditConfig}ã‚’å‚ç…§ã—ã¦ä¸‹ã•ã?? 139 * 140 * @param editVals è¨å®šå?(é…å?) 141 * @see DBEditConfig 142 * @see #getEditKeys(String,String) 143 **/ 144 public DBEditConfig( final String[] editVals ) { 145 System.arraycopy( editVals, 0, this.editVals, 0, editVals.length ); 146 init(); 147 } 148 149 /** 150 * エãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクト作æ?時ã?åˆæœŸåŒ–å?ç?§ã™ã? 151 * コンストラクタã®å¼•æ•°ã«åŸºã¥ãå?部変数ã®åˆæœŸè¨å®šã‚’行ã„ã¾ã™ã? 152 */ 153 private void init() { 154 sumClmCount = StringUtil.csv2Array( editVals[EDIT_KEY_SUM] ).length; 155 groupClmCount = StringUtil.csv2Array( editVals[EDIT_KEY_GROUP] ).length; 156 subTotalClmCount = StringUtil.csv2Array( editVals[EDIT_KEY_SUBTOTAL] ).length; 157 totalClmCount = StringUtil.csv2Array( editVals[EDIT_KEY_TOTAL] ).length; 158 159 if( editVals[EDIT_KEY_ORDERBY] != null ) { 160 StringBuilder buf = new StringBuilder(); 161 String[] ary = StringUtil.csv2Array( editVals[EDIT_KEY_ORDERBY] ); 162 for( int i=0; i<ary.length ;i++ ) { 163 String str = ary[i]; 164 if( str.startsWith( "!" ) ) { 165 str = str.substring( 1 ); 166 if( buf.length() > 0 ) { buf.append( "," ); } 167 buf.append( str ); 168 } 169 orderMap.put( str, String.valueOf( i+1 ) ); 170 } 171 orderByDescClms = buf.toString(); 172 } 173 else { 174 orderByDescClms = null; 175 } 176 } 177 178 /** 179 * ã‚ーé…å?ã‹ã‚‰ç”»é¢IDã¨ã‚¨ãƒ?‚£ãƒ?ƒˆåç§°ã®ãƒšã‚¢ã®ä¸?¦§ã‚’å–りå?ã—ã¾ã™ã? 180 * 181 * ã‚ーé…å?ã‹ã‚‰"EDIT_NAME_"ã§å§‹ã¾ã‚‹ã‚ーを検索ã—ã?"EDIT_NAME_(ç”»é¢ID)_(エãƒ?‚£ãƒ?ƒˆå?" 182 * ã¨è¨?†å½¢å¼ã«åŸºã¥ãã?ç”»é¢IDã¨ã‚¨ãƒ?‚£ãƒ?ƒˆåç§°ã®ãƒšã‚¢ã‚’å–りå?ã—ã¾ã™ã? 183 * 184 * ç”»é¢IDã¨ã‚¨ãƒ?‚£ãƒ?ƒˆåç§°ã¯é…å?ã¨ã—ã¦ä¿å˜ã•ã‚?インãƒ?ƒƒã‚¯ã‚¹ç•ªå·ã¯ 0:ç”»é¢IDã€?:エãƒ?‚£ãƒ?ƒˆå? 185 * ãã?ä¸?¦§ãŒã•れらã«é…å?ã«æ ¼ç´ã•れã¦è¿”ã•れã¾ã™ã? 186 * 187 * @param keys ã‚ーé…å? 188 * 189 * @return ç”»é¢IDã¨ã‚¨ãƒ?‚£ãƒ?ƒˆåç§°ã®ãƒšã‚¢ã®ä¸?¦§ 190 */ 191 public static String[][] getKeySet( final String[] keys ) { 192 if( keys == null || keys.length == 0 ) { return null; } 193 194 Set<String[]> keySet = new HashSet<String[]>(); 195 for( String key : keys ) { 196 if ( key != null && key.startsWith( "EDIT_NAME_" ) ) { 197 String guikeyEditName = key.substring( ( "EDIT_NAME_" ).length() ); 198 if( guikeyEditName.indexOf( '_' ) >= 0 ) { 199 String guikey = guikeyEditName.substring( 0, guikeyEditName.indexOf( '_' ) ); 200 String editName = guikeyEditName.substring( ( guikey + "_" ).length() ); 201 if( guikey != null && guikey.length() > 0 && editName != null && editName.length() > 0 ) { 202 String[] set = { guikey, editName }; 203 keySet.add( set ); 204 } 205 } 206 } 207 } 208 // return keySet.toArray( new String[0][] ); 209 return keySet.toArray( new String[keySet.size()][] ); 210 } 211 212 /** 213 * ç”»é¢IDã€ã‚¨ãƒ?‚£ãƒ?ƒˆåã‚’ã‚ーã«ã€ã‚¨ãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクトã?å?¨å®šå?ã® 214 * 管ç?‚ーを指定ã—ã¾ã™ã? 215 * 216 * エãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクトã§ç®¡ç?•れるå?‚ーã«å¯¾ã—ã¦ã€? 217 * "EDIT_[KEY]_(ç”»é¢ID)_(エãƒ?‚£ãƒ?ƒˆå?"ã¨ã?†ã‚ーを生æˆã—ã€ã“れをé…å?ã«ã—ã¦è¿”ã—ã¾ã™ã? 218 * 219 * @param guikey ç”»é¢ID 220 * @param editName エãƒ?‚£ãƒ?ƒˆå? 221 * 222 * @return エãƒ?‚£ãƒ?ƒˆè¨å®šã‚’管ç?™ã‚‹ãŸã‚ã?ã‚ーä¸?¦§ 223 */ 224 public static String[] getEditKeys( final String guikey, final String editName ) { 225 String[] rtn = new String[EDIT_KEYS_LENGTH]; 226 for( int i=0; i<EDIT_KEYS_LENGTH; i++ ) { 227 rtn[i] = "EDIT_" + EDIT_KEYS[i] + "_" + guikey + "_" + editName; 228 } 229 return rtn; 230 } 231 232 /** 233 * エãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクトã?å?¨å®šå?ã‚’é?列ã«ã—ã¦è¿”ã—ã¾ã™ã? 234 * 235 * é…å?ã®ã‚¤ãƒ³ãƒ?ƒƒã‚¯ã‚¹ç•ªå·ã¯ã€{@link #getEditKeys(String,String)}ã§ç”Ÿæ?ã•れるã‚ー㮠236 * インãƒ?ƒƒã‚¯ã‚¹ç•ªå·ã¨ä¸??ã—ã¾ã™ã? 237 * 238 * @return エãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクトã?è¨å®šå?ä¸?¦§(é…å?) 239 * @see #getEditKeys(String,String) 240 */ 241 public String[] getEditVals() { 242 String[] rtn = new String[editVals.length]; 243 System.arraycopy( editVals, 0, rtn, 0, editVals.length ); 244 return rtn; 245 } 246 247 /** 248 * エãƒ?‚£ãƒ?ƒˆåã‚’è¿”ã—ã¾ã™ã? 249 * 250 * @return エãƒ?‚£ãƒ?ƒˆå? 251 */ 252 public String getEditName() { 253 return editVals[EDIT_KEY_NAME]; 254 } 255 256 /** 257 * 表示カラãƒ?ã®ä¸?¦§ã‚’カンマ区åˆ?‚Šã§è¿”ã—ã¾ã™ã? 258 * éžè¡¨ç¤ºã‚«ãƒ©ãƒ?«ã¤ã?¦ã¯ã€ã‚«ãƒ©ãƒ?ã®å…ˆé?ã«"!"ã‚’ã¤ã‘ã¦è¿”ã•れã¾ã™ã? 259 * ä¾? AAA,!BBB,CCC â‡?AAA,CCCã®é ?«è¡¨ç¤º(BBBã¯éžè¡¨ç¤º) 260 * 261 * @return 表示カラãƒ?ä¸?¦§(カンマ区åˆ?‚Š) 262 */ 263 public String getViewClms() { 264 return editVals[EDIT_KEY_VIEW]; 265 } 266 267 /** 268 * é›?¨ˆã‚«ãƒ©ãƒ??ä¸?¦§ã‚’カンマ区åˆ?‚Šã§è¿”ã—ã¾ã™ã? 269 * 270 * @return é›?¨ˆã‚«ãƒ©ãƒ??ä¸?¦§(カンマ区åˆ? 271 */ 272 public String getSumClms() { 273 return editVals[EDIT_KEY_SUM]; 274 } 275 276 /** 277 * é›?¨ˆå?ç?‚’行ã†ã‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 278 * ã“れã¯ã€?›†è¨ˆã‚«ãƒ©ãƒ?ŒæŒ?®šã•れã¦ã?‚‹ã‹ã?ã¨åŒã˜æ„味ã§ã™ã? 279 * 280 * @return true:対象 false:éžå¯¾è±¡ 281 */ 282 public boolean useSum() { 283 return ( editVals[EDIT_KEY_SUM] != null && editVals[EDIT_KEY_SUM].length() > 0 ); 284 } 285 286 /** 287 * æŒ?®šã•れãŸã‚«ãƒ©ãƒ?Œé›?¨ˆå¯¾è±¡ã®ã‚«ãƒ©ãƒ?‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 288 * 289 * @param clm カラãƒ? 290 * 291 * @return true:対象 false:éžå¯¾è±¡ 292 */ 293 public boolean isSumClm( final String clm ) { 294 if( clm == null || editVals[EDIT_KEY_SUM] == null ) { return false; } 295 return ( ( ","+editVals[EDIT_KEY_SUM]+"," ).indexOf( ","+clm+"," ) >= 0 ); 296 } 297 298 /** 299 * é›?¨ˆã‚«ãƒ©ãƒ??カラãƒ?•°ã‚’è¿”ã—ã¾ã™ã? 300 * 301 * @return é›?¨ˆã‚«ãƒ©ãƒ??カラãƒ?•° 302 */ 303 public int getSumClmCount() { 304 return sumClmCount; 305 } 306 307 /** 308 * グループカラãƒ??ä¸?¦§ã‚’カンマ区åˆ?‚Šã§è¿”ã—ã¾ã™ã? 309 * 310 * @return グループカラãƒ??ä¸?¦§(カンマ区åˆ? 311 */ 312 public String getGroupClms() { 313 return editVals[EDIT_KEY_GROUP]; 314 } 315 316 /** 317 * グループå?ç?‚’行ã†ã‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 318 * ã“れã¯ã€ã‚°ãƒ«ãƒ¼ãƒ—カラãƒ?ŒæŒ?®šã•れã¦ã?‚‹ã‹ã?ã¨åŒã˜æ„味ã§ã™ã? 319 * 320 * @return true:対象 false:éžå¯¾è±¡ 321 */ 322 public boolean useGroup() { 323 return ( editVals[EDIT_KEY_GROUP] != null && editVals[EDIT_KEY_GROUP].length() > 0 ); 324 } 325 326 /** 327 * æŒ?®šã•れãŸã‚«ãƒ©ãƒ?Œã‚°ãƒ«ãƒ¼ãƒ—対象ã®ã‚«ãƒ©ãƒ?‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 328 * 329 * @param clm カラãƒ? 330 * 331 * @return true:対象 false:éžå¯¾è±¡ 332 */ 333 public boolean isGroupClm( final String clm ) { 334 if( clm == null || editVals[EDIT_KEY_GROUP] == null ) { return false; } 335 return ( ( ","+editVals[EDIT_KEY_GROUP]+"," ).indexOf( ","+clm+"," ) >= 0 ); 336 } 337 338 /** 339 * グループカラãƒ??カラãƒ?•°ã‚’è¿”ã—ã¾ã™ã? 340 * 341 * @return グループカラãƒ??カラãƒ?•° 342 */ 343 public int getGroupClmCount() { 344 return groupClmCount; 345 } 346 347 /** 348 * å°è¨ˆã‚«ãƒ©ãƒ??ä¸?¦§ã‚’カンマ区åˆ?‚Šã§è¿”ã—ã¾ã™ã? 349 * 350 * @return å°è¨ˆã‚«ãƒ©ãƒ??ä¸?¦§(カンマ区åˆ? 351 */ 352 public String getSubTotalClms() { 353 return editVals[EDIT_KEY_SUBTOTAL]; 354 } 355 356 /** 357 * å°è¨ˆå?ç?‚’行ã†ã‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 358 * ã“れã¯ã€å°è¨ˆã‚«ãƒ©ãƒ?ŒæŒ?®šã•れã¦ã?‚‹ã‹ã?ã¨åŒã˜æ„味ã§ã™ã? 359 * 360 * @return true:対象 false:éžå¯¾è±¡ 361 */ 362 public boolean useSubTotal() { 363 return ( editVals[EDIT_KEY_SUBTOTAL] != null && editVals[EDIT_KEY_SUBTOTAL].length() > 0 ); 364 } 365 366 /** 367 * æŒ?®šã•れãŸã‚«ãƒ©ãƒ?Œå°è¨ˆå¯¾è±¡ã®ã‚«ãƒ©ãƒ?‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 368 * 369 * @param clm カラãƒ? 370 * 371 * @return true:対象 false:éžå¯¾è±¡ 372 */ 373 public boolean isSubTotalClm( final String clm ) { 374 if( clm == null || editVals[EDIT_KEY_SUBTOTAL] == null ) { return false; } 375 return ( ( ","+editVals[EDIT_KEY_SUBTOTAL]+"," ).indexOf( ","+clm+"," ) >= 0 ); 376 } 377 378 /** 379 * å°è¨ˆã‚«ãƒ©ãƒ??カラãƒ?•°ã‚’è¿”ã—ã¾ã™ã? 380 * 381 * @return グループカラãƒ??カラãƒ?•° 382 */ 383 public int getSubTotalClmCount() { 384 return subTotalClmCount; 385 } 386 387 /** 388 * åˆè¨ˆã‚«ãƒ©ãƒ??ä¸?¦§ã‚’カンマ区åˆ?‚Šã§è¿”ã—ã¾ã™ã? 389 * 390 * @return åˆè¨ˆã‚«ãƒ©ãƒ??ä¸?¦§(カンマ区åˆ? 391 */ 392 public String getTotalClms() { 393 return editVals[EDIT_KEY_TOTAL]; 394 } 395 396 /** 397 * åˆè¨ˆå?ç?‚’行ã†ã‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 398 * ã“れã¯ã€åˆè¨ˆã‚«ãƒ©ãƒ?ŒæŒ?®šã•れã¦ã?‚‹ã‹ã?ã¨åŒã˜æ„味ã§ã™ã? 399 * 400 * @return true:対象 false:éžå¯¾è±¡ 401 */ 402 public boolean useTotal() { 403 return ( editVals[EDIT_KEY_TOTAL] != null && editVals[EDIT_KEY_TOTAL].length() > 0 ); 404 } 405 406 /** 407 * æŒ?®šã•れãŸã‚«ãƒ©ãƒ?Œåˆè¨ˆå¯¾è±¡ã®ã‚«ãƒ©ãƒ?‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 408 * 409 * @param clm カラãƒ? 410 * 411 * @return true:対象 false:éžå¯¾è±¡ 412 */ 413 public boolean isTotalClm( final String clm ) { 414 if( clm == null || editVals[EDIT_KEY_TOTAL] == null ) { return false; } 415 return ( ( ","+editVals[EDIT_KEY_TOTAL]+"," ).indexOf( ","+clm+"," ) >= 0 ); 416 } 417 418 /** 419 * åˆè¨ˆã‚«ãƒ©ãƒ??カラãƒ?•°ã‚’è¿”ã—ã¾ã™ã? 420 * 421 * @return グループカラãƒ??カラãƒ?•° 422 */ 423 public int getTotalClmCount() { 424 return totalClmCount; 425 } 426 427 /** 428 * ç·åˆè¨ˆè¡Œã‚’ä»˜åŠ ã™ã‚‹ã‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 429 * 430 * @return true:対象 false:éžå¯¾è±¡ 431 */ 432 public boolean useGrandTotal() { 433 return StringUtil.nval( editVals[EDIT_KEY_GRANDTOTAL], false ); 434 } 435 436 /** 437 * 表示é ?‚«ãƒ©ãƒ?‚’カンマ区åˆ?‚Šã§è¿”ã—ã¾ã™ã? 438 * カラãƒ??並ã³é ?Œè¡¨ç¤ºé ?¨ã—ã¦ã®å„ªå…ˆé?ã«ãªã‚Šã¾ã™ã? 439 * ã¾ãŸã?é™é?ã§è¡¨ç¤ºã™ã‚‹ã‚«ãƒ©ãƒ?«ã¤ã?¦ã¯ã€ã‚«ãƒ©ãƒ?ã®å…ˆé?ã«"!"ãŒä»˜åŠ ã•れã¾ã™ã? 440 * 441 * @return 標準é?カラãƒ??ä¸?¦§(カンマ区åˆ? 442 */ 443 public String getOrderByClms() { 444 return editVals[EDIT_KEY_ORDERBY]; 445 } 446 447 /** 448 * æŒ?®šã•れãŸã‚«ãƒ©ãƒ??表示é ??優先番å·ã‚’è¿”ã—ã¾ã™ã? 449 * æŒ?®šã‚«ãƒ©ãƒ?Œæ¨™æº–ã¨ã—ã¦æŒ?®šã•れã¦ã?ªã??åˆã?ã€?"(ゼãƒã‚¹ãƒˆãƒªãƒ³ã‚°)ã‚’è¿”ã—ã¾ã™ã? 450 * 451 * @param clm カラãƒ? 452 * 453 * @return 表示é ??å„ªå…ˆç•ªå· 454 */ 455 public String getOrder( final String clm ) { 456 if( clm == null || editVals[EDIT_KEY_ORDERBY] == null ) { return ""; } 457 458 String rtn = orderMap.get( clm ); 459 return ( rtn == null ? "" : rtn ); 460 } 461 462 /** 463 * æŒ?®šã•れãŸã‚«ãƒ©ãƒ??表示é ?Œ‡å®šãŒé™é?ã§ã‚ã‚‹ã‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 464 * æ¨™æº–ã¨æŒ?®šã•れã¦ã?ªã??åˆã?ã€falseã‚’è¿”ã—ã¾ã™ã? 465 * 466 * @param clm カラãƒ? 467 * 468 * @return true:é™é? false:æ˜?? 469 */ 470 public boolean isOrderByDesc( final String clm ) { 471 if( clm == null || orderByDescClms == null ) { return false; } 472 return ( ( ","+orderByDescClms+"," ).indexOf( ","+clm+"," ) >= 0 ); 473 } 474 475 /** 476 * ä¸¦ã³æ›¿ãˆå?ç?‚’行ã†ã‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 477 * ã“れã¯ã€è¡¨ç¤ºé ?‚«ãƒ©ãƒ?ŒæŒ?®šã•れã¦ã?‚‹ã‹ã?ã¨åŒã˜æ„味ã§ã™ã? 478 * 479 * @return true:対象 false:éžå¯¾è±¡ 480 */ 481 public boolean useOrderBy() { 482 return ( editVals[EDIT_KEY_ORDERBY] != null && editVals[EDIT_KEY_ORDERBY].length() > 0 ); 483 } 484 485 /** 486 * ã“ã?エãƒ?‚£ãƒ?ƒˆè¨å®šã‚ªãƒ–ジェクトãŒã€å?é€?全ユーザー公é–?エãƒ?‚£ãƒ?ƒˆã? 487 * ã©ã?‹ã‚’è¿”ã—ã¾ã™ã? 488 * 489 * @return 0以å¤?å…±é€?0:個人ã®ã¿ 490 */ 491 public boolean isCommon() { 492 return StringUtil.nval( editVals[EDIT_KEY_COMMON], false ); 493 } 494 }