package com.metech.request;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.google.gson.JsonArray;
import com.metech.app.Server;
import com.metech.request.action.OnFailSessionObserver2;
import com.metech.request.action.OnLoadObserver2;
import com.metech.request.action.OnParseObserver2;
import com.metech.request.base.MultiLoader;
public class AddDemandRequest extends MultiLoader<Object> {
public static final int HASH_CODE = AddDemandRequest.class.getSimpleName().hashCode();
private String sessionId = null;
private int productCategoryId = 0; //
private List<String> imageUrls = null;
private String sizeReq;
private int numReq;
private String deliveryTime;
private String deliveryPlace;
private int expectedPrice;
private String memo;
private AddDemandRequest(Builder builder) {
super(builder.failSessionObserver, null, builder.loadObserver, builder.parseObserver, false, false);
this.sessionId = builder.sessionId;
this.productCategoryId = builder.productCategoryId;
this.imageUrls = builder.imageUrls;
this.sizeReq = builder.sizeReq;
this.numReq = builder.numReq;
this.deliveryTime = builder.deliveryTime;
this.deliveryPlace = builder.deliveryPlace;
this.expectedPrice = builder.expectedPrice;
this.memo = builder.memo;
startRequest();
}
@Override
protected Integer parseBody(JSONObject object) throws JSONException {
Integer value = null;
if (object.has("demandId")) { // 求购信息id
value = Integer.valueOf(object.getInt("demandId"));
}
return value;
}
@Override
protected String getApi() {
return Server.API_ADD_DEMAND;
}
@Override
protected void setParams(JSONObject jsonObject) {
try {
jsonObject.put("sessionId", sessionId);
jsonObject.put("productCategoryId", productCategoryId);
jsonObject.put("imageUrls", new JSONArray(imageUrls));
jsonObject.put("sizeReq", sizeReq);
jsonObject.put("numReq", numReq);
jsonObject.put("deliveryTime", deliveryTime);
jsonObject.put("deliveryPlace", deliveryPlace);
jsonObject.put("expectedPrice", expectedPrice);
jsonObject.put("memo", memo);
} catch (JSONException ex) {
ex.printStackTrace();
}
}
public static class Builder {
private String sessionId = null;
private int productCategoryId = 0; //
private List<String> imageUrls = null;
private String sizeReq;
private int numReq;
private String deliveryTime;
private String deliveryPlace;
private int expectedPrice;
private String memo;
private OnParseObserver2<? super Object> parseObserver = null;
private OnLoadObserver2 loadObserver = null;
private OnFailSessionObserver2 failSessionObserver = null;
public Builder setSessionId(String sessionId) {
this.sessionId = sessionId;
return this;
}
public Builder setProductCategoryId(int productCategoryId) {
this.productCategoryId = productCategoryId;
return this;
}
public Builder setImageUrls(List<String> urls) {
this.imageUrls = urls;
return this;
}
public Builder setSizeReq(String sizeReq) {
this.sizeReq = sizeReq;
return this;
}
public Builder setNumReq(int numReq) {
this.numReq = numReq;
return this;
}
public Builder setDeliveryTime(String deliveryTime) {
this.deliveryTime = deliveryTime;
return this;
}
public Builder setDeliveryPlace(String deliveryPlace) {
this.deliveryPlace = deliveryPlace;
return this;
}
public Builder setExpectedPrice(int expectedPrice) {
this.expectedPrice = expectedPrice;
return this;
}
public Builder setMemo(String memo) {
this.memo = memo;
return this;
}
public Builder setObserverListener(OnParseObserver2<? super Object> parseObserver,
OnLoadObserver2 loadObserver, OnFailSessionObserver2 failSessionObserver) {
this.parseObserver = parseObserver;
this.loadObserver = loadObserver;
this.failSessionObserver = failSessionObserver;
return this;
}
public AddDemandRequest build() {
return new AddDemandRequest(this);
}
}
}
Android代码的Builder模式实现
最新推荐文章于 2025-03-25 14:12:36 发布