|
@@ -4,6 +4,8 @@ import java.io.Serializable;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
|
|
+import cn.com.qmth.examcloud.commons.util.StringUtil;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 动态枚举
|
|
* 动态枚举
|
|
*
|
|
*
|
|
@@ -31,9 +33,9 @@ public final class DynamicEnum implements Serializable {
|
|
private String desc;
|
|
private String desc;
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 值匹配正则表达式
|
|
|
|
|
|
+ * 值类型
|
|
*/
|
|
*/
|
|
- private String pattern;
|
|
|
|
|
|
+ private String valueType;
|
|
|
|
|
|
public Long getId() {
|
|
public Long getId() {
|
|
return id;
|
|
return id;
|
|
@@ -59,12 +61,12 @@ public final class DynamicEnum implements Serializable {
|
|
this.desc = desc;
|
|
this.desc = desc;
|
|
}
|
|
}
|
|
|
|
|
|
- public String getPattern() {
|
|
|
|
- return pattern;
|
|
|
|
|
|
+ public String getValueType() {
|
|
|
|
+ return valueType;
|
|
}
|
|
}
|
|
|
|
|
|
- public void setPattern(String pattern) {
|
|
|
|
- this.pattern = pattern;
|
|
|
|
|
|
+ public void setValueType(String valueType) {
|
|
|
|
+ this.valueType = valueType;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -75,9 +77,32 @@ public final class DynamicEnum implements Serializable {
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
public Boolean isLegal(String value) {
|
|
public Boolean isLegal(String value) {
|
|
- if (StringUtils.isNotBlank(value) && StringUtils.isNotBlank(pattern)) {
|
|
|
|
- return value.matches(pattern);
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(value) && null != valueType) {
|
|
|
|
+ BasicDataType dataType = BasicDataType.valueOf(valueType);
|
|
|
|
+ if (dataType.equals(BasicDataType.BOOLEAN)) {
|
|
|
|
+ try {
|
|
|
|
+ StringUtil.toBoolean(value);
|
|
|
|
+ return true;
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ } else if (dataType.equals(BasicDataType.INTEGER)) {
|
|
|
|
+ try {
|
|
|
|
+ StringUtil.toInteger(value);
|
|
|
|
+ return true;
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ } else if (dataType.equals(BasicDataType.LONG)) {
|
|
|
|
+ try {
|
|
|
|
+ StringUtil.toLong(value);
|
|
|
|
+ return true;
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|