# パッケージ org.opengion.plugin.column

package org.opengion.plugin.column

     このドキュメントは、『はやぶさPlugIn』の カラムリソース関連 PlugIn 仕様です。

     カラムリソースは、内部に、Renderer、Editor、DBType というオブジェクトを持っています。
     検索結果の表示には、Renderer を、結果を編集する場合は、Editor を、そのデータの
     種類(桁数、半角/全角 など)を規定し、チェック、正規化 を行うのが DBType です。

     これらのプラグインは、エンジン内部で、デフォルトオブジェクトが生成され、
     それをキャッシュしています。そのオブジェクトの newInstance インターフェース
     を経由して、実際に必要なオブジェクトをロードする２重構造を持っています。

     オブジェクトは、すべてのカラムオブジェクトの内部にキープされ、同時アクセスが
     行われます。
     エンジン標準に用意しているクラスでは、イミュータブル（immutable：不変）オブジェクト
     として、作成した場合には、内部にキャッシュして、再利用し、そうでない場合は、
     同期化せずに、要求都度オブジェクトを作成しています。

     基本的に、イミュータブル でない場合でも、カラムに対しては、ユニークになるように
     することで、カラムオブジェクトの数だけで、全ユーザーのアクセスに対応できる作り
     にしておく必要があります。

- Related Packages
  パッケージ
  説明
  org.opengion.plugin
  このﾄﾞｷｭﾒﾝﾄは、ﾌﾟﾗｸﾞｲﾝ類を集めた『はやぶさplugin』の API 仕様です。
