mirror of
https://github.com/dromara/tianai-captcha.git
synced 2026-05-07 06:04:34 +08:00
!18 去除 lombok 的注解@Builder,@Builder 本身设计的问题,导致 通过 构建器构件的 GenerateParam 实例丢失默认值
Merge pull request !18 from Alay/master
This commit is contained in:
@@ -10,27 +10,37 @@ import lombok.*;
|
||||
* @Description 生成参数
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
// param作为扩展字段暂时将param从equals和toString中移除掉 以适应 CacheImageCaptchaGenerator
|
||||
@EqualsAndHashCode(exclude = "param")
|
||||
public class GenerateParam {
|
||||
|
||||
|
||||
/** 背景格式化类型. */
|
||||
/**
|
||||
* 背景格式化类型.
|
||||
*/
|
||||
private String backgroundFormatName = "jpeg";
|
||||
/** 模板图片格式化类型. */
|
||||
/**
|
||||
* 模板图片格式化类型.
|
||||
*/
|
||||
private String templateFormatName = "png";
|
||||
/** 是否混淆. */
|
||||
/**
|
||||
* 是否混淆.
|
||||
*/
|
||||
private Boolean obfuscate = false;
|
||||
/** 类型. */
|
||||
/**
|
||||
* 类型.
|
||||
*/
|
||||
private String type = CaptchaTypeConstant.SLIDER;
|
||||
/** 背景图片标签, 用户二级过滤背景图片,或指定某背景图片. */
|
||||
/**
|
||||
* 背景图片标签, 用户二级过滤背景图片,或指定某背景图片.
|
||||
*/
|
||||
private String backgroundImageTag;
|
||||
/** 滑动图片标签,用户二级过滤模板图片,或指定某模板图片.. */
|
||||
/**
|
||||
* 滑动图片标签,用户二级过滤模板图片,或指定某模板图片..
|
||||
*/
|
||||
private String templateImageTag;
|
||||
/** 扩展参数. */
|
||||
/**
|
||||
* 扩展参数.
|
||||
*/
|
||||
private AnyMap param = new AnyMap();
|
||||
|
||||
public void addParam(String key, Object value) {
|
||||
@@ -68,7 +78,7 @@ public class GenerateParam {
|
||||
}
|
||||
|
||||
|
||||
public <T> void addParam(ParamKey<T> paramKey, T value) {
|
||||
public <T> void addParam(ParamKey<T> paramKey, T value) {
|
||||
addParam(paramKey.getKey(), value);
|
||||
}
|
||||
|
||||
@@ -80,5 +90,69 @@ public class GenerateParam {
|
||||
return (T) getOrDefault(paramKey.getKey(), defaultValue);
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
private String backgroundFormatName = "jpeg";
|
||||
private String templateFormatName = "png";
|
||||
private Boolean obfuscate = false;
|
||||
private String type = CaptchaTypeConstant.SLIDER;
|
||||
private String backgroundImageTag;
|
||||
private String templateImageTag;
|
||||
private AnyMap param = new AnyMap();
|
||||
|
||||
private Builder() {
|
||||
}
|
||||
|
||||
public Builder backgroundFormatName(String backgroundFormatName) {
|
||||
this.backgroundFormatName = backgroundFormatName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder templateFormatName(String templateFormatName) {
|
||||
this.templateFormatName = templateFormatName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder obfuscate(Boolean obfuscate) {
|
||||
this.obfuscate = obfuscate;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder type(String type) {
|
||||
this.type = type;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder backgroundImageTag(String backgroundImageTag) {
|
||||
this.backgroundImageTag = backgroundImageTag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder templateImageTag(String templateImageTag) {
|
||||
this.templateImageTag = templateImageTag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder param(AnyMap param) {
|
||||
this.param = param;
|
||||
return this;
|
||||
}
|
||||
|
||||
public GenerateParam build() {
|
||||
GenerateParam generateParam = new GenerateParam();
|
||||
generateParam.backgroundFormatName = backgroundFormatName;
|
||||
generateParam.templateFormatName = templateFormatName;
|
||||
generateParam.obfuscate = obfuscate;
|
||||
generateParam.type = type;
|
||||
generateParam.backgroundImageTag = backgroundImageTag;
|
||||
generateParam.templateImageTag = templateImageTag;
|
||||
generateParam.param = param;
|
||||
return generateParam;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user