    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         * これは、ＤＢ上の 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         * 概要説明がない場合でかつＤＢ上の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         * リソースＤＢから作成されたかどうかを返します。
    142         * 正式な場合は、true / リソースになく、独自に作成された場合は、false になります。
    143         *
    144         * @return      リソースＤＢから作成されたかどうか
    145         */
    146        boolean isOfficial() ;
    147}