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 org.opengion.hayabusa.common.HybsSystem;
019 import org.opengion.hayabusa.common.HybsSystemException;
020 import org.opengion.fukurou.util.StringUtil;
021 import org.opengion.fukurou.util.HybsEntry;
022
023 import java.util.List;
024 import java.util.ArrayList;
025 import java.util.Set;
026 import java.util.LinkedHashSet;
027
028 /**
029 * ç”»é¢æƒ??ã®å–å¾—ã?為ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースã§ã™ã?
030 *
031 * {@GUI.XXXX} ã§ã€XXXX 部ã«ã€GUIInfo オブジェクトã§å®šç¾©ã•れã¦ã?‚‹
032 * 属æ?æƒ??ã‚’å–りå?ã™ã“ã¨ãŒå?æ¥ã¾ã™ã?
033 *
034 * ・KEY ç”»é¢ID
035 * ・ADDRESS 実行アドレス
036 * ・REALADDRESS 実行実アドレス
037 * ・SEQUENCE 表示é ?
038 * ・GROUPS メニュグルー�
039 * ・CLASSIFY メニュåˆ?¡?
040 * ・LEVEL メニュ階層番å·
041 * ・LABEL ç”»é¢åç§°
042 * ・NAME ç”»é¢åç§°(=SNAME)
043 * ・SNAME ç”»é¢åç§°(short)
044 * ・LNAME ç”»é¢åç§°(long)
045 * ・ROLES ãƒãƒ¼ãƒ«ã‚º
046 * ・MODE アクセスモードå?(mr,mw,-r,-w ã®ç¾??)
047 * ・TARGET ターゲãƒ?ƒˆ
048 * ・PARAM è¨å®šå?(パラメータ)
049 * ・KBLINK リンク区�
050 * ・DESCRIPTION 概è¦èª¬æ˜?
051 * ・IMAGEKEY イメージã‚ー
052 * ・DYUPD 更新日�
053 * ・ISREAD èªå–り許å¯[true/false]
054 * ・ISWRITE 書込ã¿è¨±å¯[true/false]
055 *
056 * @og.group リソース管ç?
057 *
058 * @version 4.0
059 * @author Kazuhiko Hasegawa
060 * @since JDK5.0,
061 */
062 public final class GUIInfo implements Comparable<GUIInfo> { // 4.3.3.6 (2008/11/15) Genericsè¦å‘Šå¯¾å¿?
063
064 private static final String YOYAKU = "|KEY|ADDRESS|REALADDRESS|SEQUENCE"
065 + "|GROUPS|CLASSIFY|LEVEL|LABEL|NAME"
066 + "|SNAME|LNAME|ROLES|MODE|TARGET"
067 // + "|PARAM|KBLINK|DESCRIPTION|" ;
068 // + "|PARAM|KBLINK|DESCRIPTION|DYUPD|" ;
069 + "|PARAM|KBLINK|DESCRIPTION|DYUPD|IMAGEKEY|" ; // 5.5.2.5 (2012/05/21) イメージアイコン
070
071 private final GUIData guiData ;
072 private final LabelData labelData ;
073 private final String[] groupKeys ;
074
075 private final boolean menuFlag ; // メニューã¸ã®è¡¨ç¤ºå¯å¦å±žæ?
076 private final boolean writeFlag ; // 書ãè¾¼ã¿è¨±å¯å±žæ?
077 // private final boolean fileDFlag ; // 4.3.0.0 (2008/07/04) ファイル出力許å¯å±žæ?
078 // private final boolean fileUFlag ; // 4.3.0.0 (2008/07/04) ファイル入力許å¯å±žæ?
079 private final byte bitMode ; // ビットモーãƒ?UserInfo åŠ?‘³æ¸ˆã¿)
080 private final boolean pulldownFlag; // 4.3.3.0 (2008/10/01) 強制プルãƒ?‚¦ãƒ³åŒ–属æ?
081
082 private final GUIAccessCount accessCount ; // ã“ã?ç”»é¢ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹çµ±è¨ˆã‚’管ç?—ã¾ã™ã?
083
084 private int level = 0;
085
086 private final Set<String> nextGui = new LinkedHashSet<String>(); // 5.2.3.0 (2010/12/01) アクセス履æ´ç®¡ç?
087
088 /**
089 * コンストラクター
090 *
091 * 引数㮠bitMode ã¯ã€UserInfo ã¨åŠ?‘³æ¸ˆã¿
092 *
093 * @og.rev 4.3.0.0 (2008/07/04) ファイル入出力制御追�
094 * @og.rev 4.3.3.0 (2008/10/01) 強制プルãƒ?‚¦ãƒ³ãƒ¢ãƒ¼ãƒ‰è¿½åŠ?
095 *
096 * @param guiData ç”»é¢ãƒ??タオブジェクãƒ?D
097 * @param labelData ラベル�?タオブジェク�
098 * @param bitMode ビットモードé?åˆ?"--:000","-r:001","-w:010","mr:101","mw:110" ã«å¯¾å¿œã—ãŸæ•°å?0,1,2,5,6)
099 */
100 public GUIInfo( final GUIData guiData ,
101 final LabelData labelData ,
102 final byte bitMode ) {
103 this.guiData = guiData;
104 this.labelData = labelData;
105 groupKeys = StringUtil.csv2Array( guiData.getGroups() );
106
107 menuFlag = RoleMode.isMenu( bitMode );
108 writeFlag = RoleMode.isWrite( bitMode );
109 pulldownFlag = RoleMode.isPulldown( bitMode ); // 4.3.3.0 (2008/10/01)
110 // fileDFlag = RoleMode.isDownload( bitMode );
111 // fileUFlag = RoleMode.isUpload( bitMode );
112 accessCount = new GUIAccessCount( guiData.getGuiKey() ) ;
113 this.bitMode = bitMode ;
114
115 level = guiData.getGuiLevel();
116 }
117
118 /**
119 * ç”»é¢æƒ?? ç”»é¢ID ã‚’å–å¾—ã—ã¾ã™ã?
120 *
121 * @return ç”»é¢ID
122 */
123 public String getKey() {
124 return guiData.getGuiKey();
125 }
126
127 /**
128 * 実行アドレスæƒ??ã‚’å–å¾—ã—ã¾ã™ã?
129 *
130 * @return 実行アドレス
131 */
132 public String getAddress() {
133 return guiData.getAddress();
134 }
135
136 /**
137 * トップã‹ã‚‰ã?実行アドレスæƒ??ã‚’å–å¾—ã—ã¾ã™ã?
138 * コンãƒ?‚ストåã¨ãƒªãƒ³ã‚¯åŒºåˆ?±žæ?を利用ã—ã¦ã€ã‚µãƒ¼ãƒã?トップã‹ã‚‰ã?アドレスã‚?
139 * è¿”ã—ã¾ã™ã?ãŸã ã—ã?GUIリソースã«ã€http://??ã¾ãŸã?ã€???ã‹ã‚‰å§‹ã¾ã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯
140 * ãã?ã¾ã¾ã€ãªã«ã‚‚変æ›ã›ãšã«è¿”ã—ã¾ã™ã?
141 * 実アドレスã«ã¯ã€param属æ?ã®æƒ??ã‚’ä»˜åŠ ã—ã¾ã™ã?param属æ?ã¯ã€æŽ¥ç¶šæ–‡å—を用ã?šã«
142 * ãã?ã¾ã¾é€£çµã•れã¾ã™ã?ã§ã€?index.jsp?AAA=XX&BBB=YY ã¨ã?†æ„Ÿã˜ã§ "/" ã‹ã‚‰
143 * ã¯ã˜ã‚ã¾ã™ã?
144 *
145 * http://AAAA � http://AAAA
146 * ../../AAAA/ � ../../AAAA/
147 * AAAA â‡? /CONTEXT_NAME/KBLINK/AAAA/ param ãªã?
148 * AAAA â‡? /CONTEXT_NAME/KBLINK/AAAA/index.jsp?AAA=XX&BBB=YY param ã‚り
149 *
150 * @og.rev 3.5.5.0 (2004/03/12) æ–°è¦è¿½åŠ?
151 * @og.rev 4.0.0.0 (2005/01/31) param属æ?追åŠ?
152 *
153 * @return 実行実アドレス
154 */
155 public String getRealAddress() {
156 return guiData.getRealAddress();
157 }
158
159 /**
160 * トップã‹ã‚‰ã?実行アドレスæƒ??ã‚’å–å¾—ã—ã¾ã™ã?
161 * コンãƒ?‚ストåã¨ãƒªãƒ³ã‚¯åŒºåˆ?±žæ?を利用ã—ã¦ã€ã‚µãƒ¼ãƒã?トップã‹ã‚‰ã?アドレスã‚?
162 * è¿”ã—ã¾ã™ã?ãŸã ã—ã?GUIリソースã«ã€http://??ã¾ãŸã?ã€???ã‹ã‚‰å§‹ã¾ã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯
163 * ãã?ã¾ã¾ã€ãªã«ã‚‚変æ›ã›ãšã«è¿”ã—ã¾ã™ã?
164 * 実アドレスã«ã¯ã€param属æ?ã®æƒ??ã‚’ä»˜åŠ ã—ã¾ã™ã?param属æ?ã¯ã€æŽ¥ç¶šæ–‡å—を用ã?šã«
165 * ãã?ã¾ã¾é€£çµã•れã¾ã™ã?ã§ã€?index.jsp?AAA=XX&BBB=YY ã¨ã?†æ„Ÿã˜ã§ "/" ã‹ã‚‰
166 * ã¯ã˜ã‚ã¾ã™ã?
167 * ã¾ãŸã?ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æœ?¾ŒãŒã‚¹ãƒ©ãƒ?‚·ãƒ¥(/)ã§çµ‚äº?—ã¦ã?‚‹å ´åˆã?ã€page属æ?を追åŠ?—ã¾ã™ã?
168 *
169 * http://AAAA � http://AAAA
170 * ../../AAAA/ � ../../AAAA/
171 * AAAA â‡? /CONTEXT_NAME/KBLINK/AAAA/ param ãªã?
172 * AAAA â‡? /CONTEXT_NAME/KBLINK/AAAA/index.jsp?AAA=XX&BBB=YY param ã‚り
173 *
174 * @og.rev 4.0.0.0 (2005/01/31) æ–°è¦è¿½åŠ?param属æ?追åŠ?
175 *
176 * @param page 実行ã?ージ(index.jsp ãªã©)
177 *
178 * @return 実行実アドレス
179 */
180 public String getRealAddress( final String page ) {
181 return guiData.getRealAddress( page );
182 }
183
184 /**
185 * ç”»é¢ã®è¡¨ç¤ºé ?‚’å–å¾—ã—ã¾ã™ã?
186 *
187 * @return ç”»é¢ã®è¡¨ç¤ºé ?
188 */
189 public int getSequence() {
190 return guiData.getSeqno();
191 }
192
193 /**
194 * ç”»é¢ã®éšŽå±¤ç•ªå·(レベル)ã‚’å–å¾—ã—ã¾ã™ã?
195 * ç”»é¢éšŽå±¤ã¯ã€?
196 * ã€?:予ç´?šŽå±¤(å°?¥çš?«ã‚¿ãƒ–ブラウザ対応時ã«ä½¿ç”¨
197 * ã€?:トップ階層(通常ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®åˆ?¡žã¨ã—ã¦è¡¨ç¤ºã•れã¾ã™ã?)
198 * ã€?:é¸æŠžéšŽå±¤(é€šå¸¸ã®æŠ˜ã‚ŠãŸãŸã¿ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®ç”»é¢é¸æŠžæ™‚ã«ä½¿ç”¨ã•れã¾ã™ã?)
199 * ã€?以ä¸?下ä½éšŽå±¤(通常ã®é¸æŠžãƒ¡ãƒ‹ãƒ¥ãƒ¼ã¨ã—ã¦ã€?¼‘段下ã’ã¦è¡¨ç¤ºã•れã¾ã™ã?)
200 * ã§ã™ã?
201 * ãªãŠã?ã“れらã?æ„味ã¯ã€å®Ÿéš›ã«ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’作æ?/表示ã™ã‚‹ã‚¯ãƒ©ã‚¹ã«ä¾å˜ã—ã¾ã™ã?
202 *
203 * @return ç”»é¢ã®è¡¨ç¤ºé ?
204 */
205 public int getLevel() {
206 return level;
207 }
208
209 /**
210 * ç”»é¢ã®éšŽå±¤ç•ªå·(レベル)ã‚’ã‚¢ãƒ??ã—ã¾ã™ã?
211 *
212 * ã“れã¯ã€ãƒ¬ãƒ™ãƒ«ãŒï¼“ã?å ´å?階層時ã?éš?—メニュー)をレベル?’ã«
213 * ã™ã‚‹ã“ã¨ã§ã€å¸¸ã«è¦‹ãˆã¦ã?‚‹ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã«æ ¼ä¸Šã’ã—ã¾ã™ã?
214 * 具体的ã«ã¯ã€è¨å®šå?ãŒéš ã—メニューã®å ´åˆã«ã€ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã¨ãƒ¬ãƒ™ãƒ«?’ã¸æ ¼ä¸Šã’
215 * ã™ã‚‹ã“ã¨ã§ã€å?人å˜ä½ã§ã€?ŽåŽ»ã®å±¥æ´ã«å¿œã˜ãŸãƒ¡ãƒ‹ãƒ¥ãƒ¼é…ç½®ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã?
216 */
217 public void setLevelUp() {
218 // if( level == 3 ) { level = 2; }
219 if( level == 4 ) { level = 3; } // 4.0.0.0 (2007/10/30)
220 }
221
222 /**
223 * ç”»é¢æƒ?? メニュグループã?オリジナルã‚ー ã‚’å–å¾—ã—ã¾ã™ã?
224 * メニュグループã?ã€ã‚«ãƒ³ãƒžåŒºåˆ?‚Šã§è¤?•°ç™»éŒ²ã§ãã¾ã™ã?
225 *
226 * @return メニュåˆ?¡žã?ã‚ー
227 */
228 public String getGroups() {
229 return guiData.getGroups();
230 }
231
232 /**
233 * æŒ?®šã?æ–?—å?ãŒã‚°ãƒ«ãƒ¼ãƒ—ã«å«ã¾ã‚Œã¦ã?‚‹ã‹ã©ã?‹ã‚’判定ã—ã¾ã™ã?
234 * メニュグループã?ã€ã‚«ãƒ³ãƒžåŒºåˆ?‚Šã§è¤?•°ç™»éŒ²ã§ãã¾ã™ã?ã§ã€ãã®ã?¡ã®
235 * ã©ã‚Œã‹ã«å«ã¾ã‚Œã¦ã?‚Œã°ã€true ã‚’è¿”ã—ã¾ã™ã?
236 * ã“ã?メニューãã?ã‚‚ã?ã«ã€ã‚°ãƒ«ãƒ¼ãƒ—ãŒæŒ?®šã•れã¦ã?ªã??åˆã?ã€?
237 * ãƒ?ƒ•ォルトグループã¨ã?†æ‰±ã?§ã€true ã‚’è¿”ã—ã¾ã™ã?
238 * 引数ãŒã?null ã¾ãŸã?ã€ã‚¼ãƒæ–?—å?ã®å ´åˆã‚‚ã€åŒæ§˜ã«ã€true ã‚’è¿”ã—ã¾ã™ã?
239 *
240 * @param group 判定ã™ã‚‹ã‚°ãƒ«ãƒ¼ãƒ?
241 *
242 * @return グループã«å«ã¾ã‚Œã¦ã?‚‹ã‹ã©ã?‹
243 */
244 public boolean isGroupIn( final String group ) {
245 if( groupKeys.length == 0 || group == null || group.length() == 0 ) {
246 return true;
247 }
248
249 for( int i=0; i<groupKeys.length; i++ ) {
250 if( group.equals( groupKeys[i] ) ) {
251 return true;
252 }
253 }
254 return false;
255 }
256
257 /**
258 * ç”»é¢æƒ?? メニュåˆ?¡žã?オリジナルã‚ー ã‚’å–å¾—ã—ã¾ã™ã?
259 *
260 * @return メニュåˆ?¡žã?ã‚ー
261 */
262 public String getClassify() {
263 return guiData.getClassify();
264 }
265
266 /**
267 * ç”»é¢æƒ?? ç”»é¢åç§° ã‚’å–å¾—ã—ã¾ã™ã?
268 * ã“れã¯ã€åŠ å·¥å‰ã?ラベルリソースã«ç™»éŒ²ã•れã¦ã?‚‹å€¤ã§ã™ã?
269 *
270 * @return ç”»é¢åç§°
271 */
272 public String getLabel() {
273 return labelData.getLabel();
274 }
275
276 /**
277 * ç”»é¢æƒ?? ç”»é¢åç§°(short) ã‚’å–å¾—ã—ã¾ã™ã?
278 * ã“ã?åç§°ã¯ã€ãƒãƒ??表示付ãã®æ–?—å?ã‚’è¿”ã—ã¾ã™ã?
279 *
280 * @return ç”»é¢åç§°(short)
281 */
282 public String getName() {
283 return labelData.getShortLabel();
284 }
285
286 /**
287 * ç”»é¢æƒ?? ç”»é¢åç§°(long) ã‚’å–å¾—ã—ã¾ã™ã?
288 * ã“ã?åç§°ã¯ã€ãƒãƒ??表示付ãã®æ–?—å?ã‚’è¿”ã—ã¾ã™ã?
289 *
290 * @return ç”»é¢åç§°(long)
291 */
292 public String getLongName() {
293 return labelData.getLongLabel();
294 }
295
296 /**
297 * ç”»é¢æƒ?? ãƒãƒ¼ãƒ« ã‚’å–å¾—ã—ã¾ã™ã?
298 * ãƒãƒ¼ãƒ«ã¯ã€AAA|BBB|CCC ã¨ã€Ž|ã€ã?区åˆ?‚Šæ–?—ã§è¤?•°ç™»éŒ²ã§ãã¾ã™ã?
299 * ユーザーã®ãƒãƒ¼ãƒ«(ã“ã¡ã‚‰ã‚‚ã€XXX|YYY|AAAã¨è¤?•°ç™»éŒ²å¯èƒ½)ã¨ãƒžãƒƒãƒã™ã‚?
300 * ãƒãƒ¼ãƒ«ãŒã‚れã?ã€ãã®ç”»é¢ã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯ãŒã‚りã¾ã™ã?
301 * èªã¿æ›¸ãã¨ã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼è¡¨ç¤ºã¯ã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§æŒ?®šã—ã¾ã™ã?
302 *
303 * @return ãƒãƒ¼ãƒ«
304 */
305 public String getRoles() {
306 return guiData.getRoles();
307 }
308
309 /**
310 * アクセスモードをå–å¾—ã—ã¾ã™ã?
311 *
312 * r,w,_ ã‚’å„ãƒãƒ¼ãƒ«æ¯Žã«è¨å®šã—ã¾ã™ã?
313 * mr:メニューよりアクセスã§ãã‚‹èªå–専用画é¢ã§ã™ã?登録ボタンã¯è¡¨ç¤ºã•れã¾ã›ã‚“ã€?
314 * mw:メニューよりアクセスã§ãる登録編é›?”»é¢ã§ã™ã?表示もã—ã¾ã™ã?
315 * -r:メニューã«ç¾ã‚Œã¾ã›ã‚“ãŒã?アクセスã™ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ã?èªå–専用ã€?
316 * -w:メニューã«ç¾ã‚Œã¾ã›ã‚“ãŒã?アクセスã™ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ã?èªã¿æ›¸ãå?æ¥ã¾ã™ã?
317 *
318 * ã“ã??’æ–‡å—ãšã¤ã®ã‚»ãƒ?ƒˆãŒã?å?ƒãƒ¼ãƒ«ã«å¯¾å¿œä»˜ã‘られãŸã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã«ãªã‚Šã¾ã™ã?
319 * ãƒãƒ¼ãƒ«ãŒã?AAA|BBB|CCC|DDD ã§ã€ãƒ¢ãƒ¼ãƒ‰ãŒ mw|mr|-r|-w ã§ã‚れã°ã€?
320 * AAA ã¯ã€mw , BBB ã¯ã€mr ?ŒCCC ã¯ã€?r ?ŒDDD 㯠-w ã¨è¨å®šã•れãŸã“ã¨ã«ãªã‚Šã¾ã™ã?
321 * 特別ã«ã€?¼’æ–‡å—ã?ã¿ç™»éŒ²ã•れãŸå?åˆã?ã€å?ãƒãƒ¼ãƒ«ãŒåŒä¸?ƒ¢ãƒ¼ãƒ‰ã«è¨å®?
322 * ã•れãŸã¨ã¿ãªã—ã¾ã™ã?
323 *
324 * @return ãƒãƒ¼ãƒ«æ¯Žã?アクセスモードå?(mr,mw,-r,-w ã®ç¾??)
325 */
326 public String getMode() {
327 return guiData.getMode();
328 }
329
330 /**
331 * ç”»é¢ã‚’表示ã™ã‚‹æ™‚ã?ターゲãƒ?ƒˆå±žæ?ã‚’å–å¾—ã—ã¾ã™ã?
332 *
333 * @return ターゲãƒ?ƒˆ
334 */
335 public String getTarget() {
336 return guiData.getTarget();
337 }
338
339 /**
340 * ç”»é¢ã‚’表示ã™ã‚‹æ™‚ã?パラメータ属æ?ã‚’å–å¾—ã—ã¾ã™ã?
341 *
342 * @return パラメータ
343 */
344 public String getParam() {
345 return guiData.getParam();
346 }
347
348 /**
349 * リンク区åˆ?±žæ?ã‚’å–å¾—ã—ã¾ã™ã?
350 *
351 * @og.rev 3.4.0.0 (2003/09/01) リンク区åˆ?KBLINK)属æ?を追åŠ??
352 *
353 * @return リンク区�
354 */
355 public String getKblink() {
356 return guiData.getKblink();
357 }
358
359 /**
360 * 概è¦èª¬æ˜Žå±žæ?ã‚’å–å¾—ã—ã¾ã™ã?
361 * 概è¦èª¬æ˜ŽãŒè¨å®šã•れã¦ã?ªã??åˆã?ã€longName ã‚’è¿”ã—ã¾ã™ã?
362 *
363 * @og.rev 3.5.6.5 (2004/08/09) 概è¦èª¬æ˜?DESCRIPTION)属æ?を追åŠ??
364 *
365 * @return 概è¦èª¬æ˜?
366 */
367 public String getDescription() {
368 return labelData.getDescription() ;
369 }
370
371 /**
372 * 更新日時をå–å¾—ã—ã¾ã™ã?
373 *
374 * @og.rev 5.3.3.0 (2011/03/01) æ–°è¦ä½œæ?
375 *
376 * @return 更新日�
377 */
378 public String getDyupd() {
379 return guiData.getDyupd();
380 }
381
382 /**
383 * イメージアイコンã®ã‚ーを返ã—ã¾ã™ã?
384 *
385 * ç”»é¢ã«ã‚¢ã‚¤ã‚³ãƒ³ã‚’追åŠ?™ã‚‹å?åˆã?jsp/menuImage フォルãƒ?«ã€ç”»é¢ID ã¨åŒã˜åç§°ã®
386 * ç”»åƒãƒ•ァイルを置ãå¿?¦ãŒã‚りã¾ã™ã?
387 * 本æ¥ã¯ã€ç”»é¢ãƒªã‚½ãƒ¼ã‚¹(GEA11)ã«ã€ã‚«ãƒ©ãƒ?‚’追åŠ?—ã¦å¯¾å¿œã™ã¹ãã§ã™ãŒã€äº’æ›æ€§ã®é–¢ä¿‚よりã?
388 * PARAM 属æ?ã§ã€æ‰€å®šã?ã‚ーを登録ã™ã‚‹ã“ã¨ã§ä½¿ãˆã‚‹ã‚ˆã†ã«ã—ã¾ã™ã?
389 * ã“ã?ã€PARAMã¯ã€ç”»é¢ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¼•æ•°(ãŸã¨ãˆã?ã€command=NEW ãªã©)を使ã?Ÿã‚ã?パラメータã§ã™ãŒã€?
390 * アイコン割り当ã¦(IMAGE_KEY=XXXX)を使用ã™ã‚‹ã“ã¨ã§ã€XXXX ã‚’ã‚ーã¨ã—ã¦ä½¿ã?¾ã™ã?
391 * IMAGE_KEY=XXXX ãŒæŒ‡å®šã•れãªã??åˆã?ã€ç”»é¢IDãŒã?imageKey ã¨ã—ã¦è¿”ã•れã¾ã™ã?
392 *
393 * @og.rev 5.5.2.5 (2012/05/21) æ–°è¦è¿½åŠ?
394 *
395 * @return イメージアイコンã®ã‚ー
396 */
397 public String getImageKey() {
398 return guiData.getImageKey();
399 }
400
401 /**
402 * ãƒãƒ¼ãƒ«ãƒ¢ãƒ¼ãƒ‰æƒ…å ±ã‚’å–å¾—ã—ã¾ã™ã?
403 *
404 * @og.rev 4.3.0.0 (2008/07/04) æ–°è¦è¿½åŠ?
405 *
406 * @return ãƒãƒ¼ãƒ«ãƒ¢ãƒ¼ãƒ?
407 */
408 public RoleMode getRoleMode() {
409 return guiData.getRoleMode() ;
410 }
411
412 /**
413 * リードアクセス(èªå–り許å¯)ã® å¯å¦ã‚?ãƒã‚§ãƒ?‚¯ã—ã¾ã™ã?
414 * アクセスãƒã‚§ãƒ?‚¯ã¯ã€ç”»é¢ã®ãƒãƒ¼ãƒ«ã‚’ユーザーã®
415 * ãã‚Œã¨æ¯”è¼?—ã¦æ¡ä»¶ãŒå«ã¾ã‚Œã¦ã?‚‹ã‹ã©ã?‹ã‚’確èªã—ã¾ã™ã?
416 * æ¡ä»¶ã?null (ã¾ãŸã??ストリング)ã®å ´åˆã?, true ã¨ãªã‚Šã¾ã™ã?
417 * æ¡ä»¶ã®åˆ¤æ–ã¯ã€AND æ¡ä»¶ã§ã™ã?
418 * ã•らã«ã€ãã®ä»–ã?æ¡ä»¶éƒ¨åˆ?‚’判æ–ã—ã¦ã€OR æ¡ä»¶ã§å…ˆã?çµæžœã¨çªãåˆã‚ã›ã¾ã™ã?
419 * ユーザーã®ãƒãƒ¼ãƒ«ãŒã? "root" ã®å ´åˆã?,rw 属æ?ã®ã¿ã®ãƒã‚§ãƒ?‚¯ã§åˆ¤æ–ã—ã¾ã™ã?
420 *
421 * @og.rev 3.5.4.0 (2003/11/25) 引数ã«ãƒãƒ¼ãƒ«ã‚ºã‚’渡ã—ã¾ã™ã?
422 *
423 * @return アクセスOK?štrue アクセス拒å¦?šfalse
424 */
425 public boolean isRead() {
426 return menuFlag;
427 }
428
429 /**
430 * ライトアクセス(書込ã¿è¨±å¯)ã® å¯å¦ã‚?ãƒã‚§ãƒ?‚¯ã—ã¾ã™ã?
431 * アクセスãƒã‚§ãƒ?‚¯ã¯ã€ç”»é¢ã®ãƒãƒ¼ãƒ«ã‚’ユーザーã®
432 * ãã‚Œã¨æ¯”è¼?—ã¦æ¡ä»¶ãŒå«ã¾ã‚Œã¦ã?‚‹ã‹ã©ã?‹ã‚’確èªã—ã¾ã™ã?
433 * æ¡ä»¶ã?null (ã¾ãŸã??ストリング)ã®å ´åˆã?, true ã¨ãªã‚Šã¾ã™ã?
434 * æ¡ä»¶ã®åˆ¤æ–ã¯ã€AND æ¡ä»¶ã§ã™ã?
435 * ã•らã«ã€ãã®ä»–ã?æ¡ä»¶éƒ¨åˆ?‚’判æ–ã—ã¦ã€OR æ¡ä»¶ã§å…ˆã?çµæžœã¨çªãåˆã‚ã›ã¾ã™ã?
436 * ユーザーã®ãƒãƒ¼ãƒ«ãŒã? "root" ã®å ´åˆã?,rw 属æ?ã®ã¿ã®ãƒã‚§ãƒ?‚¯ã§åˆ¤æ–ã—ã¾ã™ã?
437 *
438 * @og.rev 3.5.4.0 (2003/11/25) 引数ã«ãƒãƒ¼ãƒ«ã‚ºã‚’渡ã—ã¾ã™ã?
439 *
440 * @return アクセスOK?štrue アクセス拒å¦?šfalse
441 */
442 public boolean isWrite() {
443 return writeFlag;
444 }
445
446 /**
447 * ボタンメニューã«ãƒ—ルãƒ?‚¦ãƒ³ã‚’指定ã™ã‚‹ã?ã‹ã‚’ãƒã‚§ãƒ?‚¯ã—ã¾ã™ã?
448 *
449 * @og.rev 4.3.3.0 (2008/10/01) æ–°è¦ä½œæ?
450 *
451 * @return プルãƒ?‚¦ãƒ³åŒ–ã?å ´å?rue
452 */
453 public boolean isPulldown() {
454 return pulldownFlag;
455 }
456
457 /**
458 * æŒ?®šã?ユーザーãƒãƒ¼ãƒ«ã«å¯¾ã™ã‚‹ãƒ“ットæ¡ä»¶ã‚’å–å¾—ã—ã¾ã™ã?
459 * ã“ã? bitMode ã¯ã€ã™ã§ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼å˜ä½ã«ä½œæ?ã•れãŸå?ã§ã™ã?
460 *
461 * @og.rev 4.3.0.0 (2008/07/04) ãƒãƒ¼ãƒ«ãƒ¢ãƒ¼ãƒ‰ã?ルãƒå¯¾å¿?
462 *
463 * @return アクセスビッ�
464 */
465 public byte getBitMode() {
466 return bitMode;
467 }
468
469 /**
470 * FAQãŒGE80ã«é–¢é€£ç”»é¢IDã¨ã—ã¦å˜åœ¨ã—ã¦ã?‚‹ã‹ã©ã?‹
471 *
472 * @og.rev 5.6.4.3 (2013/05/25) 追�
473 *
474 * @return FAQã®å˜åœ¨
475 */
476 public boolean isFaq() {
477 return guiData.isFaq();
478 }
479
480 /**
481 * ファイル出åŠ?ファイル出力許å¯)ã® å¯å¦ã‚?ãƒã‚§ãƒ?‚¯ã—ã¾ã™ã?
482 * ファイル出力ã?ã€ç”»é¢å€‹ã?ã«è¨å®šã§ãã‚‹ フãƒãƒ?ƒ”ーアイコンを制御ã™ã‚‹ã®ã«
483 * 使用ã—ã¾ã™ã?
484 * ユーザーã¨ç”»é¢ã®ãƒãƒ¼ãƒ«ã‚’比è¼?—ã¦æ¡ä»¶ãŒå«ã¾ã‚Œã¦ã?‚‹ã‹ã©ã?‹ã‚’確èªã—ã¾ã™ã?
485 *
486 * @og.rev 4.3.0.0 (2008/07/04) æ–°è¦è¿½åŠ?
487 *
488 * @return ファイル出力許å¯?štrue ファイル出力ä¸å¯?šfalse
489 */
490 // public boolean isFileDownload() {
491 // return fileDFlag;
492 // }
493
494 /**
495 * ファイル入åŠ?ファイル入力許å¯)ã® å¯å¦ã‚?ãƒã‚§ãƒ?‚¯ã—ã¾ã™ã?
496 * ファイル入力ã?ã€ç”»é¢å€‹ã?ã«è¨å®šã§ãã‚‹ フãƒãƒ?ƒ”ーアイコンを制御ã™ã‚‹ã®ã«
497 * 使用ã—ã¾ã™ã?
498 * ユーザーã¨ç”»é¢ã®ãƒãƒ¼ãƒ«ã‚’比è¼?—ã¦æ¡ä»¶ãŒå«ã¾ã‚Œã¦ã?‚‹ã‹ã©ã?‹ã‚’確èªã—ã¾ã™ã?
499 *
500 * @og.rev 4.3.0.0 (2008/07/04) æ–°è¦è¿½åŠ?
501 *
502 * @return ファイル入力許å¯?štrue ファイル入力ä¸å¯?šfalse
503 */
504 // public boolean isFileUpload() {
505 // return fileUFlag;
506 // }
507
508 /**
509 * GUIInfoã®å±žæ?æ–?—å?ã‚’å–å¾—ã—ã¾ã™ã?
510 *
511 * ・KEY ç”»é¢ID
512 * ・ADDRESS 実行アドレス
513 * ・REALADDRESS 実行実アドレス
514 * ・SEQUENCE 表示é ?
515 * ・GROUPS メニュグルー�
516 * ・CLASSIFY メニュåˆ?¡?
517 * ・LEVEL メニュ階層番å·
518 * ・LABEL ç”»é¢åç§°
519 * ・NAME ç”»é¢åç§°(=SNAME)
520 * ・SNAME ç”»é¢åç§°(short)
521 * ・LNAME ç”»é¢åç§°(long)
522 * ・ROLES ãƒãƒ¼ãƒ«
523 * ・MODE アクセスモードå?(mr,mw,-r,-w ã®ç¾??)
524 * ・TARGET ターゲãƒ?ƒˆ
525 * ・PARAM è¨å®šå?(パラメータ)
526 * ・KBLINK リンク区�
527 * ・DESCRIPTION 概è¦èª¬æ˜?
528 * ・IMAGEKEY イメージã‚ー
529 * ・DYUPD 更新日�
530 * ・ISREAD èªå–り許å¯[true/false]
531 * ・ISWRITE 書込ã¿è¨±å¯[true/false]
532 *
533 * @og.rev 3.4.0.0 (2003/09/01) リンク区åˆ?KBLINK)属æ?を追åŠ??
534 * @og.rev 3.5.5.0 (2004/03/12) 実行実アドレス(REALADDRESS)属æ?を追åŠ??
535 * @og.rev 3.5.6.5 (2004/08/09) 概è¦èª¬æ˜?DESCRIPTION)属æ?を追åŠ??
536 * @og.rev 4.0.0.0 (2005/11/30) ISREAD,ISWRITE 属æ?を追åŠ??
537 * @og.rev 5.3.3.0 (2011/03/01) 更新日時を追�
538 * @og.rev 5.5.2.5 (2012/05/21) IMAGEKEY 追�
539 * @og.rev 5.6.4.3 (2013/05/25) FAQ追�
540 *
541 * @param key ã‚ー
542 *
543 * @return 属æ?æ–?—å?ã®å€¤
544 */
545 public String getAttribute( final String key ) {
546 if( key == null ) { return null; }
547 final String rtn ;
548
549 if( key.equalsIgnoreCase( "KEY" ) ) { rtn = getKey(); }
550 else if( key.equalsIgnoreCase( "GUICLM" ) ) { rtn = labelData.getKey(); }
551 else if( key.equalsIgnoreCase( "ADDRESS" ) ) { rtn = getAddress(); }
552 else if( key.equalsIgnoreCase( "REALADDRESS" ) ) { rtn = getRealAddress(); }
553 else if( key.equalsIgnoreCase( "SEQUENCE" ) ) { rtn = String.valueOf( getSequence() ); }
554 else if( key.equalsIgnoreCase( "GROUPS" ) ) { rtn = getGroups(); }
555 else if( key.equalsIgnoreCase( "CLASSIFY" ) ) { rtn = getClassify(); }
556 else if( key.equalsIgnoreCase( "LEVEL" ) ) { rtn = String.valueOf( getLevel() ); }
557 else if( key.equalsIgnoreCase( "LABEL" ) ) { rtn = getLabel(); }
558 else if( key.equalsIgnoreCase( "NAME" ) ) { rtn = getName(); }
559 else if( key.equalsIgnoreCase( "SNAME" ) ) { rtn = getName(); }
560 else if( key.equalsIgnoreCase( "LNAME" ) ) { rtn = getLongName(); }
561 else if( key.equalsIgnoreCase( "ROLE" ) ) { rtn = getRoles(); }
562 else if( key.equalsIgnoreCase( "ROLES" ) ) { rtn = getRoles(); }
563 else if( key.equalsIgnoreCase( "MODE" ) ) { rtn = getMode(); }
564 else if( key.equalsIgnoreCase( "TARGET" ) ) { rtn = getTarget(); }
565 else if( key.equalsIgnoreCase( "PARAM" ) ) { rtn = getParam(); }
566 else if( key.equalsIgnoreCase( "KBLINK" ) ) { rtn = getKblink(); }
567 else if( key.equalsIgnoreCase( "DESCRIPTION" ) ) { rtn = getDescription(); } // 3.5.6.5 (2004/08/09)
568 else if( key.equalsIgnoreCase( "IMAGEKEY" ) ) { rtn = getImageKey(); } // 3.5.6.5 (2004/08/09)
569 else if( key.equalsIgnoreCase( "DYUPD" ) ) { rtn = getDyupd(); } // 5.5.2.5 (2012/05/21)
570 else if( key.equalsIgnoreCase( "ISREAD" ) ) { rtn = String.valueOf( isRead() ); } // 4.0.0 (2005/11/30)
571 else if( key.equalsIgnoreCase( "ISWRITE" ) ) { rtn = String.valueOf( isWrite() ); } // 4.0.0 (2005/11/30)
572 else if( key.equalsIgnoreCase( "FAQ" ) ) { rtn = String.valueOf(isFaq()); } // 5.6.4.3 (2013/05/24)
573 else {
574 String errMsg = "属æ?æ–?—å?ã‚ーãŒä¸æ£ã§ã™ã? key=[" + key + "]"
575 + HybsSystem.CR
576 + "予ç´?ª?" + YOYAKU + ") 以外ã?æŒ?®šã§ãã¾ã›ã‚“ã€? ;
577 throw new HybsSystemException( errMsg );
578 }
579 return rtn ;
580 }
581
582 /**
583 * GUIInfoã®å±žæ?æ–?—å?ã®å†?ƒ¨æƒ??ã‚’è¿”ã—ã¾ã™ã?
584 * ã“ã?å†?ƒ¨æƒ??ã®ä¸ã«ã¯ã€getAttribute( String ) ã§å–å¾—ã§ãる管ç?ƒ…å ±ã§ã™ã?
585 *
586 * @og.rev 4.0.0.0 (2004/12/31) æ–°è¦ä½œæ?
587 * @og.rev 5.3.3.0 (2011/03/01) 更新日時を追�
588 * @og.rev 5.5.2.5 (2012/05/21) IMAGEKEY 追�
589 *
590 * @return 属æ?æ–?—å?ã®HybsEntryオブジェクトé?åˆ?
591 */
592 public HybsEntry[] getEntrys() {
593 List<HybsEntry> list = new ArrayList<HybsEntry>();
594
595 list.add( new HybsEntry( "GUI.KEY" , getAttribute( "KEY" ) , "ç”»é¢ID" ) );
596 list.add( new HybsEntry( "GUI.GUICLM" , getAttribute( "GUICLM" ) , "ç”»é¢ã‚«ãƒ©ãƒ?D" ) );
597 list.add( new HybsEntry( "GUI.ADDRESS" , getAttribute( "ADDRESS" ) , "実行アドレス" ) );
598 list.add( new HybsEntry( "GUI.REALADDRESS" , getAttribute( "REALADDRESS" ) , "実行実アドレス" ) );
599 list.add( new HybsEntry( "GUI.SEQUENCE" , getAttribute( "SEQUENCE" ) , "表示é ? ) );
600 list.add( new HybsEntry( "GUI.GROUPS" , getAttribute( "GROUPS" ) , "メニュグルー� ) );
601 list.add( new HybsEntry( "GUI.CLASSIFY" , getAttribute( "CLASSIFY" ) , "メニュåˆ?¡? ) );
602 list.add( new HybsEntry( "GUI.LEVEL" , getAttribute( "LEVEL" ) , "メニュ階層番å·" ) );
603 list.add( new HybsEntry( "GUI.LABEL" , getAttribute( "LABEL" ) , "ç”»é¢åç§°" ) );
604 list.add( new HybsEntry( "GUI.NAME" , getAttribute( "NAME" ) , "ç”»é¢åç§°(=SNAME)" ) );
605 list.add( new HybsEntry( "GUI.SNAME" , getAttribute( "SNAME" ) , "ç”»é¢åç§°(short)" ) );
606 list.add( new HybsEntry( "GUI.LNAME" , getAttribute( "LNAME" ) , "ç”»é¢åç§°(long)" ) );
607 list.add( new HybsEntry( "GUI.ROLES" , getAttribute( "ROLES" ) , "ãƒãƒ¼ãƒ«" ) );
608 list.add( new HybsEntry( "GUI.MODE" , getAttribute( "MODE" ) , "アクセスモードå?(mr,mw,-r,-w ã®ç¾??)" ) );
609 list.add( new HybsEntry( "GUI.TARGET" , getAttribute( "TARGET" ) , "ターゲãƒ?ƒˆ" ) );
610 list.add( new HybsEntry( "GUI.PARAM" , getAttribute( "PARAM" ) , "パラメータ" ) );
611 list.add( new HybsEntry( "GUI.KBLINK" , getAttribute( "KBLINK" ) , "リンク区� ) );
612 list.add( new HybsEntry( "GUI.DESCRIPTION" , getAttribute( "DESCRIPTION" ) , "概è¦èª¬æ˜? ) );
613 list.add( new HybsEntry( "GUI.IMAGEKEY" , getAttribute( "IMAGEKEY" ) , "イメージã‚ー" ) ); // 5.5.2.5 (2012/05/21)
614 list.add( new HybsEntry( "GUI.DYUPD" , getAttribute( "DYUPD" ) , "更新日� ) ); // 5.3.3.0 (2011/03/01)
615 list.add( new HybsEntry( "GUI.ISREAD" , getAttribute( "ISREAD" ) , "èªå–り許å¯[true/false]" ) );
616 list.add( new HybsEntry( "GUI.ISWRITE" , getAttribute( "ISWRITE" ) , "書込ã¿è¨±å¯[true/false]" ) );
617
618 return list.toArray( new HybsEntry[list.size()] );
619 }
620
621 /**
622 * ãƒ??タベã?ス検索ã—ãŸæ•°ã¨ã€æŽ›ã‹ã£ãŸæ™‚é–?ms)ã‚’ã?ã‚»ãƒ?ƒˆã—ã¾ã™ã?
623 * ã“れã¯ã€ã‚»ã‚ュリãƒ?‚£ä¸Šã?監視フラグã§ã€ä¸å¿?¦ã«ã€å¤§é‡ã?
624 * ãƒ??ã‚¿ãŒæ¤œç´¢ã•れãŸå?åˆã‚„ã€ä¸æ£ãªãƒ??タアクセスãŒã‚ã‚‹ã‹ã©ã?‹ã‚?
625 * 監視ã™ã‚‹ãŸã‚ã?çµ±è¨ˆæƒ…å ±ã‚’å–å¾—ã—ã¾ã™ã?
626 * ç”»é¢ã‚ªãƒ–ジェクトã?ã€å„ユーザー毎ã«ä½œæ?ã•れã¦ã?‚‹ãŸã‚ã€å?ã€??
627 * ユーザーæ¯?ç”»é¢æ¯Žã?アクセス状æ³ã‚’見るã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã?
628 *
629 * @og.rev 4.0.0.0 (2005/01/31) æ–°è¦è¿½åŠ?
630 *
631 * @param cnt ãƒ??タベã?ス検索ã—ãŸæ•°
632 * @param time ãƒ??タベã?ス検索ã—ãŸæ•°
633 * @param query ãã?ã¨ãã?SQLæ–?
634 */
635 public void addReadCount( final int cnt,final long time,final String query ) {
636 accessCount.addReadCount( cnt,time,query );
637 }
638
639 /**
640 * ãƒ??タベã?ス登録ã—ãŸæ•°ã¨ã€æŽ›ã‹ã£ãŸæ™‚é–?ms)ã‚’ã?ã‚»ãƒ?ƒˆã—ã¾ã™ã?
641 * ã“れã¯ã€ã‚»ã‚ュリãƒ?‚£ä¸Šã?監視フラグã§ã€ä¸å¿?¦ã«ã€å¤§é‡ã?
642 * ãƒ??ã‚¿ãŒç™»éŒ²ã•れãŸå?åˆã‚„ã€ä¸æ£ãªãƒ??タアクセスãŒã‚ã‚‹ã‹ã©ã?‹ã‚?
643 * 監視ã™ã‚‹ãŸã‚ã?çµ±è¨ˆæƒ…å ±ã‚’å–å¾—ã—ã¾ã™ã?
644 * ç”»é¢ã‚ªãƒ–ジェクトã?ã€å„ユーザー毎ã«ä½œæ?ã•れã¦ã?‚‹ãŸã‚ã€å?ã€??
645 * ユーザーæ¯?ç”»é¢æ¯Žã?アクセス状æ³ã‚’見るã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã?
646 *
647 * @og.rev 4.0.0.0 (2005/01/31) æ–°è¦è¿½åŠ?
648 *
649 * @param cnt ãƒ??タベã?ス登録ã—ãŸæ•°
650 * @param time ãƒ??タベã?ス検索ã—ãŸæ•°
651 * @param query ãã?ã¨ãã?SQLæ–?
652 */
653 public void addWriteCount( final int cnt,final long time,final String query ) {
654 accessCount.addWriteCount( cnt,time,query );
655 }
656
657 /**
658 * ã“ã?ç”»é¢ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹å›žæ•°ã‚’ã??‹ï¼‘ã—ã¾ã™ã?
659 * アクセス回数ã¯ã€ã“ã®ãƒ¡ã‚½ãƒ?ƒ‰ã®å‘¼ã³å‡ºã—回数ã®ã“ã¨ã§ã™ã?
660 * ç¾çжã§ã¯ã€result.jsp ç”»é¢ã§ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ã§ã€ã‚¢ã‚¯ã‚»ã‚¹æ•°ã‚?
661 * æ•°ãˆã‚‹ã“ã¨ã«ã—ã¾ã™ã?
662 *
663 * @og.rev 4.0.0.0 (2005/01/31) æ–°è¦è¿½åŠ?
664 *
665 */
666 public void addAccessCount() {
667 // if( level == 3 ) { level = 2; }
668 if( level == 4 ) { level = 3; } // 4.0.0.0 (2007/10/30)
669 accessCount.addAccessCount();
670 }
671
672 /**
673 * エラー発生時ã®ä»¶æ•°ã‚’+1ã—ã¾ã™ã?
674 * ã“れã¯ã€ã‚¨ãƒ©ãƒ¼ç™ºç”Ÿæ™‚ã«å‘¼ã³å‡ºã™ã“ã¨ã§ã€ã‚¨ãƒ©ãƒ¼ä»¶æ•°ã‚’ãƒã‚§ãƒ?‚¯ã™ã‚‹ã“ã¨ã?
675 * å¯èƒ½ã«ãªã‚Šã¾ã™ã?
676 * ä¸?ˆ¬ã«ã‚¨ãƒ©ãƒ¼ã«ã¯ã€äºˆæœŸã™ã‚‹ã‚¨ãƒ©ãƒ¼(å¿??入力登録æ¼ã‚Œç?ã¨ã€äºˆæœŸã—ãªã?‚¨ãƒ©ãƒ¼
677 * ãŒã‚りã¾ã™ãŒã€ã“ã“ã§ã¯ã€Java ã® ExceptionãŒç™ºç”Ÿã™ã‚‹äºˆæœŸã—ãªã?‚¨ãƒ©ãƒ¼ã®
678 * 件数をカウントã—ã¾ã™ã?
679 *
680 * @og.rev 4.0.0.0 (2005/01/31) æ–°è¦è¿½åŠ?
681 *
682 */
683 public void addErrorCount() {
684 accessCount.addErrorCount();
685 }
686
687 /**
688 * ã“ã?ç”»é¢ã®ã‚¢ã‚¯ã‚»ã‚¹çµ±è¨ˆã‚ªãƒ–ジェクトをå–å¾—ã—ã¾ã™ã?
689 *
690 * @og.rev 4.0.0.0 (2005/01/31) æ–°è¦è¿½åŠ?
691 *
692 * @return アクセス統計オブジェク�
693 */
694 public GUIAccessCount getGUIAccessCount() {
695 return accessCount;
696 }
697
698 /**
699 * ã“ã?ç”»é¢ã®æ¬¡ã«ã‚¢ã‚¯ã‚»ã‚¹ã•れãŸç”»é¢IDã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
700 *
701 * ã“れã¯ã€ç”»é¢ã‚¢ã‚¯ã‚»ã‚¹ã®å±¥æ´(é ?•ª)を管ç?™ã‚‹æ©Ÿè?ã‚’æä¾›ã—ã¾ã™ã?
702 * 自åˆ??èº«ã®æ¬¡ã«ã‚¢ã‚¯ã‚»ã‚¹ã•れる画é¢IDã®é›?ˆã‚’管ç?™ã‚‹ã“ã¨ã§
703 * QUERYç”»é¢ä¸Šéƒ¨ã®ã‚·ãƒ§ãƒ¼ãƒˆã‚«ãƒ?ƒˆãƒªãƒ³ã‚¯ã«ã€æ¬¡ã«ä½¿ç”¨ã™ã‚‹ç”»é¢ã®
704 * リンクを用æ„ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã?
705 *
706 * @og.rev 5.2.3.0 (2010/12/01) アクセス履æ´ç®¡ç?
707 *
708 * @param guiKey ã“ã?ç”»é¢ã®æ¬¡ã«ã‚¢ã‚¯ã‚»ã‚¹ã•れãŸç”»é¢ID
709 */
710 public void setNextGuiKey( final String guiKey ) {
711 // 自åˆ??身ã®å ´åˆã?ã€ã‚»ãƒ?ƒˆã—ãªã??
712 if( guiKey != null && !guiKey.equals( getKey() ) ) {
713 synchronized( nextGui ) {
714 // 冿Œ¿å…¥ã‚’é¿ã‘ã¦ã?‚‹ã®ã¯ã€å?ç?™‚é–“ã‚’è€??ã—ã¦ã?‚‹ã?‘。æ„味ãŒã‚ã‚‹ã‹ã¯ä¸æ?ã€?
715 if( !nextGui.contains( guiKey ) ) {
716 nextGui.add( guiKey ) ;
717 }
718 }
719 }
720 }
721
722 /**
723 * ã“ã?ç”»é¢ã®æ¬¡ã«ã‚¢ã‚¯ã‚»ã‚¹ã•れãŸç”»é¢IDã®CSVæ–?—å?ã‚’å–å¾—ã—ã¾ã™ã?
724 *
725 * ã“れã¯ã€ç”»é¢ã‚¢ã‚¯ã‚»ã‚¹ã®å±¥æ´(é ?•ª)をカンマ区åˆ?‚Šæ–?—å?ã§å–り出ã—ã¾ã™ã?
726 * アクセス履æ´ã‚’外部記æ?媒体ã«å‡ºåŠ›ã™ã‚‹å?åˆã«ä½¿ç”¨ã—ã¾ã™ã?
727 *
728 * @og.rev 5.2.3.0 (2010/12/01) アクセス履æ´ç®¡ç?
729 *
730 * @return ã“ã?ç”»é¢ã®æ¬¡ã«ã‚¢ã‚¯ã‚»ã‚¹ã•れãŸç”»é¢IDã®CSVæ–?—å?
731 */
732 public String getNextGuiKeys() {
733 StringBuilder buf = new StringBuilder();
734 synchronized( nextGui ) {
735 for( String key : nextGui ) {
736 buf.append( key ).append( "," );
737 }
738 }
739 return buf.toString();
740 }
741
742 /**
743 * ã“ã?ç”»é¢ã®æ¬¡ã«ã‚¢ã‚¯ã‚»ã‚¹ã•れãŸç”»é¢IDã®æ–?—å?é…å?ã§å–å¾—ã—ã¾ã™ã?
744 *
745 * ã“れã¯ã€ç”»é¢ã‚¢ã‚¯ã‚»ã‚¹ã®å±¥æ´(é ?•ª)ã‚’æ–‡å—å?é…å?ã§å–り出ã—ã¾ã™ã?
746 *
747 * @og.rev 5.2.3.0 (2010/12/01) アクセス履æ´ç®¡ç?
748 *
749 * @return ã“ã?ç”»é¢ã®æ¬¡ã«ã‚¢ã‚¯ã‚»ã‚¹ã•れãŸç”»é¢IDã®æ–?—å?é…å?
750 */
751 public String[] getNextGuiArray() {
752 final String[] rtnAry ;
753 synchronized( nextGui ) {
754 rtnAry = nextGui.toArray( new String[nextGui.size()] );
755 }
756
757 return rtnAry ;
758 }
759
760 /**
761 * 自然比è¼?ƒ¡ã‚½ãƒ?ƒ‰
762 * インタフェース Comparable 㮠実è£?«é–¢é€£ã—ã¦ã€å?定義ã—ã¦ã?¾ã™ã?
763 * 登録ã•れãŸã‚·ãƒ¼ã‚±ãƒ³ã‚¹(ç”»é¢ã®è¡¨ç¤ºé ?ã§æ¯”è¼?—ã¾ã™ã?
764 * equals メソãƒ?ƒ‰ã§ã¯ã€ã‚ーã®åŒä¸??ã®ã¿ã«ç?›®ã—ã¦åˆ¤å®šã—ã¦ã?¾ã™ã?
765 * ã“ã?比è¼?§ã¯ã€?é‹ç”¨ä¸ŠåŒä¸?‚ーã¯ç™ºç”Ÿã—ã¾ã›ã‚“ã?ãŸã¨ãˆåŒä¸?‚ーãŒå˜åœ¨ã—ãŸ
766 * ã¨ã—ã¦ã‚‚ã?ãã?比è¼??ãŒåŒã˜ã«ãªã‚‹ã“ã¨ã‚’ä¿è¨¼ã—ã¦ã?¾ã›ã‚“ã€?
767 *
768 * @param other 比è¼?¯¾è±¡ã®Object
769 *
770 * @return ã“ã?ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒæŒ?®šã•れãŸã‚ªãƒ–ジェクトよりå°ã•ã??åˆã?è²??æ•´æ•°ã€ç‰ã—ã??åˆã?ゼãƒã€å¤§ãã„å ´åˆã?æ£ã®æ•´æ•°
771 * @throws ClassCastException 引数ã?GUIInfo ã§ã¯ãªã??å?
772 * @throws IllegalArgumentException 引数ã?null ã®å ´å?
773 */
774 // public int compareTo( final Object object ) {
775 public int compareTo( final GUIInfo other ) { // 4.3.3.6 (2008/11/15) Genericsè¦å‘Šå¯¾å¿?
776 // if( object == null ) {
777 if( other == null ) {
778 String errMsg = "引数ãŒã?null ã§ã™ã?" ;
779 throw new IllegalArgumentException( errMsg );
780 }
781 return getSequence() - other.getSequence(); // 4.3.3.6 (2008/11/15) Genericsè¦å‘Šå¯¾å¿?
782
783 // if( object instanceof GUIInfo ) {
784 // return getSequence() - ((GUIInfo)object).getSequence(); // 表示é ?
785 // }
786 // String errMsg = "引数ã?GUIInfo オブジェクトã§ã¯ã‚りã¾ã›ã‚“ã€? ;
787 // throw new ClassCastException( errMsg );
788 }
789
790 /**
791 * ã“ã?オブジェクトã¨ä»–ã?オブジェクトãŒç‰ã—ã?‹ã©ã?‹ã‚’示ã—ã¾ã™ã?
792 * ç”»é¢ã¯ã€ç”»é¢IDãŒç‰ã—ã‘れã°ã€è¨?ªžã‚„表示é ?«é–¢ä¿‚ãªãåŒä¸?¨ã¿ãªã•れã¾ã™ã?
793 * GUIInfo ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼å€‹åˆ¥ã«æ‰±ã‚れã€ãã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¯ã€key ã¯å”¯ä¸?§ã€ã‹ã¤
794 * åŒä¸?¨?ªžå?ã§æ‰±ã‚れるオブジェクトã?為ã€åŒä¸?¨ã¿ãªã—ã¾ã™ã?
795 *
796 * @param object 比è¼?¯¾è±¡ã®å‚ç?オブジェクãƒ?
797 *
798 * @return å¼•æ•°ã«æŒ?®šã•れãŸã‚ªãƒ–ジェクトã¨ã“ã?オブジェクトãŒç‰ã—ã??åˆã? trueã€ãã?§ãªã??åˆã? false
799 */
800 @Override
801 public boolean equals( final Object object ) {
802 if( object instanceof GUIInfo ) {
803 return getKey().equals( ((GUIInfo)object).getKey() );
804 }
805 return false ;
806 }
807
808 /**
809 * オブジェクトã?ãƒãƒƒã‚·ãƒ¥ã‚³ãƒ¼ãƒ‰å?ã‚’è¿”ã—ã¾ã™ã?
810 * ã“ã?メソãƒ?ƒ‰ã¯ã€java.util.Hashtable ã«ã‚ˆã£ã¦æä¾›ã•れるよã†ãª
811 * ãƒãƒƒã‚·ãƒ¥ãƒ??ブルã§ä½¿ç”¨ã™ã‚‹ãŸã‚ã«ç”¨æ„ã•れã¦ã?¾ã™ã?
812 * equals( Object ) メソãƒ?ƒ‰ã‚’オーãƒã?ライトã—ãŸå?åˆã?ã€hashCode() メソãƒ?ƒ‰ã‚?
813 * å¿?š 記述ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?
814 * ã“ã?実è£?§ã¯ã€getKey().hashCode() ã¨åŒå?ã‚’è¿”ã—ã¾ã™ã?
815 *
816 * @return ã“ã?オブジェクトã?ãƒãƒƒã‚·ãƒ¥ã‚³ãƒ¼ãƒ‰å?
817 */
818 @Override
819 public int hashCode() {
820 return getKey().hashCode() ;
821 }
822
823 /**
824 * オブジェクトã?è˜åˆ¥åã¨ã—ã¦?Œè©³ç´°ãªç”»é¢æƒ??ã‚’è¿”ã—ã¾ã™ã?
825 *
826 * @og.rev 3.4.0.0 (2003/09/01) リンク区åˆ?KBLINK)属æ?を追åŠ??
827 * @og.rev 3.5.5.0 (2004/03/12) 実行アドレス(ADDRESS)属æ?を追åŠ??
828 * @og.rev 5.3.3.0 (2011/03/01) 更新日時を追�
829 * @og.rev 5.5.2.5 (2012/05/21) IMAGEKEY 追�
830 *
831 * @return 詳細ãªç”»é¢æƒ??
832 */
833 @Override
834 public String toString() {
835 StringBuilder rtn = new StringBuilder( HybsSystem.BUFFER_MIDDLE );
836 rtn.append( "key :").append( getKey() ).append( HybsSystem.CR ); // ç”»é¢ID
837 rtn.append( "lvlclm :").append( labelData.getKey() ).append( HybsSystem.CR ); // ç”»é¢ã‚«ãƒ©ãƒ?D
838 rtn.append( "address :").append( getAddress() ).append( HybsSystem.CR ); // 実行アドレス
839 rtn.append( "sequence :").append( getSequence() ).append( HybsSystem.CR ); // 表示é ?
840 rtn.append( "groups :").append( getGroups() ).append( HybsSystem.CR ); // メニュグルー�
841 rtn.append( "classify :").append( getClassify() ).append( HybsSystem.CR ); // メニュåˆ?¡?
842 rtn.append( "level :").append( getLevel() ).append( HybsSystem.CR ); // 階層レベル
843 rtn.append( "name :").append( getName() ).append( HybsSystem.CR ); // ç”»é¢åç§°
844 rtn.append( "longName :").append( getLongName() ).append( HybsSystem.CR ); // ç”»é¢åç§°(long)
845 rtn.append( "roles :").append( getRoles() ).append( HybsSystem.CR ); // ãƒãƒ¼ãƒ«
846 rtn.append( "mode :").append( getMode() ).append( HybsSystem.CR ); // アクセスモー� "rwrwrw"
847 rtn.append( "target :").append( getTarget() ).append( HybsSystem.CR ); // ターゲãƒ?ƒˆ
848 rtn.append( "kblink :").append( getKblink() ).append( HybsSystem.CR ); // リンク区�
849 rtn.append( "description:").append( getDescription() ).append( HybsSystem.CR ); // 概è¦èª¬æ˜?
850 rtn.append( "imageKey :").append( getImageKey() ).append( HybsSystem.CR ); // イメージã‚ー 5.5.2.5 (2012/05/21)
851 rtn.append( "dyupd :").append( getDyupd() ).append( HybsSystem.CR ); // 更新日�
852 return rtn.toString();
853 }
854 }