package weaver;
|
|
import foundation.dao.DataPackage;
|
import foundation.data.entity.Entity;
|
import foundation.util.Util;
|
import foundation.variant.expression.VariantExpression;
|
import foundation.variant.expression.VariantList;
|
import foundation.variant.expression.VariantSegment;
|
|
public class SignConfig {
|
private String id;
|
private String name;
|
private String flowId;
|
private String dataname;
|
private String fileField;
|
private SignType signType;
|
private String initiator;
|
private String subject;
|
private VariantExpression expression;
|
|
public void load(Entity entity) throws Exception {
|
this.id = entity.getId();
|
this.name = entity.getString("name");
|
this.flowId = entity.getString("flow_id");
|
this.fileField = entity.getString("file_field");
|
this.dataname = entity.getString("dataname");
|
this.signType = SignType.parse(entity.getString("sign_type"));
|
this.initiator = entity.getString("initiator");
|
|
String subject = entity.getString("subject");
|
this.subject = subject;
|
|
if(!Util.isEmpty(subject)) {
|
this.expression = new VariantExpression(subject);
|
}
|
}
|
public String getSubjectContent(Entity entity) {
|
if(expression == null) {
|
return subject;
|
}
|
|
VariantList variants = expression.getVariantList();
|
|
for (VariantSegment variant: variants) {
|
String segment = variant.getName();
|
segment = segment.toLowerCase();
|
|
String value = entity.getString(segment);
|
variant.setValue(value);
|
}
|
|
return expression.toString();
|
}
|
|
public String getId() {
|
return id;
|
}
|
|
public String getName() {
|
return name;
|
}
|
|
public String getFlowId() {
|
return flowId;
|
}
|
|
public String getDataname() {
|
return dataname;
|
}
|
|
public String getFileField() {
|
return fileField;
|
}
|
|
public SignType getSignType() {
|
return signType;
|
}
|
|
public VariantExpression getExpression() {
|
return expression;
|
}
|
|
}
|