package com.banesco.domain.model; public class BaseResponse { private StatusResponse statusResponse; private T dataResponse; public BaseResponse() { } public BaseResponse(StatusResponse statusResponse, T dataResponse) { this.statusResponse = statusResponse; this.dataResponse = dataResponse; } private BaseResponse(Builder builder) { this.statusResponse = builder.statusResponse; this.dataResponse = builder.dataResponse; } public StatusResponse getstatusResponse() { return statusResponse; } public T getdataResponse() { return dataResponse; } public static class Builder { private StatusResponse statusResponse; private T dataResponse; public Builder() { } public Builder statusResponse(StatusResponse statusResponse) { this.statusResponse = statusResponse; return this; } public Builder dataResponse(T dataResponse) { this.dataResponse = dataResponse; return this; } public BaseResponse build() { // Validaciones de ser necesario // if (attr == null || attr.isEmpty()) { // throw new IllegalStateException("El atributo1 no puede estar vacĂ­o"); // } return new BaseResponse<>(this); } } public static Builder builder() { return new Builder<>(); } @Override public String toString() { return "BaseResponse [statusResponse=" + statusResponse + ", dataResponse=" + dataResponse + "]"; } }