package cn.autoform.web.formula.info;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import cn.autoform.bean.form.CpnType;
|
import cn.autoform.db.entity.form.FormCpnInfo;
|
|
/**
|
* 表单控件
|
* @author WangYX
|
*
|
*/
|
public interface FormCpn extends Map<Object, Object>, Cloneable{
|
|
/**
|
* 表单 (in,out)
|
*/
|
String FORM_KEY = "form";
|
|
/**
|
* 表单子控件 (in)
|
*/
|
String CHILD_CPN = "child";
|
|
/**
|
* 表单子控件值 (in)
|
*/
|
String CHILD_CPN_VAL= "childCpnVal";
|
|
/**
|
* 触发事件
|
*/
|
String FORMULA_KEY = "formula";
|
|
/**
|
* 获得表单别名
|
* @return
|
*/
|
String getFieldId();
|
|
/**
|
* 更新表单别名
|
* @param fieldId
|
*/
|
void setFieldId(String fieldId);
|
|
/**
|
* 获得属性
|
* Attribute
|
* 获得子控件
|
* FormCpn
|
*/
|
@Override
|
Object get(Object key);
|
|
/**
|
* 初始化控件
|
* @param formFieldEntity
|
*/
|
void init(FormCpnInfo formCpnInfo);
|
|
/**
|
* 获得属性
|
* @param key
|
* @param row
|
* @return
|
*/
|
default Object get(Object key, Integer row){
|
return get(key);
|
}
|
|
/**
|
* 添加属性
|
* key:Attribute
|
* 添加子控件
|
* key:FormCpn
|
* 添加表单
|
* key:Form
|
*/
|
@Override
|
Object put(Object key, Object value);
|
|
/**
|
* 添加属性
|
* @param key
|
* @param value
|
* @param row
|
* @return
|
*/
|
default Object put(Object key, Object value, Integer row){
|
return put(key, value);
|
}
|
|
/**
|
* 添加表单控件监听
|
*/
|
void setFormCpnListener(FormCpnListener formCpnListener);
|
|
/**
|
* 获得表单控件监听器
|
* @return
|
*/
|
FormCpnListener getFormCpnListener();
|
|
/**
|
* 获得控件类型
|
* @return
|
*/
|
CpnType getCpnType();
|
|
/**
|
* 获得父控件
|
* @return
|
*/
|
FormCpn getParentCpn();
|
|
/**
|
* 获得在子表单中的行号
|
* @return
|
*/
|
Integer getIndex();
|
|
/**
|
* 获得控件公式
|
* @return
|
*/
|
List<FormulaInfo> getFormulas();
|
|
/**
|
* 更新控件公式
|
* @param formulas
|
*/
|
void setFormulas(List<FormulaInfo> formulas);
|
|
/**
|
* 获得控件值
|
* @return
|
*/
|
Object getValue();
|
}
|