You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.4 KiB
Java
95 lines
2.4 KiB
Java
package cokr.xit.foundation.component;
|
|
|
|
import java.io.Serializable;
|
|
|
|
import cokr.xit.foundation.AbstractComponent;
|
|
|
|
/**서비스 응답으로 반환하는 정보를 갖는 객체의 베이스 클래스.<br />
|
|
* 서비스 결과로 전달해야할 정보가 여러 개일 경우 이 클래스를 상속받아 응답클래스를 정의한다.<br />
|
|
* 결과 정보가 하나일 경우는 응답클래스를 정의할 필요없다.
|
|
* @author mjkhan
|
|
*/
|
|
public abstract class ServiceResponse extends AbstractComponent implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
private String
|
|
code,
|
|
message;
|
|
private Throwable throwable;
|
|
private Boolean success;
|
|
|
|
/**결과코드를 반환한다.
|
|
* @return 결과코드
|
|
*/
|
|
public String getCode() {
|
|
return code;
|
|
}
|
|
|
|
/**결과코드를 설정한다.
|
|
* @param <T> 응답 타입
|
|
* @param code 결과코드
|
|
* @return 현재 응답
|
|
*/
|
|
public <T extends ServiceResponse> T setCode(String code) {
|
|
this.code = code;
|
|
return self();
|
|
}
|
|
|
|
/**결과메시지를 반환한다.
|
|
* @return 결과메시지
|
|
*/
|
|
public String getMessage() {
|
|
return message;
|
|
}
|
|
|
|
/**결과메시지를 설정한다.
|
|
* @param <T> 응답 타입
|
|
* @param message 결과메시지
|
|
* @return 현재 응답
|
|
*/
|
|
public <T extends ServiceResponse> T setMessage(String message) {
|
|
this.message = message;
|
|
return self();
|
|
}
|
|
|
|
/**오류를 반환한다.
|
|
* @return 오류
|
|
*/
|
|
public Throwable getThrowable() {
|
|
return throwable;
|
|
}
|
|
|
|
/**오류를 설정한다.
|
|
* @param <T> 응답 타입
|
|
* @param throwable 오류
|
|
* @return 현재 응답
|
|
*/
|
|
public <T extends ServiceResponse> T setThrowable(Throwable throwable) {
|
|
this.throwable = throwable;
|
|
return self();
|
|
}
|
|
|
|
/**성공여부를 반환한다.
|
|
* @return 성공여부
|
|
* <ul><li>디폴트는 true</li>
|
|
* <li>오류가 설정되어 있으면 false</li>
|
|
* <li>설정된 성공여부</li>
|
|
* </ul>
|
|
*/
|
|
public boolean isSuccess() {
|
|
if (throwable != null)
|
|
return false;
|
|
|
|
return ifEmpty(success, Boolean.TRUE);
|
|
}
|
|
|
|
/**성공여부(디폴트는 true)를 설정한다.
|
|
* @param <T> 응답 타입
|
|
* @param success 성공여부
|
|
* @return 현재 응답
|
|
*/
|
|
public <T extends ServiceResponse> T setSuccess(boolean success) {
|
|
this.success = success;
|
|
return self();
|
|
}
|
|
} |