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; /** * 这个 BussinessOperationAction 接口定义了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 paramsMap); /** * 返回 Action 所在 Button 的参数信息 * @return */ public Map 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(); }