org.opengion.plugin.view

## クラス ViewForm_ImageTimeBar

- java.lang.Object
- - org.opengion.hayabusa.html.AbstractViewForm
  - - org.opengion.plugin.view.ViewForm_HTMLTable
    - - org.opengion.plugin.view.ViewForm_ImageTimeBar

- すべての実装されたインタフェース:
    ViewForm

      public class ViewForm_ImageTimeBar
      extends ViewForm_HTMLTable

       キー、日時、状況コードを持つ稼働状況の表示を行うクラスです。

       パラメータが必要な場合は、ViewTimeBarParamTag を使用してください。

       パラメータが設定されていない場合は、ViewForm_ImageTimeBar の初期値が使用されます。
       (パラメータを使用するには、viewタグのuseParam 属性をtrueに設定する必要があります。)

       SELECT文は、キー、日時、状況コードが、必須項目で、カラムの並び順は、完全に固定です。
       よって、カラム位置を指定する必要はありませんが、SELECT文を自由に設定することも
       出来ませんので、ご注意ください。
       この固定化に伴い、WRITABLE 指定も使用できません。（そもそも書き込み不可です）
       それ以降のカラムについては、内部処理としては、使用していません。
       ただし、パラメータで、カラー色指定、ラベル表記部、イメージ重ね合わせ、
       ポップアップ表記、リンク表記に使えます。

       データの並び順(ORDER BY)も、キー、日時順にしてください。
       データは、キー単位に１レコード作成されます。（キーブレイク）その間、日時順に
       データを処理します。

       データの表示は、今のレコードの日時から、次のレコードの日時までを一つの状態と
       して表します。今のレコードを表示するには、次のレコードが必要になります。
       画面表示は、表示開始日時(minStartTime) から 表示期間(timeSpan)分を表示します。
       通常、開始時刻は、表示開始時刻より前より始まり、次のレコードで、終了時刻が決定
       されます。最後のデータは、期間満了まで続いていると仮定されます。
       データが存在しないのであれば、「存在しないデータ」を作成してください。

       ImageTimeBar では、キーでまとめた値について、各状況コードをカラー化し、積み上げ
       帯グラフ形式でPNG画像化します。
       この画像を、読み込む HTML を出力することで、画面上に、積み上げ帯グラフを表示します。
       状況コードに対応する色は、標準では自動作成ですが、外部から色文字列(colorClm)を与えることで
       自由に指定する事も可能です。

       ポップアップ表記(tipsClm)、リンク表記(linkClm)は、この画像に対するエリア指定タグを出力する事で実現します。
       画像ファイルは、全データに対して、１画像だけなので、サイズは大きくなりますが、１レコード
       単位に画像を作成しないため、レスポンスは向上します。
       それぞれ、viewMarker , viewLink を利用することが可能です。特に、リンク表記(linkClm) については、
       linkタグの hrefTarget 属性を true に設定することで適用できます。

       画像ファイルは、java.io.File.createTempFile( File ) で作成するため、JavaVM(=Tomcat)が
       正常終了するときに、削除されます。異常終了時には残りますが、temp フォルダを定期的に
       整理すれば、それほど大量のファイルが残ることはないと思われます。

       データは、イベント発生時に作成されると仮定しています。つまり、書き込まれた日時から、
       状況コードに対応する状況が発生し、次の状況違いのレコードまで継続していると考えます。
       よって、データを途中で切り出す場合、切り出す範囲の前の状態が必要になります。
       一番最初の状態は、"不明" として扱います。（空欄＝白色）

  機能分類
    画面表示
  変更履歴:
    5.5.5.6 (2012/08/31) 新規追加
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドのサマリー

    - ### クラスから継承されたフィールド org.opengion.plugin.view.ViewForm_HTMLTable

      `headerLine`

    - ### クラスから継承されたフィールド org.opengion.hayabusa.html.AbstractViewForm

      `BUFFER_LARGE, BUFFER_MIDDLE, CR`

    - ### インタフェースから継承されたフィールド org.opengion.hayabusa.html.ViewForm

      `DEFAULT_CLM_WRITABLE, DEFAULT_SKIP`

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `ViewForm_ImageTimeBar()`

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `java.lang.String` | `create(int startNo, int pageSize)` DBTableModel から HTML文字列を作成して返します。
    `boolean` | `isEditable()` 表示項目の編集(並び替え)が可能かどうかを返します。

    - ### クラスから継承されたメソッド org.opengion.plugin.view.ViewForm_HTMLTable

      `canUseFormat, clear, getColumnLabel, getHeader, getHeadLine, getHeadLine, getTableFoot, getTableHead, getTableTag, makeCheckbox, makeCheckbox, makeNthChild, setPopupReturnKeys`

    - ### クラスから継承されたメソッド org.opengion.hayabusa.html.AbstractViewForm

      `create, create, getAllCheckControl, getBackLinkCount, getBgColorCycleClass, getBgColorCycleClass, getBoolParam, getClassName, getColumnCount, getColumnDbType, getColumnDisplayCount, getColumnName, getColumnNo, getColumnSize, getCountForm, getDBColumn, getDBTableModel, getEditorValue, getGamenId, getHeaderSkipCount, getHeight, getHiddenRowValue, getId, getIntParam, getLastNo, getName, getNumberData, getNumberHeader, getOptionTypeAttributes, getPageSize, getParam, getParam, getRendererValue, getRendererValue, getResourceManager, getRowCount, getScrollBarEndDiv, getScrollBarStartDiv, getSelectedType, getSortedColumnLabel, getStartNo, getTableClass, getTypeCaseValue, getValue, getValueLabel, getViewArrayList, getViewClass, getViewClms, getViewClms, getViewFormType, getWidth, init, isChecked, isClmBulkSet, isColumnDisplay, isColumnWritable, isFirstChecked, isMarked, isMustAnyColumn, isMustColumn, isNoTransition, isNumberDisplay, isSkip, isSkipNoEdit, isUseCheckControl, isWritable, makeTableSorterQuery, markerSet, setBackLinkCount, setBgColorClsClm, setBgColorCycle, setBooleanArray, setColumnBulkSet, setColumnDisplay, setColumnDisplay, setColumnGroup, setColumnWritable, setColumnWritable, setDBColumn, setEditMarker, setFormatNoDisplay, setFormatterList, setGamenId, setGroupClass, setGroupDir, setHeaderSkipCount, setHeight, setId, setName, setNoDisplay, setNoGroup, setNoMessage, setNoTransition, setNoWritable, setNumberType, setOptionTypeAttributes, setPageSize, setParam, setResourceManager, setScrollRowNo, setSelectedType, setSkip, setSkipNoEdit, setStartNo, setTableClass, setTableSorterKeys, setUseCheckControl, setUseScrollBar, setUseTableSorter, setViewArrayList, setViewClass, setViewLink, setViewMarker, setWidth, setWritableControl`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### ViewForm_ImageTimeBar

          public ViewForm_ImageTimeBar()

  - ### メソッドの詳細

    - #### create

          public java.lang.String create(int startNo,
                                         int pageSize)

      DBTableModel から HTML文字列を作成して返します。 startNo(表示開始位置)から、pageSize(表示件数)までのView文字列を作成します。 表示残りデータが pageSize 以下の場合は,残りのデータをすべて出力します。
      定義:
        `create` インタフェース内 `ViewForm`
      オーバーライド:
        `create` クラス内 `ViewForm_HTMLTable`
      パラメータ:
        `startNo` - 表示開始位置
        `pageSize` - 表示件数
      戻り値:
        DBTableModelから作成された HTML文字列
      変更履歴:
        5.6.1.0 (2013/02/01) tips や link は、ひとつ前のデータで作成する必要がる為、最初の1件目は、処理しないように修正, 5.6.1.1 (2013/02/08) 初期値の色を、直接の値ではなく、static final で定義された色を使用する。色自体は変えていません, 5.6.1.1 (2013/02/08) useLastData 追加, 5.6.3.0 (2013/04/01) tipsのシングルクォーテーション のエスケープ, 5.6.3.1 (2013/04/05) 短縮ラベルなど、<span>タグが付与される値から、spanタグを削除します。, 6.0.2.0 (2014/09/19) データが存在しない最後の処理で、現在時刻まで、継続しているとします。, 6.4.2.0 (2016/01/29) alt属性にtitle属性を追記。, 6.4.4.1 (2016/03/18) StringBuilderの代わりに、OgBuilderを使用する。, 6.4.4.2 (2016/04/01) 引数を、Supplierクラスに変更して、結果を複数指定できるようにします。, 6.4.6.1 (2016/06/03) ヘッダー部の高さを指定できるようにする。, 6.4.7.1 (2016/06/17) useLastData属性は、最後の処理のみに適用する。, 6.4.8.2 (2016/07/08) 未来時刻の場合に、現在時刻まで巻き戻って塗りつぶしているので、未来時刻の判定を追加。, 6.7.5.0 (2017/03/10) COLOR_CLM の値を、getValueLabel で取得するように変更。, 6.9.7.0 (2018/05/14) imgタグに付与する、高さ、幅を、AbstractViewForm から、取得します。, 6.9.9.1 (2018/08/27) ラベル領域の長さ求めで、改行が含まれる場合の計算対応。, 7.0.1.0 (2018/10/15) XHTML → HTML5 対応(空要素の、"／＞" 止めを、"＞" に変更します)。
      このメソッドは、nullを返しません

    - #### isEditable

          public boolean isEditable()

      表示項目の編集(並び替え)が可能かどうかを返します。
      定義:
        `isEditable` インタフェース内 `ViewForm`
      オーバーライド:
        `isEditable` クラス内 `AbstractViewForm`
      戻り値:
        表示項目の編集(並び替え)が可能かどうか(false:不可能)

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.