📄 enumsearch.java
字号:
package org.opencustomer.framework.db.util.engine.configuration;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.struts.action.ActionMessages;
import org.opencustomer.framework.util.FormUtility;
import org.opencustomer.framework.webapp.util.html.Column;
public final class EnumSearch implements Search {
private Class<? extends Enum> clazz;
private LinkedHashMap<Enum, String> messageKeys = new LinkedHashMap<Enum, String>();
private Enum defaultValue;
private Enum value;
public EnumSearch() {
}
public EnumSearch(Class<? extends Enum> clazz) {
this.clazz = clazz;
}
public Map<Enum, String> getMessageKeys() {
return messageKeys;
}
public void setMessageKeys(Map<Enum, String> messageKeys) {
this.messageKeys.clear();
this.messageKeys.putAll(messageKeys);
}
public Class<? extends Enum> getClazz() {
return clazz;
}
public void setClazz(Class<? extends Enum> clazz) {
this.clazz = clazz;
}
public Enum getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(Enum defaultValue) {
this.defaultValue = defaultValue;
this.value = defaultValue;
}
public Enum getValue() {
return value;
}
public void setValue(Enum value) {
this.value = value;
}
public void load(Column column, ActionMessages errors, HttpServletRequest request) {
String value = FormUtility.adjustParameter(request.getParameter("search_"+column.getPosition()));
if(value != null) {
for(Enum e : messageKeys.keySet()) {
if(e == null) {
if(value == null || value.trim().length() == 0) {
this.value = null;
}
} else if(e.name().equals(value)) {
this.value = e;
}
}
} else {
this.value = null;
}
}
public void reset() {
this.value = defaultValue;
}
@Override
public String toString() {
ToStringBuilder builder = new ToStringBuilder(this);
builder.append("clazz", clazz);
builder.append("messageKeys", messageKeys);
builder.append("defaultValue", defaultValue);
builder.append("value", value);
return builder.toString();
}
@Override
public Object clone() {
try {
EnumSearch objectClone = (EnumSearch)super.clone();
objectClone.clazz = this.clazz;
objectClone.messageKeys = (LinkedHashMap<Enum, String>)this.messageKeys.clone();
return objectClone;
} catch(CloneNotSupportedException e) {
throw new InternalError();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -