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