    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         * 概要説明が存在する場合は、ツールチップに概要説明が
    087         * 表示されます。
    088         *
    089         * @return ラベルインターフェースの名前(長)
    090         * @see #getLongLabel( String )
    091         */
    092        String getLongLabel() ;
    093
    094        /**
    095         * ラベルインターフェースの名前(長)を返します。
    096         * ツールチップに表示するタイトル属性(概要説明)を置き換えます。
    097         * null の場合は、既存のgetLongLabel()を返します。
    098         *
    099         * @param       title   ツールチップに表示するタイトル属性
    100         *
    101         * @return      ラベルインターフェースの名前(長)
    102         * @see #getLongLabel()
    103         */
    104        String getLongLabel( String title ) ;
    105
    106        /**
    107         * ラベルインターフェースの概要説明を返します。
    108         * 概要説明が存在する場合は、ラベルのツールチップに
    109         * 概要説明が表示されます。
    110         *
    111         * @return      ラベルインターフェースの概要説明
    112         */
    113        String getDescription() ;
    114
    115        /**
    116         * ラベルインターフェースの引数付きメッセージを返します。
    117         * 概要(対応方法)の引数部分に、文字列配列を適用して、MessageFormat
    118         * で変換した結果を返します。(MessageData でのみ有効です。)
    119         *
    120         * @og.rev 4.3.7.6 (2009/07/15) 新規作成
    121         *
    122         * @param       vals パラメータ配列(可変長引数)
    123         *
    124         * @return      ラベルインターフェースの引数付き概要
    125         */
    126        String getDescription( String... vals ) ;
    127
    128        /**
    129         * リソースＤＢから作成されたかどうかを返します。
    130         * 正式な場合は、true / リソースになく、独自に作成された場合は、false になります。
    131         *
    132         * @return      リソースＤＢから作成されたかどうか
    133         */
    134        boolean isOfficial() ;
    135}