    001/*
    002 * Copyright (c) 2009 The openGion Project.
    003 *
    004 * Licensed under the Apache License, Version 2.0 (the "License");
    005 * you may not use this file except in compliance with the License.
    006 * You may obtain a copy of the License at
    007 *
    008 *     http://www.apache.org/licenses/LICENSE-2.0
    009 *
    010 * Unless required by applicable law or agreed to in writing, software
    011 * distributed under the License is distributed on an "AS IS" BASIS,
    012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
    013 * either express or implied. See the License for the specific language
    014 * governing permissions and limitations under the License.
    015 */
    016package org.opengion.hayabusa.db;
    017
    018import org.opengion.fukurou.util.Attributes;
    019import org.opengion.hayabusa.common.HybsSystem;
    020import org.opengion.hayabusa.resource.CodeData;
    021import org.opengion.hayabusa.resource.ColumnData;
    022import org.opengion.hayabusa.resource.LabelData;
    023
    024/**
    025 * DBColumnオブジェクトを構築する為の 引数を持っているデータクラスです。
    026 * このクラス自身は、書き換え可能ですが、DBColumnオブジェクトは、読込み専用の
    027 * オブジェクトのため、別のオブジェクトを作成したい場合は,このクラスを
    028 * DBColumnオブジェクトより取得し、内容を書き換えて、再度 DBColumnオブジェクトを
    029 * 構築することになります。
    030 *
    031 * @og.rev 3.4.0.0 (2003/09/01) 表示パラメータ、編集パラメータ、文字パラメータの追加。
    032 * @og.group テーブル管理
    033 *
    034 * @version  4.0
    035 * @author       Kazuhiko Hasegawa
    036 * @since    JDK5.0,
    037 */
    038public final class DBColumnConfig {
    039        private String[]  clmData       ;       // カラム配列データ
    040        private LabelData labelData     ;       // ラベルデータ
    041        private CodeData  codeData      ;       // コードデータ
    042
    043        private String          lang                            ;       // 言語
    044        private String          writable        = "true";       // カラムが書き込み可能かどうか
    045        private Attributes      rendAttri       = null  ;       // 表示用レンデラー追加用属性
    046        private Attributes      editAttri       = null  ;       // 編集用エディター追加用属性
    047        private boolean         addNoValue      = false ;       // メニューに空の選択リストを追加するかどうか        // 3.5.5.7 (2004/05/10)
    048        private String          dbid            = null  ;       // データベース接続先ID
    049        private boolean         official ;                              // カラムリソースから作成されたかどうか(再設定可能)            // 5.4.3.4 (2012/01/12)
    050
    051        private String eventColumn              = null;         // 4.3.6.0 (2009/04/01) イベントカラム
    052        private String rawEditParameter = null;         // 4.3.6.0 (2009/04/01) {@XXXX}を変換していないパラメータ
    053        private String rawRendParameter = null;         // 5.1.7.0 (2010/06/01) 動的プルダウン実装見直し
    054        private String eventURL                 = null;         // 5.1.9.0 (2010/08/01) 動的プルダウン不具合対応
    055
    056        private String  useSLabel               = "auto";       // 5.5.1.0 (2012/04/03)  MENU系でSLABELを利用するかどうか
    057        private String  noDisplayVal    = null;         // 5.6.2.3 (2013/03/22) 非表示文字の設定
    058
    059        private String  codeKeyVal              = null;         // 5.6.6.0 (2013/07/05) 新規追加(新しいコードセレクトを作成する為の KEY:VAL 文字列)
    060
    061        private boolean stringOutput    = HybsSystem.sysBool( "USE_STRING_EXCEL_OUTPUT" );      // 5.7.6.3 (2013/05/23) ファイルレンデラ出力時のフラグ
    062
    063        /**
    064         * コンストラクター
    065         * 引数は、すべて文字列型で渡します。
    066         *
    067         * @og.rev 3.4.0.0 (2003/09/01) 表示パラメータ、編集パラメータ、文字パラメータの追加。
    068         * @og.rev 3.5.5.7 (2004/05/10) CodeSelection を、codeName を元に構築できるように設定します。
    069         * @og.rev 3.6.0.3 (2004/10/05) dbTypePrm は、editorPrm と無関係に設定します。
    070         * @og.rev 3.6.0.7 (2004/11/06) カラムリソースから作成されたかどうか(official属性追加)
    071         * @og.rev 5.1.6.0 (2010/05/01) DBTypeの初期値を "XK" とします。
    072         * @og.rev 5.7.3.0 (2014/02/07) labelData の null 対応
    073         *
    074         * @param       lang            言語
    075         * @param       name            カラム名
    076         * @param       labelData       カラムのラベルデータオブジェクト
    077         * @param       className       カラムのクラスを文字列にした名称
    078         * @param       maxlength       カラムの文字桁数
    079         * @param       writable        カラムが書き込み可能かどうか
    080         * @param       renderer        データの表示用レンデラー
    081         * @param       editor          データの編集用エディター
    082         * @param       codeData        メニューの項目オブジェクト
    083         * @param       dbType          データのタイプ
    084         * @param       dataDef         データのデフォルト値
    085         * @param       rendererPrm     表示用レンデラーのパラメータ
    086         * @param       editorPrm       編集用エディターのパラメータ
    087         * @param       dbTypePrm       データのタイプのパラメータ
    088         * @param       roles           カラムロール
    089         * @param       official        正規カラムかどうか
    090         * @param       dbid            データベース接続先ID
    091         */
    092        public DBColumnConfig(  final String    lang            ,
    093                                                        final String    name            ,
    094                                                        final LabelData labelData       ,               // 4.0.0 (2005/01/31)
    095                                                        final String    className       ,
    096                                                        final String    maxlength       ,               // 3.5.5.5 (2004/04/23)
    097                                                        final String    writable        ,
    098                                                        final String    renderer        ,
    099                                                        final String    editor          ,
    100                                                        final CodeData  codeData        ,               // 4.0.0 (2005/01/31)
    101                                                        final String    dbType          ,
    102                                                        final String    dataDef         ,
    103                                                        final String    rendererPrm     ,
    104                                                        final String    editorPrm       ,
    105                                                        final String    dbTypePrm       ,
    106                                                        final String    roles           ,               // 4.0.0 (2005/11/30)
    107                                                        final boolean   official        ,               // 3.6.0.7 (2004/11/06)
    108                                                        final String    dbid ) {
    109                clmData = new String[ColumnData.DATA_SIZE];
    110                clmData[ColumnData.CLM           ] = name               ;
    111                clmData[ColumnData.CLS_NAME      ] = className  ;
    112                clmData[ColumnData.USE_LENGTH    ] = maxlength  ;
    113                clmData[ColumnData.RENDERER      ] = renderer   ;
    114                clmData[ColumnData.EDITOR        ] = editor             ;
    115                clmData[ColumnData.DBTYPE        ] = dbType             ;
    116                clmData[ColumnData.DATA_DEFAULT  ] = dataDef    ;
    117                clmData[ColumnData.RENDERER_PARAM] = rendererPrm;
    118                clmData[ColumnData.TYPE_PARAM    ] = dbTypePrm  ;
    119                clmData[ColumnData.ROLES         ] = roles              ;               // 4.0.0 (2005/11/30)
    120
    121                this.lang               = lang          ;
    122                // 5.7.3.0 (2014/02/07) labelData の null 対応
    123                this.labelData  = (labelData != null) ? labelData : new LabelData( name ) ;
    124                this.writable   = writable      ;
    125                this.codeData   = codeData      ;               // 4.0.0 (2005/01/31)
    126                this.dbid               = dbid          ;               // 4.0.0 (2005/01/31)
    127
    128                if( "=".equals(editorPrm) ) {
    129                        clmData[ColumnData.EDITOR_PARAM  ] = rendererPrm        ;
    130                }
    131                else {
    132                        clmData[ColumnData.EDITOR_PARAM  ] = editorPrm  ;
    133                }
    134
    135                // 5.1.6.0 (2010/05/01) DBTypeの初期値を "XK" とします。
    136                if( dbType == null ) {
    137                        clmData[ColumnData.DBTYPE        ] = DBType.DEF_TYPE;
    138                }
    139
    140                this.official = official;               // 3.6.0.7 (2004/11/06)
    141        }
    142
    143        /**
    144         * 簡易コンストラクター
    145         * キーのみを設定して作成する、簡易的な DBColumnConfig オブジェクトを
    146         * 作成します。
    147         *
    148         * @og.rev 3.4.0.0 (2003/09/01) 表示パラメータ、編集パラメータ、文字パラメータの追加。
    149         * @og.rev 3.6.0.7 (2004/11/06) カラムリソースから作成されたかどうか(official属性追加)
    150         * @og.rev 5.1.6.0 (2010/05/01) DBTypeの初期値を "XK" とします。
    151         * @og.rev 5.7.3.0 (2014/02/07) labelData の null 対応
    152         *
    153         * @param       name                    カラム名
    154         */
    155        public DBColumnConfig( final String name ) {
    156                this.lang               = "ja"          ;
    157                this.labelData  = new LabelData( name );        // 5.7.3.0 (2014/02/07) labelData の null 対応
    158                this.writable   = "true"        ;
    159                this.codeData   = null          ;                               // 4.0.0 (2005/01/31)
    160                this.official   = false         ;                               // 3.6.0.7 (2004/11/06)
    161
    162                clmData = new String[ColumnData.DATA_SIZE];
    163                clmData[ColumnData.CLM           ] = name               ;
    164                clmData[ColumnData.CLS_NAME      ] = "VARCHAR2" ;
    165                clmData[ColumnData.USE_LENGTH    ] = "60"               ;
    166                clmData[ColumnData.RENDERER      ] = null               ;
    167                clmData[ColumnData.EDITOR        ] = null               ;
    168                clmData[ColumnData.DBTYPE        ] = DBType.DEF_TYPE ;          // 5.1.6.0 (2010/05/01)
    169                clmData[ColumnData.DATA_DEFAULT  ] = ""                 ;
    170                clmData[ColumnData.RENDERER_PARAM] = ""                 ;
    171                clmData[ColumnData.EDITOR_PARAM  ] = ""                 ;
    172                clmData[ColumnData.TYPE_PARAM    ] = ""                 ;
    173                clmData[ColumnData.ROLES         ] = null               ;                       // 4.0.0 (2005/11/30)
    174        }
    175
    176        /**
    177         * 言語を返します。
    178         *
    179         * @return      言語
    180         */
    181        public String getLang() {
    182                return lang;
    183        }
    184
    185        /**
    186         * 言語を設定します。
    187         *
    188         * @param       lang 言語
    189         */
    190        public void setLang( final String lang ) {
    191                this.lang = lang;
    192        }
    193
    194        /**
    195         * カラム名を返します。
    196         *
    197         * @return      カラム名
    198         */
    199        public String getName() {
    200                return clmData[ColumnData.CLM];
    201        }
    202
    203        /**
    204         * カラム名を設定します。
    205         *
    206         * @param       name カラム名
    207         */
    208        public void setName( final String name ) {
    209                clmData[ColumnData.CLM] = name;
    210        }
    211
    212        /**
    213         * ラベル名を返します。
    214         *
    215         * @return      ラベル名
    216         */
    217        public String getLabel() {
    218                return ( labelData == null ) ? clmData[ColumnData.CLM] : labelData.getLabel() ;
    219        }
    220
    221        /**
    222         * カラムのクラスを文字列にした名称を返します。
    223         *
    224         * @return      カラムのクラスを文字列にした名称
    225         */
    226        public String getClassName() {
    227                return clmData[ColumnData.CLS_NAME];
    228        }
    229
    230        /**
    231         * カラムのクラスを文字列にした名称を設定します。
    232         *
    233         * @param       className カラムのクラス名
    234         */
    235        public void setClassName( final String className ) {
    236                clmData[ColumnData.CLS_NAME] = className;
    237        }
    238
    239        /**
    240         * カラムの表示桁数を返します。
    241         * viewLength は、設定した場合のみ、使用できます。通常は、null が返ります。
    242         *
    243         * @og.rev 4.0.0.0 (2005/01/31) メソッド名変更 getSize() → getViewLength()
    244         *
    245         * @return      カラムの表示桁数
    246         */
    247        public String getViewLength() {
    248                return clmData[ColumnData.VIEW_LENGTH];
    249        }
    250
    251        /**
    252         * カラムの表示桁数を設定します。
    253         *
    254         * @og.rev 4.0.0.0 (2005/01/31) メソッド名変更 setSize() → setViewLength()
    255         *
    256         * @param       viewLength カラムの表示桁数
    257         */
    258        public void setViewLength( final String viewLength ) {
    259                clmData[ColumnData.VIEW_LENGTH] = viewLength;
    260        }
    261
    262        /**
    263         * カラムの文字桁数を返します。
    264         *
    265         * @og.rev 3.5.5.5 (2004/04/23) 新規追加
    266         *
    267         * @return      カラムの文字桁数
    268         */
    269        public String getMaxlength() {
    270                return clmData[ColumnData.USE_LENGTH];
    271        }
    272
    273        /**
    274         * カラムの文字桁数を設定します。
    275         *
    276         * @og.rev 3.5.5.5 (2004/04/23) 新規追加
    277         *
    278         * @param       maxlength カラムの文字桁数
    279         */
    280        public void setMaxlength( final String maxlength ) {
    281                clmData[ColumnData.USE_LENGTH] = maxlength;
    282        }
    283
    284        /**
    285         * カラムが書き込み可能かどうか[true/false]を返します。
    286         *
    287         * @return      カラムが書き込み可能かどうか[true/false]
    288         */
    289        public boolean isWritable() {
    290                return "true".equalsIgnoreCase( writable ) ;
    291        }
    292
    293        /**
    294         * カラムが書き込み可能かどうか[true/false]を設定します。
    295         *
    296         * @param       writable 書き込み可能かどうか[true/false]
    297         */
    298        public void setWritable( final String writable ) {
    299                this.writable = writable;
    300        }
    301
    302        /**
    303         * データの表示用レンデラーを返します。
    304         *
    305         * @og.rev 3.1.0.0 (2003/03/20) Renderer をキーのみ返すように変更
    306         *
    307         * @return      データの表示用レンデラー
    308         */
    309        public String getRenderer() {
    310                return clmData[ColumnData.RENDERER];
    311        }
    312
    313        /**
    314         * データの表示用レンデラーを設定します。
    315         *
    316         * @param       renderer 表示用レンデラー
    317         */
    318        public void setRenderer( final String renderer ) {
    319                clmData[ColumnData.RENDERER] = renderer;
    320        }
    321
    322        /**
    323         * データの編集用エディターを返します。
    324         *
    325         * @og.rev 3.1.0.0 (2003/03/20) Editor をキーのみ返すように変更
    326         *
    327         * @return      データの編集用エディター
    328         */
    329        public String getEditor() {
    330                return clmData[ColumnData.EDITOR];
    331        }
    332
    333        /**
    334         * データの編集用エディターを設定します。
    335         *
    336         * @param       editor 編集用エディター
    337         */
    338        public void setEditor( final String editor ) {
    339                clmData[ColumnData.EDITOR] = editor;
    340        }
    341
    342        /**
    343         * 文字種別名を返します。
    344         *
    345         * @return  データの文字種別
    346         */
    347        public String getDbType() {
    348                return clmData[ColumnData.DBTYPE];
    349        }
    350
    351        /**
    352         * データのタイプを設定します。
    353         *
    354         * @og.rev 5.1.6.0 (2010/05/01) DBTypeの初期値を "XK" とします。
    355         *
    356         * @param       dbType 文字種別
    357         */
    358        public void setDbType( final String dbType ) {
    359                clmData[ColumnData.DBTYPE] = (dbType == null) ? DBType.DEF_TYPE : dbType ;
    360        }
    361
    362        /**
    363         * カラムロールを返します。
    364         *
    365         * @return  カラムロール
    366         */
    367        public String getRoles() {
    368                return clmData[ColumnData.ROLES];
    369        }
    370
    371        /**
    372         * カラムロールを設定します。
    373         *
    374         * @param       roles カラムロール
    375         */
    376        public void setRoles( final String roles ) {
    377                clmData[ColumnData.ROLES] = roles;
    378        }
    379
    380        /**
    381         * データのデフォルト値を返します。
    382         *
    383         * @og.rev 5.1.8.0 (2010/07/01) メソッド名変更(getDefValue ⇒ getDefault)
    384         *
    385         * @return      データのデフォルト値
    386         */
    387        public String getDefault() {
    388                return ( clmData[ColumnData.DATA_DEFAULT] != null ) ? clmData[ColumnData.DATA_DEFAULT] : "";
    389        }
    390
    391        /**
    392         * データのデフォルト値を設定します。
    393         *
    394         * @og.rev 5.1.8.0 (2010/07/01) メソッド名変更(setDefValue ⇒ setDefault)
    395         *
    396         * @param       dataDef デフォルト値
    397         */
    398        public void setDefault( final String dataDef ) {
    399                clmData[ColumnData.DATA_DEFAULT] = dataDef;
    400        }
    401
    402        /**
    403         * 表示用レンデラーの追加属性を返します。
    404         *
    405         * @return   属性リスト
    406         */
    407        public Attributes getRendererAttributes() {
    408                return rendAttri ;
    409        }
    410
    411        /**
    412         * 表示用レンデラーの追加属性を設定します。
    413         *
    414         * @param   attri       属性リスト
    415         */
    416        public void setRendererAttributes( final Attributes attri ) {
    417                rendAttri = attri;
    418        }
    419
    420        /**
    421         * 編集用エディター用の追加属性を返します。
    422         *
    423         * @return       追加属性
    424         */
    425        public Attributes getEditorAttributes() {
    426                return editAttri;
    427        }
    428
    429        /**
    430         * 編集用エディター用の追加属性を設定します。
    431         *
    432         * @param   attri       属性リスト
    433         */
    434        public void setEditorAttributes( final Attributes attri ) {
    435                editAttri = attri;
    436        }
    437
    438        /**
    439         * パラメータを設定します。
    440         * ここで設定された値は、すべて(表示、編集、文字)のパラメータにセットされます。
    441         *
    442         * @og.rev 3.4.0.0 (2003/09/01) 表示パラメータ、編集パラメータ、文字パラメータの追加。
    443         *
    444         * @param       inParam 入力パラメータ
    445         */
    446        public void setParameter( final String inParam ) {
    447                clmData[ColumnData.RENDERER_PARAM]      = inParam ;
    448                clmData[ColumnData.EDITOR_PARAM]        = inParam ;
    449                clmData[ColumnData.TYPE_PARAM]          = inParam ;
    450        }
    451
    452        /**
    453         * 表示用レンデラーのパラメータを取得します。
    454         *
    455         * @og.rev 3.4.0.0 (2003/09/01) 新規追加
    456         *
    457         * @return      表示用レンデラーのパラメータ
    458         */
    459        public String getRendererParam() {
    460                return clmData[ColumnData.RENDERER_PARAM];
    461        }
    462
    463        /**
    464         * 表示用レンデラーのパラメータを設定します。
    465         *
    466         * @og.rev 3.4.0.0 (2003/09/01) 新規追加
    467         *
    468         * @param       inParam 表示用レンデラーのパラメータ
    469         */
    470        public void setRendererParam( final String inParam ) {
    471                clmData[ColumnData.RENDERER_PARAM] = inParam;
    472        }
    473
    474        /**
    475         * 編集用エディターのパラメータを取得します。
    476         *
    477         * @og.rev 3.4.0.0 (2003/09/01) 新規追加
    478         *
    479         * @return      編集用エディターのパラメータ
    480         */
    481        public String getEditorParam() {
    482                return clmData[ColumnData.EDITOR_PARAM];
    483        }
    484
    485        /**
    486         * 編集用エディターのパラメータを設定します。
    487         *
    488         * @og.rev 3.4.0.0 (2003/09/01) 新規追加
    489         *
    490         * @param       inParam 編集用エディターのパラメータ
    491         */
    492        public void setEditorParam( final String inParam ) {
    493                clmData[ColumnData.EDITOR_PARAM] = inParam      ;
    494        }
    495
    496        /**
    497         * データタイプのパラメータを取得します。
    498         *
    499         * @og.rev 3.4.0.0 (2003/09/01) 新規追加
    500         *
    501         * @return      データタイプのパラメータ
    502         */
    503        public String getDbTypeParam() {
    504                return clmData[ColumnData.TYPE_PARAM];
    505        }
    506
    507        /**
    508         * データタイプのパラメータをします。
    509         *
    510         * @og.rev 3.4.0.0 (2003/09/01) 新規追加
    511         *
    512         * @param       inParam データタイプのパラメータ
    513         */
    514        public void setDbTypeParam( final String inParam ) {
    515                clmData[ColumnData.TYPE_PARAM] = inParam ;
    516        }
    517
    518        /**
    519         * メニューに空の選択リストを追加するかどうかを取得します。
    520         *
    521         * @og.rev 3.5.5.7 (2004/05/10) 新規追加
    522         *
    523         * @return      選択リストを追加するかどうか(true:追加する/false:追加しない)
    524         */
    525        public boolean isAddNoValue() {
    526                return addNoValue ;
    527        }
    528
    529        /**
    530         * メニューに空の選択リストを追加するかどうかを設定します。
    531         *
    532         * @og.rev 3.5.5.7 (2004/05/10) 新規追加
    533         *
    534         * @param       add     [true:追加する/false:追加しない]
    535         */
    536        public void setAddNoValue( final boolean add ) {
    537                this.addNoValue = add   ;
    538        }
    539
    540        /**
    541         * このカラムオブジェクトがカラムリソースより正式に作られたかどうかを取得します。
    542         * カラムリソースが無い場合は、仮オブジェクトかデータベースメタデータより作成されます。
    543         * その場合は、チェック機能が緩くなるため、正式なカラムオブジェクトと区別する為に
    544         * この属性を持ちます。
    545         *
    546         * @og.rev 3.6.0.7 (2004/11/06) 新規追加
    547         *
    548         * @return      カラムリソースより正式に作られたかどうか(true:正式/false:暫定)
    549         */
    550        public boolean isOfficial() {
    551                return official;
    552        }
    553
    554        /**
    555         * このカラムオブジェクトがカラムリソースより正式に作られたかどうかを設定します。
    556         * 従来は、自動判定で、再セット不可能でしたが、動的カラムを実現する場合に、
    557         * エラーチェックで引っかかるため、再設定可能にします。
    558         *
    559         * @og.rev 5.4.3.4 (2012/01/12) 新規追加
    560         *
    561         * @param       official 正式かどうか [true:正式/false:暫定]
    562         */
    563        public void setOfficial( final boolean official ) {
    564                this.official = official ;
    565        }
    566
    567        /**
    568         * 接続先IDを設定します。
    569         *
    570         * @param dbid 接続先ID
    571         */
    572        public void setDbid( final String dbid ) {
    573                this.dbid = dbid;
    574        }
    575
    576        /**
    577         * 接続先IDを返します。
    578         *
    579         * @return      接続先ID
    580         */
    581        public String getDbid() {
    582                return dbid;
    583        }
    584
    585        /**
    586         * カラムデータオブジェクトを取得します。
    587         *
    588         * @return      カラムデータオブジェクト
    589         */
    590        public ColumnData getColumnData() {
    591                return new ColumnData( clmData );
    592        }
    593
    594        /**
    595         * カラムデータオブジェクトを設定します。
    596         * ここでは、オブジェクトその物を持つのではなく、設定された値のみ持ちます。
    597         *
    598         * @param       clmDt カラムデータオブジェクト
    599         */
    600        public void setColumnData( final ColumnData clmDt ) {
    601                clmData = clmDt.getColumnData();
    602        }
    603
    604        /**
    605         * コードデータオブジェクトを取得します。
    606         *
    607         * @og.rev 4.0.0.0 (2005/01/31)  新規作成
    608         *
    609         * @return      コードデータオブジェクト
    610         */
    611        public CodeData getCodeData() {
    612                return codeData;
    613        }
    614
    615        /**
    616         * コードデータオブジェクトを設定します。
    617         *
    618         * @og.rev 4.0.0.0 (2005/01/31)  新規作成
    619         *
    620         * @param       codeData コードデータオブジェクト
    621         */
    622        public void setCodeData( final CodeData codeData ) {
    623                this.codeData = codeData;
    624        }
    625
    626        /**
    627         * ラベルデータオブジェクトを取得します。
    628         *
    629         * @return      ラベルデータオブジェクト
    630         */
    631        public LabelData getLabelData() {
    632                return labelData;
    633        }
    634
    635        /**
    636         * ラベルデータオブジェクトを設定します。
    637         *
    638         * @param       labelData ラベルデータオブジェクト
    639         */
    640        public void setLabelData( final LabelData labelData ) {
    641                this.labelData = labelData;
    642        }
    643
    644        /**
    645         * イベントカラム(親カラム)のセット
    646         *
    647         * イベントカラムをセットします。
    648         *
    649         * @og.rev 4.3.6.0 (2009/04/01)
    650         * @param       col     親カラムID
    651         */
    652        public void setEventColumn( final String col ) {
    653                this.eventColumn = col;
    654        }
    655
    656        /**
    657         * イベントカラム(親カラム)の取得
    658         *
    659         * イベントカラムを取得します。
    660         *
    661         * @og.rev 4.3.6.0 (2009/04/01)
    662         *
    663         * @return  イベントカラム
    664         */
    665        public String getEventColumn() {
    666                return eventColumn;
    667        }
    668
    669        /**
    670         * {&#064;XXXX}を変換していない状態の編集パラメータ
    671         *
    672         * 生のパラメータを取得します。
    673         *
    674         * @og.rev 4.3.6.0 (2009/04/01)
    675         *
    676         * @return  生編集パラメータ
    677         */
    678        public String getRawEditParameter() {
    679                return rawEditParameter;
    680        }
    681
    682        /**
    683         * {&#064;XXXX}を変換していない状態の表示パラメータ
    684         *
    685         * 生のパラメータを取得します。
    686         *
    687         * @og.rev 5.1.7.0 (2010/06/01) 動的プルダウン実装見直し
    688         *
    689         * @return  生表示パラメータ
    690         */
    691        public String getRawRendParameter() {
    692                return rawRendParameter;
    693        }
    694
    695        /**
    696         * {&#064;XXXX}を変換していない状態のparameterセット用
    697         *
    698         * 編集種別・表示種別
    699         * 生のパラメータをセットします。(編集種別・表示種別の両方に適用されます。)
    700         *
    701         * @og.rev 4.3.6.0 (2009/04/01)
    702         * @og.rev 5.1.7.0 (2010/06/01) 動的プルダウン実装見直し
    703         *
    704         * @param param パラメータ
    705         */
    706        public void setRawParameter( final String param ) {
    707                rawEditParameter = param;
    708                rawRendParameter = param;
    709        }
    710
    711        /**
    712         * {&#064;XXXX}を変換していない状態の編集種別 parameterセット用
    713         *
    714         * DBColumn とのデータ変換のため、内部変数として、編集種別・表示種別を分けて管理します。
    715         *
    716         * @og.rev 5.1.8.0 (2010/07/01) 新規追加
    717         *
    718         * @param param パラメータ
    719         */
    720        public void setRawEditParameter( final String param ) {
    721                rawEditParameter = param;
    722        }
    723
    724        /**
    725         * {&#064;XXXX}を変換していない状態の表示種別 parameterセット用
    726         *
    727         * DBColumn とのデータ変換のため、内部変数として、編集種別・表示種別を分けて管理します。
    728         *
    729         * @og.rev 5.1.8.0 (2010/07/01) 新規追加
    730         *
    731         * @param param パラメータ
    732         */
    733        public void setRawRendParameter( final String param ) {
    734                rawRendParameter = param;
    735        }
    736
    737        /**
    738         * イベントURLのセット
    739         *
    740         * イベントカラム利用時にコールされるURLのセット
    741         *
    742         * @og.rev 4.3.6.0 (2009/04/01)
    743         * @param url イベントURL
    744         */
    745        public void setEventURL( final String url ) {
    746                this.eventURL = url;
    747        }
    748
    749        /**
    750         * イベントURLの取得
    751         *
    752         * eventColumn利用時のJSから呼び出すためのURL取得
    753         *
    754         * @og.rev 4.3.6.0 (2009/04/01)
    755         *
    756         * @return  イベントURL
    757         */
    758        public String getEventURL() {
    759                return eventURL;
    760        }
    761
    762        /**
    763         * MENU時にラベル短ベースで表示するかどうか[auto/true/その他]のコントロール
    764         *
    765         * auto/trueが有効。それ以外はfalse扱いとする。標準auto
    766         *
    767         * @og.rev 5.5.1.0 (2012/04/03)
    768         * @param use 表示するかどうか[auto/true/その他]
    769         */
    770        public void setUseSLabel( final String use ) {
    771                this.useSLabel = use;
    772        }
    773
    774        /**
    775         * MENU時にラベル短ベースで表示するかどうかのコントロール
    776         *
    777         * @og.rev 5.5.1.0 (2012/04/03)
    778         *
    779         * @return  イベントURL
    780         */
    781        public String getUseSLabel() {
    782                return useSLabel;
    783        }
    784
    785        /**
    786         * 非表示文字列を設定します。
    787         *
    788         * これは、例えば、数字型の場合は、0 がデフォルトなどの場合、
    789         * あえて表示したくないなどのケースに使います。
    790         * そのような状況が設定されていない場合は、null を設定してください。
    791         * 初期値は、null です。
    792         *
    793         * @og.rev 5.6.2.3 (2013/03/22) 新規追加
    794         *
    795         * @param val 非表示にする文字列
    796         */
    797        public void setNoDisplayVal( final String val ) {
    798                this.noDisplayVal = val;
    799        }
    800
    801        /**
    802         * 非表示文字列を返します。
    803         *
    804         * これは、例えば、数字型の場合は、0 がデフォルトなどの場合、
    805         * あえて表示したくないなどのケースに使います。
    806         * そのような状況が設定されていない場合は、null が返されます。
    807         * 初期値は、null です。
    808         *
    809         * @og.rev 5.6.2.3 (2013/03/22) 新規追加
    810         *
    811         * @return 非表示文字
    812         */
    813        public String getNoDisplayVal() {
    814                return noDisplayVal;
    815        }
    816
    817        /**
    818         * 新しいコードセレクトを作成する為の「キー:ラベル キー:ラベル」の文字列を指定します。
    819         *
    820         * @og.tag
    821         * 既存の、CodeData には存在しない、新しいコードリソースを作成する為の、文字列を指定します。
    822         * 文字列は、「キー:ラベル キー:ラベル」形式で、スペースで分解後、":" でキーとラベルに分離します。
    823         * スペース分解後の文字列に、":" が含まれていない場合は、無視されます。
    824         * 内部的には、CodeData を作成しません。DBColumnオブジェクト内で、直接、Selection_KEYVAL を生成します。
    825         * codeName 、codeList、codeGroup などが指定された場合は、そちらが優先されます。
    826         * ※ この属性は、DBColumnConfig 作成時には設定されません。このメソッドを通してのみ設定可能です。
    827         *
    828         * @og.rev 5.6.6.0 (2013/07/05)  新規作成
    829         *
    830         * @param       keyval  新しいコードセレクトを作成する為の KEY:VAL 文字列
    831         */
    832        public void setCodeKeyVal( final String keyval ) {
    833                this.codeKeyVal = keyval;
    834        }
    835
    836        /**
    837         * 新しいコードセレクトを作成する為の「キー:ラベル キー:ラベル」の文字列を返します。
    838         *
    839         * @og.tag
    840         * 既存の、CodeData には存在しない、新しいコードリソースを作成する為の、内部文字列を返します。
    841         *
    842         * @og.rev 5.6.6.0 (2013/07/05)  新規作成
    843         *
    844         * @return 「キー:ラベル キー:ラベル」の文字列
    845         */
    846        public String getCodeKeyVal() {
    847                return codeKeyVal;
    848        }
    849
    850        /**
    851         * 文字タイプ出力フラグを設定します(初期値:true)。
    852         *
    853         * これは、レンデラーでのExcel出力時のセルタイプに影響します。
    854         * trueの場合は数値も全て文字として出力します。
    855         * レンデラ時も数値として出力したい場合（doubleに一度変換されます）にfalse設定を行います。
    856         * 初期値は、true です。
    857         *
    858         * @og.rev 5.7.6.3 (2014/05/23) 新規追加
    859         *
    860         * @param flg 出力フラグ
    861         */
    862        public void setStringOutput( final boolean flg ) {
    863                stringOutput = flg;
    864        }
    865
    866        /**
    867         * 文字タイプ出力フラグを返します(初期値:true)。
    868         *
    869         * これは、レンデラーでのExcel出力時のセルタイプに影響します。
    870         * trueの場合は数値も全て文字として出力します。
    871         * レンデラ時も数値として出力したい場合（doubleに一度変換されます）にfalse設定を行います。
    872         * 初期値は、true です。
    873         *
    874         * @og.rev 5.7.6.3 (2014/05/23) 新規追加
    875         *
    876         * @return 出力フラグ
    877         */
    878        public boolean isStringOutput() {
    879                return stringOutput;
    880        }
    881}