插件开发工具库,推荐依赖该工具库。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

78 lines
1.9 KiB

package com.fanruan.api.report.form.describer;
import com.fanruan.api.cal.FormulaKit;
import com.fanruan.api.log.LogKit;
import com.fanruan.api.util.GeneralKit;
import com.fanruan.api.util.StringKit;
import com.fr.data.act.Describer;
import com.fr.json.JSONObject;
import com.fr.stable.script.CalculatorProvider;
import com.fr.stable.web.Repository;
import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLable;
import com.fr.stable.xml.XMLableReader;
/**
* @author richie
* @version 10.0
* Created by richie on 2019-09-10
*/
public class EditTextDescriber implements Describer, XMLable {
public static final String XML_TAG = "EditTextDescriber";
private boolean directEdit = true;
private String waterMark;
public EditTextDescriber() {
}
public boolean isDirectEdit() {
return this.directEdit;
}
public void setDirectEdit(boolean directEdit) {
this.directEdit = directEdit;
}
public void setWaterMark(String waterMark) {
this.waterMark = waterMark;
}
public String getWaterMark() {
return waterMark;
}
@Override
public void mixinJSON(Repository repo, CalculatorProvider c, JSONObject jo) {
jo.put("directEdit", directEdit);
if (StringKit.isNotBlank(waterMark)) {
if (FormulaKit.canBeFormula(waterMark)) {
try {
jo.put("watermark", GeneralKit.objectToString(FormulaKit.newFormula(waterMark).eval(c)));
} catch (Exception e) {
LogKit.error(e.getMessage(), e);
}
} else {
jo.put("watermark", waterMark);
}
}
}
@Override
public void readXML(XMLableReader xmLableReader) {
}
@Override
public void writeXML(XMLPrintWriter xmlPrintWriter) {
}
@Override
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
}