All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gitee.maskit.utils.Response Maven / Gradle / Ivy

package com.gitee.maskit.utils;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Response implements Serializable {
    private static final String GENERAL_SUCCESS_CODE = "maskit.success.general";
    private static final String GENERAL_SUCCESS_MESSAGE = "Maskit general success";
    private static final String GENERAL_FAILURE_CODE = "maskit.failure.general";
    private static final String GENERAL_FAILURE_MESSAGE = "Maskit general failure";
    private int status;
    private String code = null;
    private String message = null;
    private T data = null;

    public boolean success() {
        return status >= 200 && status < 300;
    }

    public Response yes(final T data) {
        return new Response(200, GENERAL_SUCCESS_CODE, GENERAL_SUCCESS_MESSAGE, data);
    }

    public Response yes(final T data, final int status) {
        return new Response(status, GENERAL_SUCCESS_CODE, GENERAL_SUCCESS_MESSAGE, data);
    }

    public Response yes(final T data, final int status, final String code) {
        return new Response(status, code, GENERAL_SUCCESS_MESSAGE, data);
    }

    public Response yes(final T data, final int status, final String code, final String message) {
        return new Response(status, code, message, data);
    }

    public Response no() {
        return new Response(400, GENERAL_FAILURE_CODE, GENERAL_FAILURE_MESSAGE, false);
    }

    public Response no(final int status) {
        return new Response(status, GENERAL_FAILURE_CODE, GENERAL_FAILURE_MESSAGE, false);
    }

    public Response no(final int status, final String code) {
        return new Response(status, code, GENERAL_FAILURE_MESSAGE, false);
    }

    public Response no(final int status, final String code, final String message) {
        return new Response(status, code, message, false);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy