
org.unique.support.upload.MultiState Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of unique-support-upload Show documentation
Show all versions of unique-support-upload Show documentation
unique-web is a lightweight Java Web Framework
The newest version!
package org.unique.support.upload;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* 多状态集合状态 其包含了多个状态的集合, 其本身自己也是一个状态
* @author:biezhi
* @version:1.0
*/
public class MultiState implements State {
private boolean state = false;
private String info = null;
private Map intMap = new HashMap();
private Map infoMap = new HashMap();
private List stateList = new ArrayList();
private Map formParamMap = new HashMap();
public MultiState(boolean state) {
this.state = state;
}
public MultiState(boolean state, String info) {
this.state = state;
this.info = info;
}
public MultiState(boolean state, int infoKey) {
this.state = state;
this.info = StateInfo.getStateInfo(infoKey);
}
@Override
public boolean isSuccess() {
return this.state;
}
public void addState(State state) {
stateList.add(state.toJSONString());
}
/**
* 该方法调用无效果
*/
@Override
public void putInfo(String name, String val) {
this.infoMap.put(name, val);
}
@Override
public String toJSONString() {
String stateVal = this.isSuccess() ? StateInfo
.getStateInfo(StateInfo.SUCCESS) : this.info;
StringBuilder builder = new StringBuilder();
builder.append("{\"state\": \"" + stateVal + "\"");
// 数字转换
Iterator iterator = this.intMap.keySet().iterator();
while (iterator.hasNext()) {
stateVal = iterator.next();
builder.append(",\"" + stateVal + "\": "
+ this.intMap.get(stateVal));
}
iterator = this.infoMap.keySet().iterator();
while (iterator.hasNext()) {
stateVal = iterator.next();
builder.append(",\"" + stateVal + "\": \""
+ this.infoMap.get(stateVal) + "\"");
}
builder.append(", list: [");
iterator = this.stateList.iterator();
while (iterator.hasNext()) {
builder.append(iterator.next() + ",");
}
if (this.stateList.size() > 0) {
builder.deleteCharAt(builder.length() - 1);
}
builder.append(" ]}");
try {
return URLEncoder.encode(builder.toString(), "utf-8");
} catch (UnsupportedEncodingException e) {
}
return builder.toString();
}
@Override
public void putInfo(String name, long val) {
this.intMap.put(name, val);
}
@Override
public Map getFormParams() {
return this.formParamMap;
}
@Override
public void putFormParams(Map formParams) {
this.formParamMap = formParams;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy