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 */ 016package org.opengion.hayabusa.resource; 017 018/** 019 * systemId , lang に対応したラベルデータを作成します。 020 * 021 * ラベルデータは、項目(CLM)に対して、各種ラベル情報を持っています。 022 * ラベルデータは、名前(短)と名前(長)を持っています。従来のラベルは、表示名称と 023 * して、一種類しか持っていませんでした。 024 * 名前(長)は、従来の表示名称にあたります。これは、一般的なラベルとして 025 * 使用されます。名前(短)は、テーブル一覧のヘッダーの様に、特殊なケースで、 026 * 簡略化された名称を使用するときに利用されます。この切り替えは、自動で判断されます。 027 * 名前(短)に、なにも設定されていない場合は、名前(長)が自動的に使用されますので 028 * 初期データ移行時には、そのまま、通常時もテーブルヘッダー時も同じ文字列が 029 * 使用されます。 030 * 031 * ラベルデータを作成する場合は、同一ラベルで、作成区分(KBSAKU)違いの場合は、 032 * 最も大きな作成区分を持つコードを使用します。 033 * 作成区分(KBSAKU)は、0:システム予約、1:アプリ設定、2:ユーザー設定 という具合に 034 * カスタマイズの度合いに応じて大きな数字を割り当てることで、キー情報を上書き修正 035 * することが可能になります。(削除することは出来ません。) 036 * 037 * @og.rev 4.0.0.0 (2004/12/31) 新規作成 038 * @og.group リソース管理 039 * 040 * @version 4.0 041 * @author Kazuhiko Hasegawa 042 * @since JDK5.0, 043 */ 044public interface LabelInterface { 045 046 /** 047 * ラベルインターフェースのキーを返します。 048 * 049 * @return ラベルインターフェースのキー 050 */ 051 String getKey() ; 052 053 /** 054 * ラベルインターフェースの名前を返します。 055 * これは、DB上の LNAME(名前(長))に該当します。 056 * 057 * @return ラベルインターフェースの名前(短) 058 */ 059 String getLabel() ; 060 061 /** 062 * ラベルインターフェースの引数付きメッセージを返します。 063 * メッセージの引数部分に、文字列配列を適用して、MessageFormat 064 * で変換した結果を返します。(MessageData でのみ有効です。) 065 * 066 * @param vals メッセージ引数の文字列配列(可変長引数) 067 * 068 * @return ラベルインターフェースの引数付きメッセージ 069 */ 070 String getMessage( String... vals ) ; 071 072 /** 073 * ラベルインターフェースの名前(短)を返します。 074 * 概要説明がない場合でかつDB上のSNAMEが未設定の場合は、 075 * LNAME が返されます。SNAMEが設定されている場合は、 076 * ツールチップにLNAME が表示されます。 077 * 概要説明が存在する場合は、ツールチップに概要説明が 078 * 表示されます。 079 * 080 * @return ラベルインターフェースの名前(短) 081 */ 082 String getShortLabel() ; 083 084 /** 085 * ラベルオブジェクトの名称(未変換短)を返します。 086 * このメソッドでは{0},{1}...をパラメータで置換します。 087 * 088 * @og.rev 7.1.0.1 (2020/02/07) ショートラベルに引数を渡します。 089 * 090 * @param vals メッセージ引数の文字列配列(可変長引数) 091 * 092 * @return ラベルインターフェースの名前(短) 093 */ 094 String getShortMessage( String... vals ); 095 096 /** 097 * ラベルインターフェースの名前(長)を返します。 098 * 概要説明が存在する場合は、ツールチップに概要説明が 099 * 表示されます。 100 * 101 * @return ラベルインターフェースの名前(長) 102 * @see #getLongLabel( String ) 103 */ 104 String getLongLabel() ; 105 106 /** 107 * ラベルインターフェースの名前(長)を返します。 108 * ツールチップに表示するタイトル属性(概要説明)を置き換えます。 109 * null の場合は、既存のgetLongLabel()を返します。 110 * 111 * @param title ツールチップに表示するタイトル属性 112 * 113 * @return ラベルインターフェースの名前(長) 114 * @see #getLongLabel() 115 */ 116 String getLongLabel( String title ) ; 117 118 /** 119 * ラベルインターフェースの概要説明を返します。 120 * 概要説明が存在する場合は、ラベルのツールチップに 121 * 概要説明が表示されます。 122 * 123 * @return ラベルインターフェースの概要説明 124 */ 125 String getDescription() ; 126 127 /** 128 * ラベルインターフェースの引数付きメッセージを返します。 129 * 概要(対応方法)の引数部分に、文字列配列を適用して、MessageFormat 130 * で変換した結果を返します。(MessageData でのみ有効です。) 131 * 132 * @og.rev 4.3.7.6 (2009/07/15) 新規作成 133 * 134 * @param vals パラメータ配列(可変長引数) 135 * 136 * @return ラベルインターフェースの引数付き概要 137 */ 138 String getDescription( String... vals ) ; 139 140 /** 141 * リソースDBから作成されたかどうかを返します。 142 * 正式な場合は、true / リソースになく、独自に作成された場合は、false になります。 143 * 144 * @return リソースDBから作成されたかどうか 145 */ 146 boolean isOfficial() ; 147}