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 生成参数
|
* @Description 生成参数
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
// param作为扩展字段暂时将param从equals和toString中移除掉 以适应 CacheImageCaptchaGenerator
|
// param作为扩展字段暂时将param从equals和toString中移除掉 以适应 CacheImageCaptchaGenerator
|
||||||
@EqualsAndHashCode(exclude = "param")
|
@EqualsAndHashCode(exclude = "param")
|
||||||
public class GenerateParam {
|
public class GenerateParam {
|
||||||
|
|
||||||
|
/**
|
||||||
/** 背景格式化类型. */
|
* 背景格式化类型.
|
||||||
|
*/
|
||||||
private String backgroundFormatName = "jpeg";
|
private String backgroundFormatName = "jpeg";
|
||||||
/** 模板图片格式化类型. */
|
/**
|
||||||
|
* 模板图片格式化类型.
|
||||||
|
*/
|
||||||
private String templateFormatName = "png";
|
private String templateFormatName = "png";
|
||||||
/** 是否混淆. */
|
/**
|
||||||
|
* 是否混淆.
|
||||||
|
*/
|
||||||
private Boolean obfuscate = false;
|
private Boolean obfuscate = false;
|
||||||
/** 类型. */
|
/**
|
||||||
|
* 类型.
|
||||||
|
*/
|
||||||
private String type = CaptchaTypeConstant.SLIDER;
|
private String type = CaptchaTypeConstant.SLIDER;
|
||||||
/** 背景图片标签, 用户二级过滤背景图片,或指定某背景图片. */
|
/**
|
||||||
|
* 背景图片标签, 用户二级过滤背景图片,或指定某背景图片.
|
||||||
|
*/
|
||||||
private String backgroundImageTag;
|
private String backgroundImageTag;
|
||||||
/** 滑动图片标签,用户二级过滤模板图片,或指定某模板图片.. */
|
/**
|
||||||
|
* 滑动图片标签,用户二级过滤模板图片,或指定某模板图片..
|
||||||
|
*/
|
||||||
private String templateImageTag;
|
private String templateImageTag;
|
||||||
/** 扩展参数. */
|
/**
|
||||||
|
* 扩展参数.
|
||||||
|
*/
|
||||||
private AnyMap param = new AnyMap();
|
private AnyMap param = new AnyMap();
|
||||||
|
|
||||||
public void addParam(String key, Object value) {
|
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);
|
addParam(paramKey.getKey(), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,5 +90,69 @@ public class GenerateParam {
|
|||||||
return (T) getOrDefault(paramKey.getKey(), defaultValue);
|
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