wangting
2024-09-27 a3e87f78ee262ca9bb7d9b0c997639d5f3295890
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
package com.vci.client.uif.actions.client;
 
import java.awt.Component;
import java.util.Map;
 
import com.vci.client.portal.utility.PLDefination;
import com.vci.client.ui.swing.components.VCIJDialog;
import com.vci.client.uif.engine.client.IDataModel;
import com.vci.client.uif.engine.client.IRegionPanel;
import com.vci.corba.portal.data.PLAction;
import com.vci.corba.portal.data.PLTabButton;
 
 
/**
 * 这个 <code>BussinessOperationAction</code> 接口定义了Action操作的一般操作接口。
 * 
 *
 */
public interface BusinessOperationAction {
    
    /**
     * query 是系统关键字,不要使用它作为key
     */
    public static final String ADD = "add";
    public static final String ADD_SAVE = "addSave";
    public static final String EDIT = "edit";
    public static final String EDIT_SAVE = "editSave";
    public static final String DEL = "del";
    public static final String COPY = "copy";
    public static final String COPY_DOC = "cpdoc";
    public static final String PASTE = "paste";
    public static final String PASTE_DOC = "pastedoc";
    public static final String CHOOSE_DOC = "choosedoc";
    public static final String CHOOSE = "choose";
    public static final String REMOVE = "remove";
    public static final String CUT = "cut";
    public static final String EXP = "exp";
    public static final String IMP = "imp";
    public static final String DOWNLOAD = "download";
    public static final String REVISION = "rev";
    public static final String TRANSFER = "transfer";
    public static final String ANALYZE = "analyze";
    public static final String BROWSER = "browse";
    public static final String STUFF="stuff";
    public static final String GROUP="group";
    public static final String EDIT_IN_TABLE = "editInTable";
    public static final String ENABLE = "enable";
    public static final String DISABLE = "disable";
    
    public static final String CLOSE_ADD_OR_EDIT_DIALOG = "CloseAddOrEditDialog";
    /**
     * 升级版次事件
     */
    public static final String VERSION = "version";
    /**
     * 浏览link对象
     */
    public static final String BROWSERLINK = "browserlink";
    /**
     * 创建link
     */
    public static final String CREATELINK = "createlink";
    /**
     * 修改link
     */
    public static final String EDITLINK = "editlink";
    /**
     * 刷新按钮
     */
    public static final String REFRESH = "refresh";
    /**
     * 浏览按钮
     */
    public static final String VIEW = "view";
    /**
     * 导入业务对象
     */
    public static final String IMPORTBO = "importbo";
    /**
     * 导入链接对象
     */
    public static final String IMPORTLO = "importlo";
    
    /**
     * 设置 Action 所在 Button 的参数信息
     */
    public void setButtonParams(Map<String, String> paramsMap);
    /**
     * 返回 Action 所在 Button 的参数信息
     * @return
     */
    public Map<String, String> getButtonParams();
    
    /**
     * 设置Button 对应的 Action 所在的Defination
     * @param defination
     */
    public void setDefination(PLDefination defination);
    /**
     * 返回 Button 对应的 Action 所在的Defination
     * @return
     */
    public PLDefination getDefination();
    /**
     * 设置 Button
     * @param button
     */
    public void setButton(PLTabButton button);
    /**
     * 返回 与此Action关联对应的Button
     * @return
     */
    public PLTabButton getButton();
    
    /**
     * 设置 Action 所在区域的DataModel
     * @param dataModel
     */
    public void setDataModel(IDataModel dataModel);
    /**
     * 返回 Action 所在区域的DataModel
     * @return
     */
    public IDataModel getDataModel();
    
    /**
     * 返回Aaction所属的父对象
     * @return
     */
    public Component getParentComponent();
    /**
     * 设置Action所属的父对象
     * @param parentComponent
     */
    public void setParentComponent(Component parentComponent);
    
    /**
     * 用于权限判断的 KEY
     * @return
     */
    public String getKey();
    
    /**
     * 是否有权限执行此Action
     * @return 返回 true 表示有权限,返回 false 表示没有权限此操作
     */
    public boolean checkHasRight();
    
    /**
     * 通用的执行                                                --建议屏蔽,只在Action框架基类中特殊解释用(如抛出来会破坏Action框架)
     * @return 此Action执行的结果
     */
    /*public boolean doAction();*/
    
    /**
     * doPost 执行前需要执行的业务逻辑
     * @see doPost
     * @return 返回 true 可以进一步执行 doPost,返回 false 则不执行 doPost
     */
    public boolean beforePost();
    
    /**
     * 具体要执行的业务逻辑
     * @return 执行成功返回 true,执行失败返回 false
     */
    public boolean doPost();
    
    /**
     *  doPost 执行成功后需要执行的业务逻辑
     * @see doPost
     * @return 执行成功返回 true,执行失败返回 false
     */
    public boolean afterPost();
    
    /**
     * afterPost事件处理时可处理的数据补充(afterPost还可以处理PostActionEvent)  -- Add By ZhongGY
     * @Title        :getAfterPostData
     * @Description    :
     * @return
     *//*
    public Object getAfterPostDataExt();*/
    
    /**
     * 数据来源
     * @author xiongchao
     *
     */
    public enum ValueType{
        /**
         * Action 所在Button的定义的数据
         */
        ButtonConfig,
        /**
         * 运行时的数据(行、Form数据)
         */
        RuntimeData,
    }
    
    /**
     * 获取参数
     * @param vt 参数值的来源
     * @param key 参数的 key
     * @param dataIndex 参数数据索引(第xx条数据的 x)
     * @return
     */
    public String getParameterValue(ValueType valueType, String key, int dataIndex);
    
    /**
     * 设置Action所在的Dialog
     * @param ownerDialog
     */
    public void setOwnerDialog(VCIJDialog ownerDialog);
    /**
     * 返回 Action 所在的Dialog
     * @return VCIJDialog
     */
    public VCIJDialog getOwnerDialog();
    
    /**
     * 设置Button&Action所在的RegionPanel
     * @param regionPanel
     */
    public void setRegionPanel(IRegionPanel regionPanel);
    /**
     * Button&Action所在的RegionPanel
     * @return
     */
    public IRegionPanel getRegionPanel();
    
    /**
     * 设置此action所在的button(jbutton)实例
     */
    public void setButtonComponent(Component buttonComponent);
    /**
     * 返回此action所在的button(jbutton)实例
     * @return
     */
    public Component getButtonComponent();
    
    /**
     * 设置Action配置信息
     * @param action
     */
    public void setAction(PLAction action);
    
    /**
     * 获得Action配置信息
     * @return
     */
    public PLAction getAction();
 
    /**
     * 设置 action 需要使用的数据权限检查类型
     * @param dataRightCheckType 数据权限检查类型
     */
    public void setDataRightCheckType(String dataRightCheckType);
    /**
     * 返回 action 使用的数据权限检查类型
     * @return
     */
    public String getDataRightCheckType();
}