package com.eksad.masterdata.common; import com.fasterxml.jackson.annotation.JsonIgnore; import java.io.Serializable; public class GenericResponseDTO implements Serializable { private ResponseStatus status; private int code; private String message; private T data; @JsonIgnore public GenericResponseDTO successResponse() { GenericResponseDTO data = new GenericResponseDTO(); data.setStatus(ResponseStatus.S); data.setCode(201); data.setMessage("Process Successed"); return data; } @JsonIgnore public GenericResponseDTO successResponse(T t) { GenericResponseDTO data = new GenericResponseDTO(); data.setStatus(ResponseStatus.S); data.setCode(201); data.setData(t); data.setMessage("Process Successed"); return data; } @JsonIgnore public GenericResponseDTO noDataFoundResponse(T t) { GenericResponseDTO data = new GenericResponseDTO(); data.setStatus(ResponseStatus.S); data.setCode(204); data.setData(t); data.setMessage("No Data Found"); return data; } @JsonIgnore public GenericResponseDTO noDataFoundResponse() { GenericResponseDTO data = new GenericResponseDTO(); data.setStatus(ResponseStatus.S); data.setCode(204); data.setMessage("No Data Found"); return data; } @JsonIgnore public GenericResponseDTO errorResponse(int code, String message) { GenericResponseDTO data = new GenericResponseDTO(); data.setStatus(ResponseStatus.F); data.setCode(code); data.setMessage(message); return data; } public void setStatus(ResponseStatus status) { this.status = status; } public void setMessage(String message) { this.message = message; } public void setData(T data) { this.data = data; } public ResponseStatus getStatus() { return this.status; } public String getMessage() { return this.message; } public T getData() { return this.data; } public GenericResponseDTO() { } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public GenericResponseDTO(ResponseStatus status, int code, String message, T data) { this.status = status; this.code = code; this.message = message; this.data = data; } }