java mina MidRequestDTO

本文介绍了一个名为MidRequestDTO的Java类,该类用于构造请求数据包,包括头部信息和主体参数。文章详细解释了如何设置函数ID及主体参数,并通过实例展示了如何获取整个请求的数据包格式。
package com.pingan.emall.dto;


import com.pingan.emall.util.StringUtil;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;


public class MidRequestDTO implements Serializable {

private static final long serialVersionUID = 3278160575532351086L;


private static final String SOH = "|";

private MidRequestHeaderDTO header;

private String functionId = "";

private List<String> bodyParams;

public MidRequestDTO() {
header = new MidRequestHeaderDTO();
bodyParams = new ArrayList<String>(50);
}

public MidRequestDTO(String functionId) {
this.functionId = functionId;
header = new MidRequestHeaderDTO();
bodyParams = new ArrayList<String>(50);
}

public String getFunctionId() {
return this.functionId;
}

public void setFunctionId(String functionId) {
this.functionId = functionId;
}


public String getPackage() {
String bodyPackage = getBodyPackage();
String headerPackage = header.getHeaderPackage();

int bodyLength = StringUtil.byteLength(bodyPackage);
int headerLength = StringUtil.byteLength(headerPackage);

header.setHeaderLength(StringUtils.leftPad(String.valueOf(headerLength), 4, '0'));
header.setBodyLength(StringUtils.leftPad(String.valueOf(bodyLength), 4, '0'));

return header.getHeaderPackage() + bodyPackage;
}

public String toString() {
return getPackage();
}

public MidRequestHeaderDTO getHeader() {
return header;
}

public List<String> getBodyParams() {
return bodyParams;
}

private String getBodyPackage() {
StringBuilder buffer = new StringBuilder();
buffer.append(functionId).append(SOH);

for (String param : bodyParams) {
buffer.append(StringUtils.isEmpty(param) ? "" : param).append(SOH);
}

return buffer.toString();
}
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值