package com.banesco.domain.model; public class BaseResponse { private final StatusResponse status; private final T data; private BaseResponse(Builder builder) { this.status = builder.status; this.data = builder.data; } public StatusResponse getstatus() { return status; } public T getdata() { return data; } public static class Builder { private StatusResponse status; private T data; public Builder() { } public Builder status(StatusResponse status) { this.status = status; return this; } public Builder data(T data) { this.data = data; 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 [status=" + status + ", data=" + data + "]"; } }