- クラス
  クラス
  説明
  DBType_ALL
  半角/全角混在の一般的な制限のない文字列を扱う為の、カラム属性を定義します。
  DBType_CRYPT
  半角/全角混在の一般的な制限のない暗号化された文字列を扱う為の、カラム属性を定義します。
  DBType_DATE
  文字列の厳密な日付属性(年/月/日)の半角の日付を扱う為の、カラム属性を定義します。
  DBType_DD
  DATA_DEFAULT カラムで、内容の整合性を整えます。
  DBType_HMS
  文字列の時間属性(時:分:秒)の半角の時間を扱う為の、カラム属性を定義します。
  DBType_K
  全角のみで構成される文字列を扱う為の、カラム属性を定義します。
  DBType_KX
  DBType_KX は、全角/半角混在のChar または Varchar2 属性に対応するクラスで 一般的な制限のない文字列カラム属性を定義します。
  DBType_MD5
  パスワード情報など、重要な情報のハッシュコード(MD5)を扱う為の、カラム属性を定義します。
  DBType_NVAR
  Unicode文字列の値を HTML のエスケープ記号(&#xZZZZ;)に変換する、カラム属性を定義します。
  DBType_R
  半角小数付き数字の NUMBER を扱う為の、ｶﾗﾑ属性を定義します。
  DBType_S9
  半角数字の NUMBER を扱う為の、カラム属性を定義します。
  DBType_SHA
  ﾊﾟｽﾜｰﾄﾞ情報等の重要な情報のﾊｯｼｭｺｰﾄﾞ(SHA-256)を扱う為のｶﾗﾑ属性を定義します｡ ﾊﾟｽﾜｰﾄﾞ情報等の重要な情報のﾊｯｼｭｺｰﾄﾞに SHA-256 があります｡ このｸﾗｽは、MessageDigestにより SHA-256 でﾊｯｼｭした文字を作成します｡ MD5やSHA-1は脆弱性が報告されているため、可能であればSHA-256の利用が推奨されます｡ 値としては､標準の X と同じ半角文字列｢ c < 0x20 || c > 0x7e 以外｣でのみ 処理することが出来ます｡ ﾀｲﾌﾟﾁｪｯｸとして、以下の条件を判定します｡ ･文字列長はByte換算での文字数との比較 ･半角文字列ﾁｪｯｸ｢ c < 0x20 || c > 0x7e 以外｣ｴﾗｰ ･文字ﾊﾟﾗﾒｰﾀの正規表現ﾁｪｯｸ ･ｸﾛｽｻｲﾄｽｸﾘﾌﾟﾃｨﾝｸﾞﾁｪｯｸ
  DBType_X
  一般的な半角文字列を扱う為の、カラム属性を定義します。
  DBType_X9
  半角数字の NUMBER を扱う為の、カラム属性を定義します。
  DBType_XH
  半角文字＋半角カタカナを扱う為の、カラム属性を定義します。
  DBType_XHU
  半角文字＋半角カタカナの大文字のみに制限された文字列を扱う為の、カラム属性を定義します。
  DBType_XK
  半角/全角混在の一般的な制限のない半角優先文字列を扱う為の、カラム属性を定義します。
  DBType_XKZ
  半角/全角混在のクラスですが、半角カタカナのみを通さない文字列を扱う為の、カラム属性を定義します。
  DBType_XL
  半角小文字の英数字の文字列を扱う為の、カラム属性を定義します。
  DBType_XLU9
  半角英数字のみの文字列を扱う為の、カラム属性を定義します。
  DBType_XU
  半角大文字の英数字の文字列を扱う為の、カラム属性を定義します。
  DBType_XU9
  半角英数大文字のみの文字列を扱う為の、カラム属性を定義します。
  DBType_YM
  文字列の日付属性(年/月)の半角の日付を扱う為の、カラム属性を定義します。
  DBType_YM01
  文字列の開始日付属性を規定する半角文字列を扱う為の、カラム属性を定義します。
  DBType_YM31
  文字列の終了日付属性を規定する半角文字列を扱う為の、カラム属性を定義します。
  DBType_YMD
  文字列の日付属性(年/月/日)の半角の日付を扱う為の、カラム属性を定義します。
  DBType_YMDH
  文字列の日付属性(年/月/日 時:分:秒)の半角の日付を扱う為の、カラム属性を定義します。
  Editor_AUTOAREA
  AUTOAREA エディターは、カラムのデータをテキストエリアで編集する場合に 使用するクラスです。
  Editor_BARCODE
  BARCODE エディターは、quagga.js を利用した、カメラ映像からバーコードを読み込むクラスです。
  Editor_BITBOX
  BITBOX エディターは、カラムのデータをコードリソースに対応した チェックボックスで編集する場合に使用するクラスです。
  Editor_CHBOX
  カラムのデータをチェックボックスで編集する場合に使用するエディタークラスです。
  Editor_CHBOX2
  CHBOX2 エディターは、カラムのデータをチェックボックスで編集する場合に使用するクラスです。
  Editor_COLOR
  COLOR エディターは、カラムのデータをカラーピッカーで選択する場合に使用するクラスです。
  Editor_COLUMN
  動的カラムのデータを編集する場合に使用するエディタークラスです。
  Editor_CRYPT
  パスワード情報など、重要な情報の暗号化された情報を編集する場合に使用するクラスです。
  Editor_DATALIST
  カラムの編集パラメーターのＳＱＬ文の実行結果より、datalistを作成して 入力候補となるデータリストを定義する編集用エディタークラスです。
  Editor_DBMENU
  カラムの編集パラメーターのＳＱＬ文の実行結果より、プルダウンメニューを作成して 編集する場合に使用するエディタークラスです。
  Editor_DBRADIO
  DBRADIO エディターは、カラムの編集パラメーターのSQL文の実行結果より、動的にラジオボタンを 作成して編集する場合に使用するエディタークラスです。
  Editor_DECIMAL
  DECIMAL エディターは、カラムのデータをDecimal(１０進数、小数)表示する場合に 使用するクラスです。
  Editor_FILES
  ファイルの一覧情報から、プルダウンメニューを作成して 編集する場合に使用するエディタークラスです。
  Editor_HIDDEN
  カラムのデータをHIDDENで編集する場合に使用するエディタークラスです。
  Editor_HM
  HM エディターは、カラムのデータを時分編集する場合に使用するクラスです。
  Editor_HMMENU
  カラムの編集パラメーターの開始、終了、ステップの情報より、プルダウンメニューを作成して 編集する場合に使用するエディタークラスです。
  Editor_HTML
  HTMLタグを含むデータを編集する場合に使用するエディタークラスです。
  Editor_HTMLAREA
  HTMLAREA エディターは、カラムのデータをテキストエリアで編集し、 HTML文字をエスケープして登録する場合に使用するクラスです。
  Editor_INDBMENU
  INDBMENU エディターは、カラムの表示パラメーターのＳＱＬ文を実行結果より、 作成したプルダウンメニューと、テキストフィールドによる入力の両方をサポートする、 編集に使用するクラスです。
  Editor_INMENU
  INMENU エディターは、コードリソースに対応したプルダウンメニューと、 テキストフィールドによる入力の両方をサポートする、編集に使用するクラスです。
  Editor_KVMENU
  文字列の 「キー:ラベル キー:ラベル」の情報から、プルダウンメニューを作成して 編集する場合に使用するエディタークラスです。
  Editor_MENU
  MENU エディターは、カラムのデータをコードリソースに対応した プルダウンメニューで編集する場合に使用するクラスです。
  Editor_NUMBER
  NUMBER エディターは、カラムのデータを数字編集する場合に使用するクラスです。
  Editor_NUMMENU
  カラムの編集パラメーターの開始、終了、ステップの情報より、プルダウンメニューを作成して 編集する場合に使用するエディタークラスです。
  Editor_OCR1
  OCR1 エディターは、tesseract.js を利用した、File APIで取り込んだイメージを 文字に変換して テキストエリアに書き出すクラスです。
  Editor_OCR2
  OCR2 エディターは、tesseract.js を利用した、カメラ映像で取り込んだvideoを canvasにｷｬﾌﾟﾁｬしてから、文字に変換して テキストエリアに書き出すクラスです。
  Editor_PASSWD
  PASSWD エディターは、パスワード情報(******)として編集する場合に使用するクラスです。
  Editor_QRCODE
  QRCODE エディターは、jsQR.js を利用した、カメラ映像からQRコードを読み込むクラスです。
  Editor_QUERY
  QUERY エディターは、編集パラメータで指定された SQL文の実行結果をテキストエリアに表示する クラスで、元のValue を、$1 として使用可能です。
  Editor_RADIO
  RADIO エディターは、カラムのデータをコードリソースに対応したラジオボタンで編集する 場合に使用するクラスです。
  Editor_RICHTEXT
  TEXTRICH エディターは、カラムのデータをリッチテキストで編集する場合に 使用するクラスです。
  Editor_SNAP
  SNAP エディターは、カメラ映像で取り込んだvideoをcanvasにｷｬﾌﾟﾁｬしてから、 BASE64ｴﾝｺｰﾄﾞでｻｰﾊﾞｰにｱｯﾌﾟﾛｰﾄﾞするクラスです。
  Editor_TEXT
  TEXT エディターは、カラムのデータをテキストフィールドで編集する場合に使用するクラスです。
  Editor_TEXTAREA
  TEXTAREA エディターは、カラムのデータをテキストエリアで編集する場合に 使用するクラスです。
  Editor_UPLOAD
  UPLOAD エディターは、ファイルアップロードを行う場合に使用する編集用クラスです。
  Editor_UPLOAD2
  UPLOAD2 ｴﾃﾞｨﾀｰは､ﾄﾞﾗｯｸﾞ＆ﾄﾞﾛｯﾌﾟでﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞを行う場合に 使用する編集用ｸﾗｽです｡ 行ごとの対応も､ﾌｧｲﾙ名の書き換えもｻﾎﾟｰﾄしていません｡ 現状できるのは､filetemp/ﾛｸﾞｲﾝID ﾌｫﾙﾀﾞに､そのままのﾌｧｲﾙ名で ｱｯﾌﾟﾛｰﾄﾞするだけです｡ ｶﾗﾑの表示に必要な属性は, DBColumn ｵﾌﾞｼﾞｪｸﾄ より取り出します｡ このｸﾗｽは､DBColumn ｵﾌﾞｼﾞｪｸﾄ毎に１つ作成されます｡ 編集ﾊﾟﾗﾒｰﾀに指定できる項目は､『;』で width=300px; 初期値 height=180px; 初期値 CALL_JSP=/common/dragFiles.jsp; 初期値 UPLOAD_DIR= 初期値 (filetemp/{@USER.ID})
  Editor_WRITABLE
  先頭１文字目が、アンダーバー(_) の場合に、書込み禁止属性()を強制的に付与するクラスです。
  Editor_YM
  YM エディターは、カラムのデータを日付(年/月)編集する場合に使用するクラスです。
  Editor_YMD
  YMD エディターは、カラムのデータを日付(年/月/日)編集する場合に使用するクラスです。
  Editor_YMD2
  YMD ｴﾃﾞｨﾀｰは､ｶﾗﾑのﾃﾞｰﾀを日付(年/月/日)編集する場合に使用するｸﾗｽです｡ YMD2はｶﾚﾝﾀﾞｰのﾎﾟｯﾌﾟｱｯﾌﾟﾎﾞﾀﾝが付属するﾀｲﾌﾟです｡ このｴﾃﾞｨﾀはeventColumnに対応していません｡ ｶﾗﾑの表示に必要な属性は, DBColumn ｵﾌﾞｼﾞｪｸﾄ より取り出します｡ このｸﾗｽは､DBColumn ｵﾌﾞｼﾞｪｸﾄ毎に１つ作成されます｡ 8.0.2.0 (2021/11/30) ｶﾗﾑのﾊﾟﾗﾒｰﾀの情報より､日付送り戻しの機能が使えます｡ 例：D-1,D0,D+1 or D-1,D0,D+1,true 第一引数は､日付戻しを指定します｡ 第二引数は､初期化します｡ 第三引数は､日付送りを指定します｡ 第四引数は､検索ﾎﾞﾀﾝを押すか押さないか[true/false]を指定します｡ (初期値:false) 日付についての加減算処理を行うためのｺﾏﾝﾄﾞを指定します｡ ･SYXX ：年の最初の日付を指定の分だけ進めます｡(SY-1なら先年の1月1日､SY1なら翌年の1月1日) ･SDXX ：月の最初の日付を指定の分だけ進めます｡(SD-1なら先月の1日､SD1なら翌月の1日) ･SWXX ：週初め(月曜日)を指定の分だけ進めます｡(SW-1なら先週の月曜日､SW1なら翌週の月曜日) ･EYXX ：年の最後の日付を指定の分だけ進めます｡(EY-1なら先年の年末､EY1なら翌年の年末) ･EDXX ：月の最後の日付を指定の分だけ進めます｡(ED-1なら先月の月末､ED1なら翌月の月末) ･EWXX ：週末(日曜日)を指定の分だけ進めます｡(EW-1なら先週の日曜日､EW1なら翌週の日曜日) ･YXX ：年を指定の分だけ進めます｡(Y-1なら1年前､Y1なら1年後) ･MXX ：月を指定の分だけ進めます｡(M-1なら1月前､M1なら1月後) ･DXX ：日を指定の分だけ進めます｡(D-1なら1日前､D1なら1日後) ※ 数字がｾﾞﾛのｺﾏﾝﾄﾞは初期化します｡ ※ 数字がないｺﾏﾝﾄﾞはｻｰﾊﾞｰ上のｼｽﾃﾑ日付をｾｯﾄします｡
  Editor_YMDH
  YMDH エディターは、カラムのデータを日時(年/月/日 時:分:秒)編集する場合に使用するクラスです。
  Editor_YMDMENU
  カラムの編集パラメーターの開始、終了、ステップ、フォーマット、titleフォーマットの情報より、 プルダウンメニューを作成して編集する場合に使用するエディタークラスです。
  Renderer_AUTOAREA
  AUTOAREA レンデラは、カラムのデータをテキストエリアで表示する場合に 使用するクラスです。
  Renderer_BARCODE
  BARCODE レンデラーは、カラムのデータからCODE39 バーコードを表示する場合に使用するクラスです。
  Renderer_BITBOX
  BITBOX レンデラーは、カラムのデータをコードリソースに対応した チェックボックスで表示する場合に使用するクラスです。
  Renderer_CHBOX
  CHBOX レンデラーは、カラムのデータをチェックボックス文字情報として 表示する場合に使用するクラスで、"0" と、"1" のみ使用できます。
  Renderer_CHBOX2
  CHBOX2 レンデラーは、カラムのデータをチェックボックスで表示する場合に使用するクラスです。
  Renderer_CODE39
  英数字をバーコードで使用する CODE39 のチェックデジット付き文字列に変換するレンデラークラスです。
  Renderer_COLOR
  LABEL レンデラーは、カラムの値を#FFFFFFの色として表示する場合に 使用するクラスです。
  Renderer_COLUMN
  COLUMN レンデラーは、データの値をカラム名と認識して、動的カラムを 表示するクラスです。
  Renderer_CRYPT
  パスワード情報など、重要な情報の暗号化された情報を表示する場合に使用するクラスです。
  Renderer_DATE
  DATE レンデラーは、カラムのデータを表示パラメータで指定されたフォーマットで 日付表示する場合に使用するクラスです。
  Renderer_DBLABEL
  DBLABEL レンデラーは、値をラベルリソースの表示ラベルに変換するクラスです。
  Renderer_DBMENU
  DBMENU レンデラーは、表示パラメータで指定された SQL文を実行し、 プルダウンメニューで表示する場合に使用するクラスです。
  Renderer_DECIMAL
  DECIMAL レンデラーは、カラムのデータをDecimal(１０進数、小数)表示する場合に 使用するクラスです。
  Renderer_FILTER
  特定のHTMLタグのエスケープ文字を元のタグに戻して表示するクラスです。
  Renderer_FORM
  FORM レンデラーは、表示パラメータで指定された FORM を表示するクラスで、 元のValue を、$1 として、使用可能です。
  Renderer_HHM
  HHM レンデラーは、カラムのデータを時：分に分けて表示する場合に 使用するクラスです。
  Renderer_HM
  HM レンデラーは、カラムのデータを時：分に分けて表示する場合に 使用するクラスです。
  Renderer_HMS
  HMS レンデラーは、カラムのデータを時：分：秒に分けて表示する場合に 使用するクラスです。
  Renderer_HTML
  HTML レンデラーは、HTMLタグを含むデータを表示する場合に使用するクラスです。
  Renderer_HTMLPRE
  HTMLPRE レンデラーは、カラムのデータをそのまま PRE表示する場合に使用するクラスです。
  Renderer_ICON
  ICON レンデラーは、カラムのファイル名の拡張子からアイコンファイルのイメージタグを作成します。
  Renderer_IFRAME
  IFRAME レンデラは、iframe 内部にvalue で指定したファイルを表示する場合に 使用するクラスです。
  Renderer_IMAGE
  IMAGE レンデラは、value で指定したファイルをimgタグで表示する場合に 使用するクラスです。
  Renderer_KANA
  KANA レンデラーは、カラムのデータに対し、半角カナを全角カナに変換して表示する場合に 使用するクラスです。
  Renderer_KVMENU
  KVMENU レンデラーは、文字列の 「キー:ラベル キー:ラベル」の情報から、 キーに対するラベルを表示する レンデラークラスです。
  Renderer_LABEL
  LABEL レンデラーは、カラムのデータをそのまま文字列として表示する場合に 使用するクラスです。
  Renderer_MD
  YMD レンデラーは、カラムのデータを日付(月/日)表示する場合に使用するクラスです。
  Renderer_MENU
  MENU レンデラーは、カラムのデータをコードリソースに対応したラベルで プルダウンメニュー表示する場合に使用するクラスです。
  Renderer_MONEY
  MONEY レンデラーは、カラムのデータを金額表示する場合に使用するクラスです。
  Renderer_MULTIQUERY
  MULTIQUERY レンデラーは、表示パラメータで指定された SQL文の実行結果を表示するクラスです。
  Renderer_NUMBER
  NUMBER レンデラーは、カラムのデータを数字表示する場合に使用するクラスです。
  Renderer_PASSWD
  PASSWD レンデラーは、カラムのデータをパスワード情報(******)として 表示する場合に使用するクラスです。
  Renderer_PN
  PN レンデラーは、カラムのデータを品番情報(１１桁の文字列を３-５-３表示)として 表示する場合に使用するクラスです。
  Renderer_PN2
  PN2 レンデラーは、カラムのデータを品番情報(１１桁の文字列を３-５-３)に対して、 それぞれ、"PN_1","PN_2","PN_3"というクラスを付加します。
  Renderer_PRE
  PRE レンデラーは、カラムのデータをそのまま PRE表示する場合に使用するクラスです。
  Renderer_QRCODE
  QRCODE レンデラーは、カラムのデータからQRコードを表示する場合に使用するクラスです。
  Renderer_QUERY
  QUERY レンデラーは、表示パラメータで指定された SQL文の実行結果を表示する クラスで、元のValue を、$1 として使用可能です。
  Renderer_RADIO
  RADIO レンデラーは、カラムのデータをコードリソースに対応したラジオボタンの 代替えラベルで表示する場合に使用するクラスです。
  Renderer_RICHLABEL
  RICHLABEL レンデラは、特殊文字のエスケープを元に戻して表示する場合に 使用するクラスです。
  Renderer_RICHTEXT
  TEXTAREA レンデラは、カラムのデータをリッチテキストで表示する場合に 使用するクラスです。
  Renderer_SLABEL
  SLABEL レンデラーは、桁数の長いデータをコンパクトに表示させる LABEL レンデラーの類似クラスです。
  Renderer_SUBSTR
  SUBSTR レンデラーは、カラムのデータを特定の文字列の範囲のみに分割するクラスです。
  Renderer_TEXTAREA
  TEXTAREA レンデラは、カラムのデータをテキストエリアで表示する場合に 使用するクラスです。
  Renderer_TMSTMP
  TMSTMP レンデラーは、日付ネイティブのカラムのデータから、数字部分だけをピックアップし、 日時(年/月/日 時:分:秒)または、日付(年/月/日)表示する場合に使用するクラスです。
  Renderer_UNIT
  UNIT レンデラーは、カラムのデータの単位変換を行う場合に使用するクラスです。
  Renderer_URLCALL
  URLCALL レンデラーは、汎用ボタンにURLをｸﾘｯｸする機能を適用するクラスです。
  Renderer_WRITABLE
  先頭１文字目が、アンダーバー"_" の場合は書込み禁止属性を考慮するレンデラークラスです。
  Renderer_XXXX
  XXXX レンデラーは、パラメータで指定された XXXXフォーマットに対して、 値を変換します。
  Renderer_YM
  YM レンデラーは、カラムのデータを日付(年/月)表示する場合に使用するクラスです。
  Renderer_YMD
  YMD レンデラーは、カラムのデータを日付(年/月/日)表示する場合に使用するクラスです。
  Renderer_YMDH
  YMDH レンデラーは、カラムのデータを日時(年/月/日 時:分:秒)表示する場合に使用するクラスです。