openGionopenGion
5.7.3.0

org.opengion.plugin.column
クラス DBType_NVAR

java.lang.Object
  上位を拡張 org.opengion.hayabusa.db.AbstractDBType
      上位を拡張 org.opengion.plugin.column.DBType_NVAR
すべての実装されたインタフェース:
DBType

public class DBType_NVAR
extends AbstractDBType

Unicode文字列の値を HTML のエスケープ記号(&#xZZZZ;)に変換する、カラム属性を定義します。 SJIS(JA16SJIS) で作成されたデータベースに、(NVARCHAR2)を使用して中国語等を登録するのは 非常に複雑でかつ、リスクが大きい処理になります。 ORACLE殿でも、自信を持っては勧められない機能とのコメントを頂いています。 そこで、HTMLでのエスケープ文字を使用して、Unicodeを文字列化して登録する為の DBType として、新規に作成します。 ここでは、入力文字を、キャラクタ(char)型に分解し、(&#xZZZZ;)に変換していきます。 よって、通常に1文字(Shift-JISで2Byte,UTF-8で3Byte)が、8Byteになります。 この変換された文字列を、HTML上でそのまま取り出すと、元のUnicode文字に戻る為、 通常のShift-JISでは、扱えない文字(中国語など)でも表示可能になります。 (NVARCHAR2)を使用して中国語等を登録する場合の文字コード変換 APレイヤ ネットレイヤ DBレイヤ 文字入力 → 全てDBのCHARセットに変換 → NCHARの分だけUTFに変換 (UTF) (S-jis) (UTF) タイプチェックは、HTMLのエスケープ記号(&#xZZZZ;)に変換後に実施されます。 データベースへの登録には、半角英数字になります。 ・文字列長は、Byte換算での文字数との比較 ・半角文字列チェック「 c < 0x20 || c > 0x7e 以外」エラー ・文字パラメータの 正規表現チェック ・クロスサイトスクリプティングチェック

変更履歴:
3.8.0.0 (2005/06/07) 新規作成
機能分類
データ属性
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
 
インタフェース org.opengion.hayabusa.db.DBType から継承されたフィールド
DEF_TYPE
 
コンストラクタの概要
DBType_NVAR()
           
 
メソッドの概要
 java.lang.String valueAdd(java.lang.String value)
          String引数の文字列を+1した文字列を返します。
 java.lang.String valueFill(java.lang.String value, int sizeX, int sizeY, java.lang.String encode)
          半角0文字の固定長でFILL埋めされた文字列を返します。
 java.lang.String valueSet(java.lang.String value)
          エディターで編集されたデータを登録する場合に、データそのものを 変換して、実登録データを作成します。
 
クラス org.opengion.hayabusa.db.AbstractDBType から継承されたメソッド
getDefault, getNativeType, valueAction, valueAdd, valueCheck, xssCheck
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

DBType_NVAR

public DBType_NVAR()
メソッドの詳細

valueFill

public java.lang.String valueFill(java.lang.String value,
                                  int sizeX,
                                  int sizeY,
                                  java.lang.String encode)
半角0文字の固定長でFILL埋めされた文字列を返します。 なお、エラーチェックは行われません。 実行前に、必ず valueCheck( String value ,int len ) が行われる必要があります。

定義:
インタフェース DBType 内の valueFill
オーバーライド:
クラス AbstractDBType 内の valueFill
パラメータ:
value - FILL埋めする文字列
sizeX - 整数部分の文字列の長さ
sizeY - 少数部分の文字列の長さ
encode - エンコード指定
戻り値:
FILL埋めした新しい文字列

valueAdd

public java.lang.String valueAdd(java.lang.String value)
String引数の文字列を+1した文字列を返します。 これは、英字の場合(A,B,C など)は、B,C,D のように,最終桁の文字コードを +1 します。 文字列が数字タイプの場合は, 数字に変換して、+1 します。(桁上がりもあり) 混在タイプの場合は,最後の桁だけを確認して +1します。 引数が null の場合と、ゼロ文字列("")の場合は,物理的初期設定値(String getDefault()) の値を返します。

定義:
インタフェース DBType 内の valueAdd
オーバーライド:
クラス AbstractDBType 内の valueAdd
パラメータ:
value - String引数の文字列
戻り値:
String引数の文字列を+1した文字列

valueSet

public java.lang.String valueSet(java.lang.String value)
エディターで編集されたデータを登録する場合に、データそのものを 変換して、実登録データを作成します。 例えば,大文字のみのフィールドなら、大文字化します。 実登録データの作成は、DBType オブジェクトを利用しますので, これと Editor とがアンマッチの場合は、うまくデータ変換 されない可能性がありますので、注意願います。

定義:
インタフェース DBType 内の valueSet
オーバーライド:
クラス AbstractDBType 内の valueSet
パラメータ:
value - (一般に編集データとして登録されたデータ)
戻り値:
修正後の文字列(一般にデータベースに登録するデータ)

openGion 5.7.3.0

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