public class ResultGenerator { private static final String DEFAULT_SUCCESS_MESSAGE = "SUCCESS"; public static Result genSuccessResult(StringBuffer url) { return new Result() .setCode(ResultCode.SUCCESS) .setDocument(url.toString()) .setMessage(DEFAULT_SUCCESS_MESSAGE); } public static Result genSuccessResult(StringBuffer url, Object data) { return new Result() .setCode(ResultCode.SUCCESS) .setDocument(url.toString()) .setMessage(DEFAULT_SUCCESS_MESSAGE) .setData(data); } public static Result genFailResult(StringBuffer url, String message) { return new Result() .setCode(ResultCode.FAIL) .setDocument(url.toString()) .setMessage(message); } }
这里的 .setMessage(DEFAULT_SUCCESS_MESSAGE) 出现问题。因为由下面代码可知
Result.java
private int code; private String message; private Object data; private String document; public Result setCode(ResultCode resultCode) { this.code = resultCode.code; return this; }
//这里省略set/get方法
因为set方法的返回值是void 所以无法再继续调用Result的方法
修改后的Result.java
public class Result { private int code; private String message; private Object data; private String document; public Result setCode(ResultCode resultCode) { this.code = resultCode.code; this.message = resultCode.message; return this; } public int getCode() { return code; } public Result setCode(int code) { this.code = code; return this; } public String getMessage() { return message; } public Result setMessage(String message) { this.message = message; return this; } public Object getData() { return data; } public Result setData(Object data) { this.data = data; return this; } public String getDocument() { return document; } public Result setDocument(String document) { this.document = document; return this; } }