package jnpf.dmsEntity.permission.form; import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Locale; import java.util.Map; /** Carries optional request signature fields without mixing them into business parameters. */ public abstract class DmsAuditSignForm { @JsonProperty("biz_sign") @JsonAlias("bizSign") private String bizSign; @JsonIgnore private final Map auditSignParameters = new LinkedHashMap<>(); public String getBizSign() { return bizSign; } public void setBizSign(String bizSign) { this.bizSign = bizSign; } @JsonAnySetter public void captureAuditSignParameter(String name, Object value) { if (name != null && name.toLowerCase(Locale.ROOT).endsWith("_sign")) { auditSignParameters.put(name, value); } } @JsonIgnore public Map getAuditSignParameters() { return Collections.unmodifiableMap(auditSignParameters); } }