org.opengion.hayabusa.taglib

## クラス ColumnEditorTag

- java.lang.Object
- - javax.servlet.jsp.tagext.TagSupport
  - - javax.servlet.jsp.tagext.BodyTagSupport
    - - org.opengion.hayabusa.taglib.CommonTagSupport
      - - org.opengion.hayabusa.taglib.HTMLTagSupport
        - - org.opengion.hayabusa.taglib.ColumnEditorTag

- すべての実装されたインタフェース:
    Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally

      public class ColumnEditorTag
      extends HTMLTagSupport

       検索結果のカラムに対して様々な属性を付加するタグです。

       このタグでは、カラムリソースの属性を再設定できます。検索結果(DBTableModel)
       には、カラムオブジェクト(DBColumn)を持っています。このオブジェクトは、
       カラムリソースで設定した値を持っています。その個々の値を再設定することで、
       カラムオブジェクトの属性をその都度設定しなおすことができます。
       最もよく使用するのは、must 属性の設定と、DBMENU エディターの設定です。
       must属性は、予め必須項目として指定することが出来ない為、画面毎に再設定が
       必要です。ただし、ここでのmust属性は、カラムの表示色を変更するだけで、
       実際のnullチェックは、columnCheck タグのnullCheck属性で指定します。
       DBMENU エディターは、データベースの属性から選択リストを作成する機能ですが、
       これも、マスタ登録時は、テキストフィールドで入力し、使用時は、選択するケース
       の様に、画面毎に異なる形式で使用したい場合があるためです。
       このタグでは、カラムオブジェクトの属性以外に、HTMLの属性を付加する事も
       できます。

  関連項目:
    直列化された形式
  形式サンプル:

         ●形式：<og:ColumnEditor column="･･･" ･･･ > ･･･ </og:ColumnEditor >
         ●body：あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します)

         ●Tag定義：
           <og:columnEditor
               column             【TAG】カラム名をセットします
               columns            【TAG】カラム名をCSV形式で複数セットします
               label              【TAG】ラベルリソースに定義されたラベルＩＤをセットします
               className          【TAG】カラムのクラス名(VARCHAR2,NUMBER など)をセットします。既存値:設定値対応
               size               【HTML】カラムの入力枠サイズをセットします(大きさだけで入力文字制限ではありません)
               viewSize           【TAG】カラムの表示サイズ(横幅)を文字数でセットします。
               maxlength          【HTML】カラムの入力文字制限数をセットします
               writable           【TAG】カラムが書き込み可能かどうか[true/false]をセットします(初期値:null)
               renderer           【TAG】カラムの表示用レンデラー(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=renderer" target="CONTENTS">Renderer_****</a>)をセットします。既存値:設定値対応
               editor             【TAG】カラムの編集用エディター(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=editor" target="CONTENTS">Editor_****</a>)をセットします。既存値:設定値対応
               dbType             【TAG】ＤＢタイプ(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=dbType" target="CONTENTS">DBType_****</a>)をセットします。既存値:設定値対応
               codeName           【TAG】コードセレクトのユニークキー(コード名称)をセットします
               codeList           【TAG】コードセレクトのサブセットとなるコードをCSV形式で指定します
               codeGroup          【TAG】コードセレクトのサブセットとなるグループを指定します
               codeKeyVal         【TAG】新しいコードセレクトを作成する為の「キー:ラベル キー:ラベル」の文字列を指定します
               defaultVal         【TAG】初期値をセットします
               param              【TAG】パラメータをセットします
               roles              【TAG】ロールをセットします
               must               【TAG】必須入力を表す色に変えるかどうか[true/false]を指定します(初期値:false)
               mustAny            【TAG】選択必須入力(どれかひとつ必須)を表す色[true/mustAny/その他]を指定します(初期値:無指定)
               optionAttributes   【TAG】JavaScript などの HTML基本タグ以外の属性を、そのままタグとして使用します
               addNoValue         【TAG】セレクトメニューの値なしのOptionの有無[true/false]を指定します(初期値:falseと同等)
               addKeyLabel        【TAG】セレクトメニューの場合、キー:ラベル形式で表示するかどうか[true/false/null]を指定します(初期値:null)
               writeKeyLabel      【TAG】セレクトメニューの場合、キーとラベルを分けて出力するかどうか[true/false]を指定します(初期値:false)
               useLabelMap        【TAG】SQL文を指定してラベル情報を動的に読み込むかどうか[true/false]指定します(初期値:false)
               useSLabel          【TAG】MENU,DBMENUでSLABELを利用するかどうか[auto/true/false]を指定します(初期値:null)
               noDisplayVal       【TAG】指定の値を非表示にします(レンデラーのみ有効)(初期値:null)
               scope              【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値:session)
               tableId            【TAG】(通常使いません)sessionから所得する DBTableModelオブジェクトの ID(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])
               dbid               【TAG】(通常使いません)データベースへ接続する場合のID(初期値:null)
               caseKey            【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null)
               caseVal            【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null)
               caseNN             【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない)
               caseNull           【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない)
               caseIf             【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない)
               lang               【HTML】要素の内容と他の属性値の言語(lang,xml:lang)を指定します
               style              【HTML】この要素に対して適用させるスタイルシート(style)を設定します
               clazz              【HTML】要素に対して class 属性を設定します
               onClick            【HTML】JavaScriptのイベント onClick を設定します(例:onClick="renew('query.jsp','QUERY');")
               onChange           【HTML】JavaScriptのイベント onChange を設定します(例:onChange="renew('query.jsp','QUERY');")
               onBlur             【HTML】JavaScriptのイベント onBlur を設定します(例:onBlur="this.value=value.toUpperCase();")
               onFocus            【HTML】JavaScriptのイベント onFocus を設定します
               ondblClick         【HTML】JavaScriptのイベント ondblClick を設定します
               onMouseDown        【HTML】JavaScriptのイベント onMouseDown を設定します
               onMouseUp          【HTML】JavaScriptのイベント onMouseUp を設定します
               onMouseMove        【HTML】JavaScriptのイベント onMouseMove を設定します
               onMouseOut         【HTML】JavaScriptのイベント onMouseOut を設定します
               onMouseOver        【HTML】JavaScriptのイベント onMouseOver を設定します
               onSelect           【HTML】JavaScriptのイベント onSelect を設定します
               onKeydown          【HTML】JavaScriptのイベント onKeydown を設定します
               onKeypress         【HTML】JavaScriptのイベント onKeypress を設定します
               onKeyup            【HTML】JavaScriptのイベント onKeyup を設定します
               autocomplete       【HTML5】入力候補を提示して入力内容を自動補完する[on/off]（初期値はon）。
               autofocus          【HTML5】指定した入力欄にカーソルが当たって自動的にフォーカスされます。
               pattern            【HTML5】正規表現で入力値のパターンを指定します。
               placeholder        【HTML5】入力欄に初期表示する内容を指定します。
               required           【HTML5】入力必須を指定します
               list               【HTML5】ユーザーに入力候補として提案するデータリストの要素のid属性の値を指定します。
               min                【HTML5】入力欄で入力できる最小値を指定します。
               max                【HTML5】入力欄で入力できる最大値を指定します。
               step               【HTML5】入力欄で刻むステップ値を指定する。
               type               【HTML5】HTML5追加分[text/search/tel/url/email/datetime/date/month/week/time/datetime-local/number/range/color]
               eventColumn        【TAG】イベントカラム(親カラム)のセット
               eventValue         【TAG】イベントValueのＳＱＬ分
               eventURL           【TAG】eventColumn利用時に呼ばれるJSPのURL
               eventCallback      【TAG】eventColumn実行後のcallbak関数指定を指定します
               noResource         【TAG】ResourceManager を使用しないかどうか[true/false]を指定します(初期値:false)
               stringOutput       【TAG】レンデラ利用のExcel出力時にセルタイプを文字列にするかどうか(初期値:true)
               debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
           >   ... Body ...
           </og:columnEditor>

         ●使用例：
             ・必須表示の場合
                 <og:columnEditor column="NOSYN" must="true" />

             ・DBからのセレクトメニューの場合
                 <og:columnEditor column="CDBK" editor="DBMENU">
                         select CDBK,CDBK||':'||NMBK from DB02 order by 1
                 </og:columnEditor>

             ・親子関係のプルダウンを作る場合
               ({@xxx.value}で同じ行のxxxカラムで選択した値を取得します)
                 <og:columnEditor column="CDBK" editor="DBMENU"
                      eventColumn="OYA">
                         select CDBK,CDBK||':'||NMBK from DB02
                           where CLM = {@OYA.value} order by 1
                 </og:columnEditor>

  変更履歴:

    3.5.1.0 (2003/10/03) 親クラスをCommonTagSupportからHTMLTagSupportに変更。

  機能分類
    画面表示
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

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

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

      `BR, BUFFER_MIDDLE, CR`

    - ### クラスから継承されたフィールド javax.servlet.jsp.tagext.BodyTagSupport

      `bodyContent`

    - ### クラスから継承されたフィールド javax.servlet.jsp.tagext.TagSupport

      `id, pageContext`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.BodyTag

      `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.IterationTag

      `EVAL_BODY_AGAIN`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.Tag

      `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

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

    コンストラクタ
    コンストラクタと説明
    `ColumnEditorTag()` デフォルトコンストラクター

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

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `int` | `doAfterBody()` Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
    `int` | `doEndTag()` Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    `int` | `doStartTag()` Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
    `protected String` | `makeTag()` タグ文字列を作成します。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setAddKeyLabel(String flag)` 【TAG】セレクトメニューの場合、キー:ラベル形式で表示するかどうか[true/false/null]を指定します(初期値:null)。
    `void` | `setAddNoValue(String flag)` 【TAG】セレクトメニューの値なしのOptionの有無[true/false]を指定します(初期値:falseと同等)。
    `void` | `setClassName(String cls)` 【TAG】カラムのクラス名(VARCHAR2,NUMBER など)をセットします。
    `void` | `setCodeGroup(String group)` 【TAG】コードセレクトのサブセットとなるグループを指定します。
    `void` | `setCodeKeyVal(String keyval)` 【TAG】新しいコードセレクトを作成する為の「キー:ラベル キー:ラベル」の文字列を指定します。
    `void` | `setCodeList(String list)` 【TAG】コードセレクトのサブセットとなるコード(キー)をCSV形式で指定します。
    `void` | `setCodeName(String name)` 【TAG】コードセレクトのユニークキー(コード名称)をセットします。
    `void` | `setColumn(String clm)` 【TAG】カラム名をセットします。
    `void` | `setColumns(String clms)` 【TAG】カラム名をCSV形式で複数セットします。
    `void` | `setDbid(String id)` 【TAG】データベースへ接続する場合のID(初期値:null)。
    `void` | `setDbType(String dt)` 【TAG】ＤＢタイプ(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=dbType" target="CONTENTS">DBType_****</a>)をセットします。
    `void` | `setDefaultVal(String dv)` 【TAG】value属性に値がセットされていないとき使用する、初期値を指定します。
    `void` | `setEditor(String ed)` 【TAG】カラムの編集用エディター(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=editor" target="CONTENTS">Editor_****</a>)をセットします。
    `void` | `setEventCallback(String callback)` 【TAG】eventColumn実行後のcallbak関数を指定します。
    `void` | `setEventColumn(String col)` 【TAG】イベントカラム(親カラム)を設定します。
    `void` | `setEventURL(String url)` 【TAG】イベントカラム指定時に呼び出すURLを指定します。
    `void` | `setEventValue(String val)` 【TAG】eventColumn使用時の値を、SQL文から求めるためのqueryをセットします。
    `void` | `setLabel(String lbl)` 【TAG】ラベルリソースに定義されたラベルＩＤをセットします。
    `void` | `setMaxlength(String len)` 【HTML】最大入力文字数を指定します(入力可能文字数で、バイト数ではありません)。
    `void` | `setNoDisplayVal(String prm)` 【TAG】非表示文字列を指定します(初期値:null)。
    `void` | `setNoResource(String flag)` 【TAG】ResourceManager を使用しないかどうか[true/false]を指定します(初期値:false)。
    `void` | `setParam(String prm)` 【TAG】パラメータをセットします。
    `void` | `setRenderer(String rdr)` 【TAG】カラムの表示用レンデラー(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=renderer" target="CONTENTS">Renderer_****</a>)をセットします。
    `void` | `setSize(String siz)` 【TAG】カラムの入力枠サイズ(横幅)を文字数でセットします(入力文字制限ではありません)。
    `void` | `setStringOutput(String flag)` 【TAG】レンデラ利用時のExcel出力でセルタイプを文字固定にするか[true/false]を指定します(初期値:システム定数のUSE_STRING_EXCEL_OUTPUT)。
    `void` | `setTableId(String id)` 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
    `void` | `setType(String type)` 【HTML5】表示形式を指定します(初期値:text)。
    `void` | `setUseLabelMap(String flag)` 【TAG】SQL文を指定してラベル情報を動的に読み込むかどうか[true/false]指定します(初期値:false)。
    `void` | `setUseSLabel(String prm)` 【TAG】MENU,DBMENUでSLABELを利用するかどうか[auto/true/false]を指定します(初期値:null)。
    `void` | `setViewSize(String len)` 【TAG】カラムの表示サイズ(横幅)を文字数でセットします。
    `void` | `setWritable(String flag)` 【TAG】カラムが書き込み可能かどうか[true:可能/false:不可]を設定します(初期値:null)。
    `void` | `setWriteKeyLabel(String flag)` 【TAG】セレクトメニューの場合、キーとラベルを分けて出力するかどうか[true/false]を指定します(初期値:false)。
    `String` | `toString()` このオブジェクトの文字列表現を返します。

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

      `getMustType, makeAimaiPicker, makeMustHidden, setAccesskey, setAimai, setAutocomplete, setAutofocus, setClazz, setDir, setDisabled, setId, setLang, setList, setMax, setMin, setMust, setMustAny, setOnBlur, setOnChange, setOnClick, setOndblClick, setOnFocus, setOnKeydown, setOnKeypress, setOnKeyup, setOnMouseDown, setOnMouseMove, setOnMouseOut, setOnMouseOver, setOnMouseUp, setOnSelect, setOptionAttributes, setPattern, setPlaceholder, setReadonly, setRequired, setRoles, setStep, setStyle, setTabindex, setTitle, setUseMustHidden`

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

      `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck`

    - ### クラスから継承されたメソッド javax.servlet.jsp.tagext.BodyTagSupport

      `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

    - ### クラスから継承されたメソッド javax.servlet.jsp.tagext.TagSupport

      `findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setPageContext, setParent, setValue`

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

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

    - ### インタフェースから継承されたメソッド javax.servlet.jsp.tagext.Tag

      `getParent, setPageContext, setParent`

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

    - #### ColumnEditorTag

          public ColumnEditorTag()

      デフォルトコンストラクター
      変更履歴:

        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### doStartTag

          public int doStartTag()

      Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
      定義:
        `doStartTag` インタフェース内 `Tag`
      オーバーライド:
        `doStartTag` クラス内 `CommonTagSupport`
      戻り値:
        後続処理の指示( EVAL_BODY_BUFFERED )
      変更履歴:

        3.1.0.0 (2003/03/20) DBColumnConfig#getColumnConfig() メソッド廃止
        3.1.1.0 (2003/03/28) ボディの内容を取得する処理を、CommonTagSupport で行う。
        3.1.1.2 (2003/04/04) Tomcat4.1 対応。ボディが存在する場合のみボディが呼ばれる対応。
        3.5.1.0 (2003/10/03) 親クラスをCommonTagSupportからHTMLTagSupportに変更。
        3.5.5.5 (2004/04/23) 入力欄の大きさを指定する viewSize 属性を追加。
        3.5.5.7 (2004/05/10) CodeSelection を、codeName を元に構築できるように設定します。
        3.5.5.9 (2004/06/07) addNoValue が、設定された場合のみ、config に設定します
        3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加
        5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応

    - #### doAfterBody

          public int doAfterBody()

      Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
      定義:
        `doAfterBody` インタフェース内 `IterationTag`
      オーバーライド:
        `doAfterBody` クラス内 `CommonTagSupport`
      戻り値:
        後続処理の指示(SKIP_BODY)
      変更履歴:

        2.3.1.3 (2003/02/08) ラベル、サイズのみでも変更できるように修正
        3.0.0.1 (2003/02/14) DBMENU作成時に、ラベルの最後のスペースを除去する。
        3.1.0.0 (2003/03/20) DBColumnConfig#getColumnConfig() メソッド廃止
        3.1.1.0 (2003/03/28) ボディの内容を取得する処理を、CommonTagSupport で行う。
        3.1.1.2 (2003/04/04) Tomcat4.1 対応。ボディが存在する場合のみボディが呼ばれる対応。
        3.5.0.0 (2003/09/17) キー、ラベルともに、""(ダブルコーテーション)で囲うように変更。
        3.5.5.7 (2004/05/10) このタグでSQLを発行するのではなく、DBMENU の DBColumnを作成する。
        3.5.5.9 (2004/06/07) addNoValue が null の場合は、初期値を設定します。
        3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加
        3.8.6.3 (2006/11/30) SQL 文の前後のスペースを取り除きます。
        4.3.4.0 (2008/12/01) ラベルデータの動的取得に対応します。
        4.3.6.0 (2009/04/01) イベントカラム対応
        5.1.7.0 (2010/06/01) 動的プルダウン実装見直し
        5.5.4.0 (2012/07/02) 予約語対応
        6.3.1.1 (2015/07/10) BodyString,BodyRawStringは、CommonTagSupport で、trim() します。
        6.4.0.5 (2016/01/09) useLabelMap="true" 時のSQL文の実行は、dbid を使用して行う。

    - #### doEndTag

          public int doEndTag()

      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
        `doEndTag` インタフェース内 `Tag`
      オーバーライド:
        `doEndTag` クラス内 `HTMLTagSupport`
      戻り値:
        後続処理の指示
      変更履歴:

        3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
        3.1.1.2 (2003/04/04) Tomcat4.1 対応。ボディが存在する場合のみボディが呼ばれる対応。
        3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加
        3.8.8.5 (2007/03/09) 全カラム が指定されたことにする allColumns 属性を追加
        4.1.2.1 (2008/03/13) must , mustAny 属性を自動化します。
        4.3.4.0 (2008/12/01) カラム指定のワイルドカード対応
        5.2.1.0 (2010/10/01) must , mustAny 属性の処理を、HTMLTagSupport に移します。
        5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応

    - #### makeTag

          protected String makeTag()

      タグ文字列を作成します。 ColumnEditor としては、HTMLTagSupport を継承しているため、 このメソッドを定義する必要がありますが、内部的には使用していません。 各種属性は、入力する必要がある為、継承しているだけです。 このクラスでは、このメソッドは、使われておりません。
      定義:
        `makeTag` クラス内 `HTMLTagSupport`
      戻り値:
        タグ文字列(常に null を返す)
      変更履歴:

        3.5.1.0 (2003/10/03) 新規追加

    - #### release2

          protected void release2()

      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
        `release2` クラス内 `HTMLTagSupport`
      変更履歴:

        2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加
        3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
        3.5.1.0 (2003/10/03) 親クラスをCommonTagSupportからHTMLTagSupportに変更。
        3.5.5.5 (2004/04/23) 入力欄の大きさを指定する viewSize 属性を追加。
        3.5.5.7 (2004/05/10) codeName 属性を追加。
        3.5.5.9 (2004/06/07) addNoValue 属性を修正。
        3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加
        3.8.8.5 (2007/03/09) 全カラム が指定されたことにする allColumns 属性を追加
        4.1.2.1 (2008/03/13) must , mustAny 属性を自動化します。
        4.3.4.0 (2008/12/01) ラベルデータの動的取得に対応します。
        5.1.9.0 (2010/08/01) codeList , codeGroup 属性を追加。(Codeリソースのサブセット)
        5.2.1.0 (2010/10/01) must , mustAny 属性の処理を、HTMLTagSupport に移します。
        5.6.2.3 (2013/03/22) useSLabel 属性を追加。(MENU,DBMENUでSLABELを利用するかどうか)
        5.6.2.3 (2013/03/22) 非表示文字の設定。noDisplayVal 属性を追加。
        5.7.3.0 (2014/02/07) noResource 属性を追加。ResourceManager を使用しないかどうか
        5.7.6.3 (2014/05/23) stringOutput追加
        6.0.4.0 (2014/11/28) addKeyLabel 属性を追加
        6.2.0.0 (2015/02/27) viewSize 属性の追加
        6.2.3.0 (2015/05/01) キー,ラベルで分離して出力するかどうか。writeKeyLabel 属性を追加
        6.3.1.1 (2015/07/10) codeKeyVal 属性を追加
        6.3.4.0 (2015/08/01) eventValue 追加

    - #### setColumn

          public void setColumn(String clm)

      【TAG】カラム名をセットします。
      パラメータ:
        `clm` - ネーム
      説明:

             カラム名をセットします。
             columns と同時にはセットできません。
             値に"*"を指定することで、全カラムを対象とすることができます。
             また、"PN*,CDK*"等のように前方一致でのワイルドカード指定も可能です。

      変更履歴:

        3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加
        3.8.8.5 (2007/03/09) 全カラム が指定されたことにする allColumns 属性を追加

    - #### setColumns

          public void setColumns(String clms)

      【TAG】カラム名をCSV形式で複数セットします。
      パラメータ:
        `clms` - カラム名(CSV形式)
      説明:

             カラム名をセットします。
             column と同時にはセットできません。
             分解方法は、通常のパラメータ取得後に、CSV分解します。
             値に"*"を指定することで、全カラムを対象とすることができます。
             また、"PN*,CDK*"等のように前方一致でのワイルドカード指定も可能です。

      変更履歴:

        3.7.0.5 (2005/04/11) 複数カラムを同時設定できる columns 属性を追加
        3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。
        3.8.8.5 (2007/03/09) 全カラム が指定されたことにする allColumns 属性を追加

    - #### setLabel

          public void setLabel(String lbl)

      【TAG】ラベルリソースに定義されたラベルＩＤをセットします。
      パラメータ:
        `lbl` - ラベル
      説明:

             ラベルをセットします。

      変更履歴:

        2.3.1.2 (2003/01/28) ラベルリソースからラベル名を取得するように修正
        4.0.0.0 (2005/01/31) キーより、ラベルデータオブジェクトを取得します。

    - #### setClassName

          public void setClassName(String cls)

      【TAG】カラムのクラス名(VARCHAR2,NUMBER など)をセットします。
      パラメータ:
        `cls` - クラス
      説明:

             カラムのクラス名をセットします。
             "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。

      変更履歴:

        6.4.1.1 (2016/01/16) "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。

    - #### setMaxlength

          public void setMaxlength(String len)

      【HTML】最大入力文字数を指定します(入力可能文字数で、バイト数ではありません)。
      パラメータ:
        `len` - 入力文字制限数
      説明:

             カラムの入力文字制限数をセットします。

      変更履歴:

        6.2.3.0 (2015/05/01) maxlength 変数は、0 の場合は、無制限になります。

    - #### setSize

          public void setSize(String siz)

      【TAG】カラムの入力枠サイズ(横幅)を文字数でセットします(入力文字制限ではありません)。
      パラメータ:
        `siz` - サイズ
      説明:

             カラムのサイズをセットします。

      変更履歴:

        3.5.5.5 (2004/04/23) 入力欄の大きさを指定する viewSize 属性を追加。

    - #### setViewSize

          public void setViewSize(String len)

      【TAG】カラムの表示サイズ(横幅)を文字数でセットします。
      パラメータ:
        `len` - 表示サイズ(横幅)
      説明:

             入力枠ではなく、表示する時の文字数制限に使われます。
             maxLength は、DB上の桁数(バイト数)ですが、viewSize は、文字数です。
             SLABEL の簡易バイト数計算(全角2Byte)でもなく、文字数計算になります。

      変更履歴:

        6.2.0.0 (2015/02/27) viewSize 属性の追加

    - #### setWritable

          public void setWritable(String flag)

      【TAG】カラムが書き込み可能かどうか[true:可能/false:不可]を設定します(初期値:null)。
      パラメータ:
        `flag` - 書き込み許可 [true:許可/false:不可]
      説明:

             カラムの書き込み可能を設定します。
             初期値は、null:無指定 です。

    - #### setRenderer

          public void setRenderer(String rdr)

      【TAG】カラムの表示用レンデラー(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=renderer" target="CONTENTS">Renderer_****</a>)をセットします。
      パラメータ:
        `rdr` - 表示用レンデラー (Renderer_**** の ****)
      関連項目:
        `CellRenderer`
      説明:

             これは、plugin.column 以下の Renderer_**** クラスの **** を与えます。
             これらは、CellRenderer インターフェースを継承したサブクラスです。
             属性クラス定義の Renderer を参照願います。
             <a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=renderer" target="CONTENTS">Renderer_**** クラス</a>
             "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。

      変更履歴:

        6.4.1.1 (2016/01/16) "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。

    - #### setEditor

          public void setEditor(String ed)

      【TAG】カラムの編集用エディター(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=editor" target="CONTENTS">Editor_****</a>)をセットします。
      パラメータ:
        `ed` - 編集用エディター (Editor_**** の ****)
      関連項目:
        `CellEditor`
      説明:

             これは、plugin.column 以下の Editor_**** クラスの **** を
             与えます。これらは、CellEditor インターフェースを継承したサブクラスです。
             属性クラス定義の Editor を参照願います。
             <a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=editor" target="CONTENTS">Editor_**** クラス</a>
             "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。

      変更履歴:

        6.4.1.1 (2016/01/16) "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。

    - #### setDbType

          public void setDbType(String dt)

      【TAG】ＤＢタイプ(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=dbType" target="CONTENTS">DBType_****</a>)をセットします。
      パラメータ:
        `dt` - パラメータ
      関連項目:
        `DBType_**** の ****`
      説明:

             これは、org.opengion.hayabusa.db.column 以下の DBType_**** クラスの **** を
             与えます。これらは、DBType インターフェースを継承したサブクラスです。
             属性クラス定義の DBType を参照願います。
             <a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.8.0&VALUENAME=dbType" target="CONTENTS">DBType_**** クラス</a>
             "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。

      変更履歴:

        6.4.1.1 (2016/01/16) "既存値:設定値" という指定を行えば、既存値を持っている場合のみ、設定値に置き換えます。

    - #### setCodeName

          public void setCodeName(String name)

      【TAG】コードセレクトのユニークキー(コード名称)をセットします。
      パラメータ:
        `name` - メニューのユニークキー(コード名称)
      説明:

             このキーを元に、CodeSelectionオブジェクトを構築します。

      変更履歴:

        3.5.5.7 (2004/05/10) 新規作成

    - #### setCodeList

          public void setCodeList(String list)

      【TAG】コードセレクトのサブセットとなるコード(キー)をCSV形式で指定します。
      パラメータ:
        `list` - コードセレクトのサブセットとなるコード(キー)
      説明:

             この値に限定された、コードリソースを、既存の、CodeData の
             サブセットとして作成します。
             codeName で指定されたリソースでも、サブセットを作成する事ができます。
             ここで指定するのは、コード(キー)だけです。

      変更履歴:

        5.1.9.0 (2010/08/01) 新規作成

    - #### setCodeGroup

          public void setCodeGroup(String group)

      【TAG】コードセレクトのサブセットとなるグループを指定します。
      パラメータ:
        `group` - コードセレクトのサブセットとなるグループ
      説明:

             この値に限定された、コードリソースを、既存の、CodeData の
             サブセットとして作成します。
             codeName で指定されたリソースでも、サブセットを作成する事ができます。

      変更履歴:

        5.1.9.0 (2010/08/01) 新規作成

    - #### setCodeKeyVal

          public void setCodeKeyVal(String keyval)

      【TAG】新しいコードセレクトを作成する為の「キー:ラベル キー:ラベル」の文字列を指定します。
      パラメータ:
        `keyval` - KEY:VAL文字列
      説明:

             既存の、CodeData には存在しない、新しいコードリソースを作成する為の、文字列を指定します。
             文字列は、「キー:ラベル キー:ラベル」形式で、スペースで分解後、":" でキーとラベルに分離します。
             スペース分解後の文字列に、":" が含まれていない場合は、キーをラベルとして扱います。
             また、ラベル部分は、ラベルリソースを使用して、変換を行います。
             内部的には、CodeData を作成しません。DBColumnオブジェクト内で、直接、Selection_KEYVAL を生成します。
             codeName 、codeList、codeGroup などが指定された場合は、そちらが優先されます。
             「キー:ラベル キー:ラベル」で、ラベル にスペースを含ませる場合は、ダブルクォーテーションで囲ってください。
             「"キー:ラベル" "キー:ラベル"」という感じです。

             ※ editor,renderer を、"KVMENU" にして、param に、「キー:ラベル キー:ラベル」
                の文字列を指定する方法の、簡易版です。

      変更履歴:

        6.3.1.1 (2015/07/10) codeKeyVal 属性を追加

    - #### setParam

          public void setParam(String prm)

      【TAG】パラメータをセットします。
      パラメータ:
        `prm` - パラメータ
      説明:

             ここで指定したパラメータは、renderer、editor、dbType すべてのパラメータに
             セットされます。
             パラメータをセットします。

      変更履歴:

        5.6.4.3 (2013/05/24) 新規追加

    - #### setDefaultVal

          public void setDefaultVal(String dv)

      【TAG】value属性に値がセットされていないとき使用する、初期値を指定します。
      パラメータ:
        `dv` - 初期値
      説明:

             value属性に値がセットされていないときに、この初期値を使用します。

    - #### setAddNoValue

          public void setAddNoValue(String flag)

      【TAG】セレクトメニューの値なしのOptionの有無[true/false]を指定します(初期値:falseと同等)。
      パラメータ:
        `flag` - 値なしのOptionの有無 [true:含める/それ以外:含めない]
      説明:

             セレクトメニューの場合、値なしのOptionをSelectに含めるかどうかを指定します。
             ここでは、検索結果の登録画面に使用されるケースが多いため、なにも指定されない
             場合は、なにもセットしません。(Coderesourceの指定どおり)
             動作としては、初期値は、含めない("false") と同等です。

             <og:columnEditor column="CDBK" addNoValue="false" />

    - #### setAddKeyLabel

          public void setAddKeyLabel(String flag)

      【TAG】セレクトメニューの場合、キー:ラベル形式で表示するかどうか[true/false/null]を指定します(初期値:null)。
      パラメータ:
        `flag` - キー:ラベル形式表示 [true:キー:ラベル形式/false:ラベルのみ/null:指定通り]
      説明:

             カラムがプルダウンメニュー形式の場合、キー:ラベル形式で表示するか、ラベルだけで表示するかを
             選択できます。
             true を指定すると、「強制的に」キー:ラベル形式で表示します。
             false の場合は、「強制的に」ラベルのみで表示されます。
             初期値の null の場合、コードリソースや、SQL文に準拠した指定通りの形式で表示します。

             <og:column name="CDC" addKeyLabel="true" />

      変更履歴:

        6.0.4.0 (2014/11/28) キー:ラベル形式で表示するかどうか。新規追加

    - #### setWriteKeyLabel

          public void setWriteKeyLabel(String flag)

      【TAG】セレクトメニューの場合、キーとラベルを分けて出力するかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
        `flag` - キー／ラベル分離出力するかどうか [true:分離出力/false:通常]
      説明:

             カラムがプルダウンメニュー形式の場合、ファイル出力時に、キーとラベルを分離して出力する事ができます。
             この属性と、addKeyLabel とは、微妙に関連していて、addKeyLabel="true" のみの場合は、
             キー:ラベル形式で、出力されますが、writeKeyLabel="true" も指定されている場合は、こちらが優先されます。
             なお、この指定が有効なのは、セレクトメニューのカラムのみです。
             初期値は、false です。

      変更履歴:

        6.2.3.0 (2015/05/01) キー／ラベルで分離して出力するかどうか。

    - #### setUseLabelMap

          public void setUseLabelMap(String flag)

      【TAG】SQL文を指定してラベル情報を動的に読み込むかどうか[true/false]指定します(初期値:false)。
      パラメータ:
        `flag` - 動的読込 [true:する/false:しない]
      説明:

             trueを指定すると、body部分に記述されたSQL文よりラベル情報を生成して、
             動的にラベル表示を切り替えます。

             ワイルドカードを使用した、カラムの複数指定と組み合わせることで、外部から設定
             されたラベル情報で一括で変更することができます。

             発行するクエリでは、第1カラムにラベルキーを、第2カラムにラベル名称を設定します。
             第3カラムが存在する場合は、名称(短)として使用されます。(必須ではありません)

             ここで作成されたラベル情報は、カラムエディターを適用したDBTableModelのみで
             有効であり、内部的にもキャッシュされません。

             初期値は、false(動的読込しない)です。

      変更履歴:

        4.3.4.0 (2008/12/01) 新規作成

    - #### setUseSLabel

          public void setUseSLabel(String prm)

      【TAG】MENU,DBMENUでSLABELを利用するかどうか[auto/true/false]を指定します(初期値:null)。
      パラメータ:
        `prm` - SLABEL利用 [auto:自動/true:利用する/false:利用しない]
      説明:

             通常はセレクトメニューは一覧とそれ以外で短縮ラベルの利用が自動で切り替わります。
             強制的にSLABELを利用させたい場合にこの属性をtrue/falseにセットして下さい。
             auto/true/false以外を指定した場合はfalse扱いとします。
             ここでの初期値は、値の変更を行わないということで、null です。

      変更履歴:

        5.6.2.3 (2013/03/22) columnタグに実装されているので移植

    - #### setNoDisplayVal

          public void setNoDisplayVal(String prm)

      【TAG】非表示文字列を指定します(初期値:null)。
      パラメータ:
        `prm` - 非表示文字列 [auto:自動/true:利用する/false:利用しない]
      説明:

             これは、例えば、数字型の場合は、0 がデフォルトなどの場合、
             あえて表示したくないなどのケースに使います。
             そのような状況が設定されていない場合は、null が返されます。
             初期値は、null です。

      変更履歴:

        5.6.2.3 (2013/03/22) 新規追加

    - #### setTableId

          public void setTableId(String id)

      【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
      パラメータ:
        `id` - テーブルID (sessionに登録する時のID)
      説明:

             検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に
             渡す場合に、通常は、session を利用します。その場合の登録キーです。
             query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、
             この tableId 属性を利用して、メモリ空間を分けます。
            		(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。

    - #### setDbid

          public void setDbid(String id)

      【TAG】データベースへ接続する場合のID(初期値:null)。
      パラメータ:
        `id` - 接続先ID
      説明:

             データベース接続を使用するエディター、レンデラーを使用する場合に使用する接続先IDを指定します。
             カラムオブジェクトは、query処理ではなく、view処理時に適用されるため、データベース
             接続先を指定する必要があります。
             初期値は、null(DEFAULT 接続) です。

      変更履歴:

        4.0.0.0 (2006/04/02) 新規追加

    - #### setEventColumn

          public void setEventColumn(String col)

      【TAG】イベントカラム(親カラム)を設定します。
      パラメータ:
        `col` - 親カラム
      説明:

             親子関係を持った項目の動的な入れ替えを行う場合に利用します。
             このカラムを変化させるトリガとなるカラムの名前をセットします。

             ※詳細はcolumnTagのeventURL属性の説明をご覧下さい。

             なお、columnEditorで、Viewに対して、SQL文の定義(置き換え定義)をする場合でも、
             他カラムの値の参照は、columnタグの場合と同様に、{@XXXX}または$nの変数により行います。
             この場合、これらの変数は、"自身と同一行のカラム"を意味します。

      変更履歴:

        4.3.6.0 (2009/04/01)
        5.1.7.0 (2010/06/01) コメント大幅修正

    - #### setEventValue

          public void setEventValue(String val)

      【TAG】eventColumn使用時の値を、SQL文から求めるためのqueryをセットします。
      パラメータ:
        `val` - パラメータ
      説明:

             eventColumn利用時は{@XXXX}はリクエストパラメータではなく
             xxxカラムの実際の値が利用されます。

      変更履歴:

        6.3.4.0 (2015/08/01) eventValue 追加

    - #### setEventURL

          public void setEventURL(String url)

      【TAG】イベントカラム指定時に呼び出すURLを指定します。
      パラメータ:
        `url` - JSPのURL
      説明:

             イベントカラム指定時に部品を作成するJSPを指定します。
             初期値はシステムリソースのEVENT_COLUMN_URLです。
             (例：eventURL="makeColumn_custom.jsp")

             ※詳細はcolumnTagのeventURL属性の説明をご覧下さい。

      変更履歴:

        4.3.6.0 (2009/04/01)

    - #### setEventCallback

          public void setEventCallback(String callback)

      【TAG】eventColumn実行後のcallbak関数を指定します。
      パラメータ:
        `callback` - Callback関数
      説明:

             eventColumnの動作終了後に実行するCallback関数の指定を行います。
             関数名のみを指定して下さい。
             　ex) sampleCallback()を実行する場合はeventCallback="sampleCallback"
             実行する関数の第一引数には自動的に次の要素が入った配列が渡されます
             　[0] 変更された子カラムのID属性値
             　[1] evnetColumn実行後の子カラムの値
             　[2] eventColumn実行前の子カラムの値

             この属性は、optionAttributesへの設定と同様の動作を行います。

      変更履歴:

        5.5.4.0 (2012/07/02) 新規追加

    - #### setType

          public void setType(String type)

      【HTML5】表示形式を指定します(初期値:text)。
      パラメータ:
        `type` - HTML5用 [text/search/tel/url/email/datetime/date/month/week/time/datetime-local/number/range/color]
      説明:

             ColumnTagは、カラムリソースで作成される為、タイプは固定です。
             しかし、HTML5 で追加された形式には、有用なタイプも存在する為、
             それらへの書き換えをできるようにします。
             よって、ここでは、従来型のタイプへの書き換えはできません。
             (textだけは例外で戻せるようにします)。

             [search/tel/url/email/datetime/date/month/week/time/datetime-local/number/range/color]
             が、設定できます。

             HTML5 の機能を有効にするには、ネイティブモードで動作させる必要があります。
               ① USE_IE7_HEADER = "false" に設定する。
               ② USE_HTML5_HEADER = "true" に設定する。
               ③ IEのツール⇒互換表示設定で、互換表示に追加したWebサイトから削除する。
               ④ 同上の設定で、イントラサイトを互換表示で表示するのチェックを外す。
             必要があります。

             <og:input type="text"     /> テキストボックスを表示

             HTML5 で追加されたタイプ
             <og:input type="search"			/> 検索テキストの入力欄を作成する
             <og:input type="tel"				/> 電話番号の入力欄を作成する
             <og:input type="url"				/> URLの入力欄を作成する
             <og:input type="email"			/> メールアドレスの入力欄を作成する
             <og:input type="datetime"			/> UTC（協定世界時）による日時の入力欄を作成する
             <og:input type="date"				/> 日付の入力欄を作成する
             <og:input type="month"			/> 月の入力欄を作成する
             <og:input type="week"				/> 週の入力欄を作成する
             <og:input type="time"				/> 時間の入力欄を作成する
             <og:input type="datetime-local"	/> UTC（協定世界時）によらないローカル日時の入力欄を作成する
             <og:input type="number"			/> 数値の入力欄を作成する
             <og:input type="range"			/> レンジの入力欄を作成する
             <og:input type="color"			/> 色の入力欄を作成する

      変更履歴:

        5.7.1.0 (2013/12/06) HTML5 対応(新規追加)
        6.3.4.0 (2015/08/01) Arrays.toString から String.join に置き換え。
        6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。

    - #### setNoResource

          public void setNoResource(String flag)

      【TAG】ResourceManager を使用しないかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
        `flag` - ResourceManagerの不使用 [true:不使用/false:使用]
      説明:

             trueを指定すると、使用しない設定になります。
             これは、データベースから検索した値そのものが返される カラムオブジェクトを使用することになります。
             「noResource」なので、意味が反転しているのをご注意ください。

             false(初期値)は、ResourceManager を使用します。

      変更履歴:

        5.7.3.0 (2014/02/07) 新規作成

    - #### setStringOutput

          public void setStringOutput(String flag)

      【TAG】レンデラ利用時のExcel出力でセルタイプを文字固定にするか[true/false]を指定します(初期値:システム定数のUSE_STRING_EXCEL_OUTPUT)。
      パラメータ:
        `flag` - セルタイプの文字固定にするか [true:固定する/false:固定しない]
      説明:

             falseを指定すると、dbTypeに従ったセルタイプとなります。
             TableWriter内部でdouble変換をするためエラーに注意してください。
             (初期値:システム定数のUSE_STRING_EXCEL_OUTPUT[=false])。

      変更履歴:

        5.7.6.3 (2014/05/23) 新規作成

    - #### toString

          public String toString()

      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
        `toString` クラス内 `CommonTagSupport`
      戻り値:
        このクラスの文字列表現
      このメソッドは、nullを返しません

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