クラス HybsSystem

java.lang.Object
org.opengion.hayabusa.common.HybsSystem

public final class HybsSystem extends Object
共通的に、使用されるシステム関連メソッドを集約したクラスです。 全変数は、public static final 宣言されています。 メソッドは、日付取得、エラーメッセージ処理 を行っています。
機能分類
初期化
導入されたバージョン:
JDK5.0,
  • フィールドの概要

    フィールド
    修飾子とタイプ
    フィールド
    説明
    static final String
    6.2.0.0 (2015/02/27) aimai 属性をrequest変数にセットする場合のキー "h_aimai_"
    static final String
    BACK_GAMENID情報をセッションに登録するときのキー "h_bgadrs"
    static final String
    BACK_GAMENID情報をセッションに登録するときのキー "h_bgid"
    static final String
    BACK_ROW情報をセッションに登録するときのキー "h_brow"
    static final String
    6.4.4.1 (2016/03/18) application オブジェクトに関連付ける 共通メッセージ情報のキー "h_cmnMsg"
    static final String
    DBTableModel の整合性パラメータをリクエスト情報より取得するときのキー "h_consisKey"
    static final String
    4.3.0.0 (2008/07/04) 最後に Queryを実行した情報の保存時のキー "h_lastSql"
    static final String
    session オブジェクトに関連付ける ViewMark:editor インスタンスのデフォルトキー
    static final String
    session オブジェクトに関連付ける エラーメッセージ情報キャッシュのキー "h_errMsg"
    static final String
    5.1.7.0 (2010/06/01) イベントカラムをラップするspanタグのクラス "h_evElm"
    static final String
    5.1.7.0 (2010/06/01) イベントカラムをラップするspanタグで、子カラムのIDを設定する属性名 "h_evCid"
    static final String
    5.1.7.0 (2010/06/01) イベントカラムをラップするspanタグで、子カラムの初期値を設定する属性名 "h_evVal"
    static final String
    5.1.7.0 (2010/06/01) イベントカラムをラップするspanタグで、子カラムの書き込み可/不可を設定する属性名 "h_evWrtbl"
    static final String
    Forward時の転送先ページ名をセッションに登録するときのキー "h_fpg"
    static final char
    4.0.0 (2005/01/31) GUIのロールを区切る、区切り文字 '|'
    static final String
    4.0.0 (2005/08/31) グループメニューのキャッシュキー "h_grpCache"
    static final String
    session オブジェクトに関連付ける GUIInfo インスタンスのキー "h_gInfo"
    static final String
    8.0.0.0 (2021/07/01) 実行しているサーバーのIPアドレス
    static final String
    8.0.0.0 (2021/07/01) 実行しているサーバーの名称
    static final String
    3.8.9.1 (2005/07/29) JFreeChart オブジェクトのキャッシュ "h_chartKey"
    static final String
    カラムID(連結文字列)行番号の連結文字列を定義 "__"
    static final String
    4.0.0 (2005/02/28) Tomcat起動時エラーが発生した場合のエラーキー "h_lclConErr"
    static final String
    4.0.0 (2005/01/31) ローカルリソースのオブジェクト保存時のキー "h_lclRes"
    static final int
    URL に使用可能な文字数は最大 2,083 文字 http://support.microsoft.com/default.aspx?
    static final String
    同一セッションでのマルチ起動された場合に、前に開かれた画面からのアクセスを禁止します。
    static final String
    4.1.2.1 (2008/03/13) must 属性をrequest変数にセットする場合のキー "h_must_"
    static final String
    4.3.3.0 (2008/10/01) ページ内で画面遷移なしモードを指定しようする場合のキー "h_noTrnsKey"
    static final String
    SubmitTag で出力されるボタンパラメータは、次ページへ転送しません。
    static final String
    oldUserId 文字列をセッションに登録するときのキー "h_oldID"
    static final String
    5.3.2.0 (2011/02/01) リクエストパラメーターのキー一覧を保存する際のキー "h_prmNms"
    static final String
    5.3.6.0 (2011/06/01) クエリを呼び出し時のフォーカスを制御するためのキー "h_qryFcs"
    static final String
    session オブジェクトに関連付ける リクエスト情報キャッシュのキー "h_req"
    static final String
    Forward時の転送元ページ名をセッションに登録するときのキー "h_rpg"
    static final String
    テーブル表示のチェックボックスを特定する id の 名称( id は、この名称+行番号) "cb"
    static final String
    テーブル表示時のチェックボックスのname属性 "h_rowSel" テーブル表示時にチェックボックスを表示しておき、どの行が選ばれたかを 指定する場合に、その name 属性に指定するキーの値です。
    static final String
    Timerオブジェクトの管理用キー "h_timer"
    static final String
    TimerTaskオブジェクトの管理用キー "h_timer_task"
    static final String
    5.5.9.1 (2012/12/07) セッション作成時に、セッションIDを保存しておく、規定のキー "h_session_key"
    static final String
    Shell オブジェクトをセッションに登録するときのキー "h_shKeepKey"
    static final String
    sortAscending をリクエスト情報より取得するときのキー "h_sortAsc"
    static final String
    sortColumns 文字列をリクエスト情報より取得するときのキー "h_sortClmns"
    static final String
    session オブジェクトに関連付ける ExcelOut の整合性チェック用のキー
    static final String
    session オブジェクトに関連付ける DBTableModel インスタンスのデフォルトキー "h_tblmdl"
    static final String
    4.3.7.0 (2009/06/01) linkタグのurlCheckキーを出力する際のパラメーターキー "h_urlCheck"
    static final String
    5.2.2.0 (2010/11/01) URLの引数部をハッシュする際のリクエストキー "h_r"
    static final String
    4.3.7.5 (2009/07/08) ページ内でajaxSubmitを利用する場合のキー "h_ajaxSubmit"
    static final String
    4.3.6.0 (2009/04/01) イベントカラムを利用したかどうかのチェックキー "h_eventColumn"
    static final String
    6.4.5.2 (2016/05/06) UPLOADから呼ばれたかどうかを判定するための、規定のキー "h_UPLOAD"
    static final String
    session オブジェクトに関連付ける UserInfo インスタンスのキー "h_uInfo"
    static final String
    session オブジェクトに関連付ける ViewMark インスタンスのデフォルトキー "h_vmark"
    static final String
    5.1.6.0 (2010/05/01) Viewでソート済みかどうかを判定する際のキー "h_viewSrt"
    static final String
    session オブジェクトに関連付ける Viewform インスタンスのデフォルトキー "h_vform"
    static final String
    session オブジェクトに関連付ける ViewLink インスタンスのデフォルトキー "h_vlink"
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    static String
    入力文字列に、{@SYS},{@ENV} の文字列変換を行います。
    static String
    システムのコンテキスト名を取得します。
    static String
    現在日付、時刻を所得します。
    static String
    getDate(long time)
    指定時刻をデフォルトのフォーマットで、所得します。
    static String
    getMsg(String id, Object... args)
    "org.opengion.hayabusa.message" の Locale.JAPANESE リソースから取得するメッセージを文字列で返します。
    static String
    サーバーのプリンター一覧のスペース区切り文字列を返します。
    static String
    内部システムパラメータ に、realPath を取得します。
    システムリソース情報を取得します。
    static boolean
    システムパラメータの追加情報セットが終了しているかどうかを取得します。
    static <T> T
    標準のクラスローダを使って、識別id に応じた オブジェクトを作成します。
    static <T> T
    newInstance(String sysKey, String cls)
    HybsSystem.sys から識別idとなるクラス名を取得して、オブジェクトを作成します。
    static void
    内部システムリソースマップオブジェクトを設定します。
    (package private) static void
    内部システムパラメータ に、realPath を設定します。
    static void
    setRequestParam(String serverName, String scheme, int port, String path)
    システムパラメータ情報を追加設定します。
    static String
    sys(String key)
    システム設定ファイルのデータを所得します。
    static String
    sys(String key, boolean useNoKeyLog)
    システム設定ファイルのデータを所得します。
    static boolean
    システム設定ファイルのデータを所得します。
    static HybsEntry[]
    システム設定ファイルから、複数のデータを所得します。
    static int
    システム設定ファイルのデータを所得します。
    static String
    絶対パスと判断されるものは変換せず、それ以外を絶対パスに変換します。
    static String
    url2dir(String... urls)
    システム依存のURL文字列から、実際のディレクトリ名を所得します。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

  • メソッドの詳細

    • setInitialData

      public static void setInitialData(Map<String,String> param)
      内部システムリソースマップオブジェクトを設定します。
      パラメータ:
      param - システムリソースマップ
      変更履歴:
      3.5.3.1 (2003/10/31) 新規作成, 4.0.0.0 (2005/01/31) Ver4 のシステムパラメータ情報の取得処理を追加します。, 4.3.1.0 (2008/09/03) SERVER_NAME,SERVER_URL,CONTEXT_URLをキャッシュから復元, 4.3.1.0 (2008/09/03) SERVER_NAME,SERVER_URL,CONTEXT_URLをキャッシュから復元, 6.2.4.1 (2015/05/22) REAL_PATH 対応。realPath は、setInitialData ではなく、setRealPathメソッドで設定する。, 6.4.3.1 (2016/02/12) ConcurrentHashMap で同期処理を行います。, 6.4.3.3 (2016/03/04) SYS_MAP を、ConcurrentHashMap で同期するため、not null制限チェックを追加します。, 6.4.9.1 (2016/08/05) reqCache → REQ_CACHE 変更
    • setRealPath

      static void setRealPath(String path)
      内部システムパラメータ に、realPath を設定します。 その際、Tomcatのバージョン(過去の一部バージョン)で、最後のファイルセパレータが 付かないケースがありましたので、付ける方向で、統一します。 このメソッドは、SystemParameter#loadInitialParameter( ServletContext , String )からのみ 呼ばれることを想定しています。
      パラメータ:
      path - context.getRealPath( "" ) を引数で渡してきます。
      変更履歴:
      6.2.4.1 (2015/05/22) REAL_PATH 対応。realPath は、setInitialData ではなく、setRealPathメソッドで設定する。
    • getRealPath

      public static String getRealPath()
      内部システムパラメータ に、realPath を取得します。 その際、Tomcatのバージョン(過去の一部バージョン)で、最後のファイルセパレータが 付かないケースがありましたので、付ける方向で、統一します。
      戻り値:
      REAL_PATH コンテキストのトップパス
      変更履歴:
      6.2.4.1 (2015/05/22) REAL_PATH 対応。realPath は、setInitialData ではなく、setRealPathメソッドで設定する。
    • isParamSet

      public static boolean isParamSet()
      システムパラメータの追加情報セットが終了しているかどうかを取得します。 設定処理を行うかどうかの判定に使用します。
      戻り値:
      true:設定完了 / false:未完了(設定可能)
      関連項目:
      変更履歴:
      4.0.0.0 (2005/11/30) 新規作成
    • setRequestParam

      public static void setRequestParam(String serverName, String scheme, int port, String path)
      システムパラメータ情報を追加設定します。 これは、SERVER_NAME、SERVER_URL、CONTEXT_URL などのリクエストオブジェクトから しか取得できない共有情報を、登録する場合に使用します。 これらの値は、taglib/JspInitTag タグでセットされます。 セットする前に、isParamSet() で設定済みかどうか判断してください。 このメソッドは、isParamSet() の値に関係なく、セットします。
      パラメータ:
      serverName - サーバー名
      scheme - スキーマ
      port - ポート番号
      path - コンテキストパス
      関連項目:
      変更履歴:
      4.0.0.0 (2005/01/31) 新規作成, 4.3.1.0 (2008/09/03) SERVER_NAME,SERVER_URL,CONTEXT_URLのキャッシュ処理追加, 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。, 6.4.9.1 (2016/08/05) reqCache → REQ_CACHE 変更
    • getDate

      public static String getDate()
      現在日付、時刻を所得します。 出力フォーマットは、システムパラメータ の SYS_TIME の 設定を適用します。( "yyyy/MM/dd HH:mm:ss" )
      戻り値:
      現在日付、時刻 ( 例 2001/04/17 15:48:22 )
      変更履歴:
      4.0.0.0 (2005/01/31) getSystemResource() ⇒ sysParam に変更, 6.4.2.0 (2016/01/29) DateSet.getDate( String ) を利用するように修正します。
    • getDate

      public static String getDate(long time)
      指定時刻をデフォルトのフォーマットで、所得します。 フォーマットの指定方法は、java.text.SimpleDateFormat の指定方法と同一です。 出力フォーマットは、システムパラメータ の SYS_TIME の 設定を適用します。( "yyyy/MM/dd HH:mm:ss" )
      パラメータ:
      time - 指定のカレントタイム
      戻り値:
      現在日付、時刻( 例 2001/04/17 15:48:22 )
      変更履歴:
      4.0.0.0 (2005/01/31) getSystemResource() ⇒ sysParam に変更, 5.5.7.2 (2012/10/09) HybsDateUtil を利用するように修正します。
    • sys

      public static String sys(String key)
      システム設定ファイルのデータを所得します。 キーが存在しない場合は、null を返します。 キーがnullの場合は、HybsSystemException をスローします。
      パラメータ:
      key - システム設定 キー
      戻り値:
      システム設定値 // * @throws HybsSystemException キーが null の場合。
      変更履歴:
      6.7.4.1 (2017/02/17) キーが存在しなかった場合のログ出力を出すかどうか(true:出す), 8.5.5.1 (2024/02/29) キーがnll の場合は、Exception ではなく、null を返す。
    • sys

      public static String sys(String key, boolean useNoKeyLog)
      システム設定ファイルのデータを所得します。 キーが存在しないか、mull の場合は、null を返します。 // * キーが存在しない場合は、null を返します。 // * キーがnullの場合は、HybsSystemException をスローします。
      パラメータ:
      key - システム設定 キー
      useNoKeyLog - システムリソースキーが存在しない場合に、ログ出力するかどうか [true:出力する/false:出力しない]
      戻り値:
      システム設定値 // * @throws HybsSystemException キーが null の場合。
      変更履歴:
      3.5.5.0 (2004/03/12) {@SYS.XXXX} で使用できる変数を増やします。, 3.5.5.3 (2004/04/09) {@SYS.XXXX} に、DATE というキーを追加します。, 4.0.0.0 (2005/01/31) getSystemResource() ⇒ sysParam に変更, 6.7.4.1 (2017/02/17) キーが存在しなかった場合のログ出力を出すかどうか(true:出す), 8.5.5.1 (2024/02/29) キーがnll の場合は、Exception ではなく、null を返す。
    • sysEntry

      public static HybsEntry[] sysEntry(String key)
      システム設定ファイルから、複数のデータを所得します。 キーが、"ABC" とすれば、それで始まるデータ( ABCD, ABC_01 など) を配列で取得できます。 リターン配列は、ソートされています。
      パラメータ:
      key - システム設定 キー(の先頭の部分文字列)
      戻り値:
      システム設定配列 HybsEntry
      変更履歴:
      4.0.0.0 (2005/01/31) getSystemResource() ⇒ sysParam に変更, 6.3.9.0 (2015/11/06) Map.keySet() ではなく、Map.entrySet() を使う様に変更。, 6.4.3.3 (2016/03/04) HybsSystem.newInstance(String,String) への置き換え。
    • sysInt

      public static int sysInt(String key)
      システム設定ファイルのデータを所得します。 特別に、int 型にデータを変換して渡します。 変換できない場合は、NumberFormatException がスローされます。
      パラメータ:
      key - システム設定 キー
      戻り値:
      システム設定値
      変更履歴:
      3.5.3.1 (2003/10/31) エラー時に、判るようにメッセージを出します。, 4.0.0.0 (2005/01/31) getSystemResource() ⇒ sysParam に変更
    • sysBool

      public static boolean sysBool(String key)
      システム設定ファイルのデータを所得します。 特別に、boolean 型にデータを変換して渡します。 変換できない場合は、NumberFormatException がスローされます。
      パラメータ:
      key - システム設定 キー
      戻り値:
      システム設定値
      変更履歴:
      3.5.6.0 (2004/06/18) Booleanのコンストラクタの代わりに、Boolean.valueOf(...) を使用します。
    • url2dir

      public static String url2dir(String... urls)
      システム依存のURL文字列から、実際のディレクトリ名を所得します。 UNIX と Windows を URL パス名から判断して、実ディレクトリを返します。 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、2文字目が、 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、 システムパラメータ の FILE_URL 属性で指定のフォルダの下に、作成されます。 相対パス、または、URL の場合は、頭に / を入れないでください。UNIX の 絶対パスと判断されます。 また、絶対パスの最後には、/ を入れておいてください。
      パラメータ:
      urls - URL文字列(可変長配列)
      戻り値:
      ディレクトリ文字列
      変更履歴:
      4.0.0.0 (2005/01/31) StringUtil.urlAppend メソッドの利用, 6.4.2.1 (2016/02/05) 引数をすべて、StringUtil.urlAppend していきます。, 5.10.9.0 (2019/03/01) クラウドストレージ対応を追加。, 7.0.2.2 (2019/03/25) StringBuilder を使わなくします。
    • url2absPath

      public static String url2absPath(String url)
      絶対パスと判断されるものは変換せず、それ以外を絶対パスに変換します。
      パラメータ:
      url - URL文字列
      戻り値:
      ディレクトリ文字列
      変更履歴:
      5.10.9.2 (2019/03/15) クラウドストレージ対応を追加。, 7.0.2.2 (2019/03/25) StringBuilder を使わなくします。, 5.10.21.1 (2020/04/21) \\から開始するディレクトリについても無変換の対象とします。, 7.2.6.2 (2020/07/29) 引数がゼロ文字列の場合の処理追加。
    • getSystemResourceMap

      システムリソース情報を取得します。 形式は、Map です。 実質的には、キーでソーティングされた、ConcurrentSkipListMap を返します。
      戻り値:
      システムリソース情報:キー([0])、値([1])の2次元配列
      変更履歴:
      6.4.3.3 (2016/03/04) 配列返しではなく、Map を返します。
    • getContextName

      public static String getContextName()
      システムのコンテキスト名を取得します。 コンテキスト名は、Tomcat の servr.xml で指定する仮想フォルダ名です。
      戻り値:
      コンテキスト名(仮想フォルダ名)
      変更履歴:
      3.5.4.3 (2004/01/05) 新規追加
    • getPrinter

      public static String getPrinter()
      サーバーのプリンター一覧のスペース区切り文字列を返します。 プリンタ名にスペースが含まれる場合は、前後にダブルクオートを付けます。 ここで求めた値は、"SYS.PRINTER" で、取得可能です。(最初の取得時に内部キャッシュされます。) SystemData#OMIT_PRINTER_NAMES に登録されている一覧名と先頭一致するプリンタは除外します。 例えば、Windows等で、初めから登録されている Fax,Microsoft XPS などは、不要なのでOMITします。
      戻り値:
      サーバーのプリンター一覧のスペース区切り文字列
      変更履歴:
      6.2.6.0 (2015/06/19) サーバーのプリンター一覧のスペース区切り文字列対応。, 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。, 7.2.4.0 (2020/05/11) bufに何もセットされなかった場合、マイナスエラーになった。
    • newInstance

      public static <T> T newInstance(String sysKey, String cls)
      HybsSystem.sys から識別idとなるクラス名を取得して、オブジェクトを作成します。 簡易的なメソッドです。
      型パラメータ:
      T - キャストされて生成される新しいオブジェクト
      パラメータ:
      sysKey - クラスのキーとなるID(共通キー)
      cls - 作成するクラスの個別キー
      戻り値:
      Tオブジェクト
      例外:
      RuntimeException - 何らかのエラーが発生した場合
      変更履歴:
      6.4.3.3 (2016/03/04) 新規作成。
    • newInstance

      public static <T> T newInstance(String cls)
      標準のクラスローダを使って、識別id に応じた オブジェクトを作成します。 作成するには、デフォルトコンストラクターが必要です。
      型パラメータ:
      T - キャストされて生成される新しいオブジェクト
      パラメータ:
      cls - 作成するクラスのフルネーム(識別id)
      戻り値:
      Tオブジェクト
      例外:
      RuntimeException - 何らかのエラーが発生した場合
      変更履歴:
      6.4.3.3 (2016/03/04) リフレクション系の見直しと、例外の共通クラスに置き換えます。, 6.8.2.3 (2017/11/10) java9対応(cls.newInstance() → cls.getDeclaredConstructor().newInstance())
    • getMsg

      public static String getMsg(String id, Object... args)
      "org.opengion.hayabusa.message" の Locale.JAPANESE リソースから取得するメッセージを文字列で返します。 id と引数を受け取り、ResourceBundle と、MessageFormat.format で加工した 文字列を返します。 baseName は、F_BS_NM で、Locale に、Locale.JAPANESE を指定したメッセージを作成します。 hayabusaパッケージと、pluginパッケージで主に使われる、メッセージの取得方法です。
      パラメータ:
      id - リソースのキーとなるID。
      args - リソースを、MessageFormat.format で加工する場合の引数。
      戻り値:
      MessageFormat.formatで加工された文字列
      関連項目:
      変更履歴:
      6.4.3.2 (2016/02/19) 新規追加
    • changeParam

      public static String changeParam(String inMsg)
      入力文字列に、{@SYS},{@ENV} の文字列変換を行います。 {@SYS.XXX} システムリソースMapを元に、文字列を変換します。 {@ENV.XXX} 環境変数(Javaオプション)の文字列を変換します。(java -Dkey=value オプション)
      パラメータ:
      inMsg - 入力文字列(nullの場合、そのまま返します)
      戻り値:
      変換後文字列
      変更履歴:
      6.9.0.1 (2018/02/05) 新規追加