Android代码的Builder模式实现
来源:互联网 发布:淘宝好的零食店铺知乎 编辑:程序博客网 时间:2024/06/05 06:26
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();}@Overrideprotected Integer parseBody(JSONObject object) throws JSONException {Integer value = null;if (object.has("demandId")) {// 求购信息idvalue = Integer.valueOf(object.getInt("demandId"));}return value;}@Overrideprotected String getApi() {return Server.API_ADD_DEMAND;}@Overrideprotected 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);}}}
阅读全文
0 0
- Android代码的Builder模式实现
- Builder模式的实现
- [创建型设计模式:Builder]代码实现
- Builder模式在Android自定义底部对话框的实现
- Builder模式的简单实现
- Android源码中的Builder模式实现
- Android常用的设计模式:Builder模式
- 04. Builder模式代码
- Android模式- Builder模式
- 设计模式builder的C++实现源码
- 【Design Pattern】Builder模式的一种实现
- Android源码下常用的Builder模式
- 如何写Android 的Builder设计模式
- Android代码实现飞行模式的打开
- C++实现Builder模式
- 如何实现Builder模式
- Android开发Builder模式
- Android Builder模式
- 单向链表
- java内存溢出分析工具:jmap使用实战
- Effective Java 读书笔记之 1.考虑用静态工厂方法代替构造器
- 【BZOJ1443】游戏Game(JSOI2009)-二分图最大匹配+博弈
- Codeforces#418C An impassioned circulation of affection
- Android代码的Builder模式实现
- android的日期格式化 android.text.format.DateFormat类
- Vue-cli proxyTable 解决开发环境的跨域问题
- 第45章 系统状态变量分析(下)
- OkHttp设置返回数据的编码类型
- arguments.callee
- Android开发Toast特效详解
- 使用tshark抓包分析http请求
- list的遍历采用for循环。