美文网首页
StepDialogInterface 接口

StepDialogInterface 接口

作者: 比特舞者 | 来源:发表于2017-10-30 07:44 被阅读9次

    一个方向

    弄清楚 label、input、combobox、数据源、checkbox 控件等等的使用方法。
    kettle 是采用 java 的 swt 来进行界面开发的

    构造函数

    下面是构造函数的代码:

    public ObfusDialog(Shell parent, Object in, TransMeta tr, String sname)
    {
        super(parent, (BaseStepMeta)in, tr, sname);
        meta=(ObfusMeta)in;
    }
    

    此构造函数是供 kettle 的内核来实例化插件使用的,这里只介绍in参数,通过这个参数,kettle 的内核将 ObfusMeta 传递了进来。

    顾名思义,ObfusMeta是专门用来存放控件元数据的,其他元数据主要包括控件的配置参数。例如,下图中红色圈出的部分,都属于处理数据的元数据。

    控件的配置

    当插件运行时,主要是在 Obfus 中的processRow方法中处理数据的,ketlte 的内核调用 Obfus 的init方法来传入 ObfusMeta 的。请看

        public boolean init(  StepMetaInterface smi
                                          , StepDataInterface sdi) {
            meta  =(ObfusMeta)smi;
            data   =(ObfusData)sdi;
            super.init(smi, sdi);
            return true;
        }
    

    Obfus 的processRow方法中,kettle 的内核会将 data、meta 都传进来的,这样一来就可以得到控件的配置信息了。

    元数据的组织方式

    控件中的元数据是保存在 Meta 中的 private、public 的变量中的。在 Dialog 中,当用户编辑好控件的配置后,点击确定,可以在相应点击事件的方法中将配置信息保存到 Meta 中。

    相关文章

      网友评论

          本文标题:StepDialogInterface 接口

          本文链接:https://www.haomeiwen.com/subject/tlsepxtx.html