Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
36321 vikas 1
package com.spice.profitmandi.web.v2.response;
2
 
3
import com.fasterxml.jackson.annotation.JsonInclude;
4
 
5
import java.time.LocalDateTime;
6
 
7
@JsonInclude(JsonInclude.Include.NON_NULL)
8
public class ApiResponse<T> {
9
 
10
    private boolean success;
11
    private int status;
12
    private String message;
13
    private T data;
14
    private ErrorDetail error;
15
    private LocalDateTime timestamp;
16
    private String path;
17
 
18
    public ApiResponse() {
19
        this.timestamp = LocalDateTime.now();
20
    }
21
 
22
    public static <T> ApiResponse<T> success(T data) {
23
        ApiResponse<T> response = new ApiResponse<>();
24
        response.success = true;
25
        response.status = 200;
26
        response.message = "OK";
27
        response.data = data;
28
        return response;
29
    }
30
 
31
    public static <T> ApiResponse<T> success(T data, String message) {
32
        ApiResponse<T> response = new ApiResponse<>();
33
        response.success = true;
34
        response.status = 200;
35
        response.message = message;
36
        response.data = data;
37
        return response;
38
    }
39
 
40
    public static ApiResponse<?> error(int status, String message, ErrorDetail error) {
41
        ApiResponse<?> response = new ApiResponse<>();
42
        response.success = false;
43
        response.status = status;
44
        response.message = message;
45
        response.error = error;
46
        return response;
47
    }
48
 
49
    public boolean isSuccess() {
50
        return success;
51
    }
52
 
53
    public void setSuccess(boolean success) {
54
        this.success = success;
55
    }
56
 
57
    public int getStatus() {
58
        return status;
59
    }
60
 
61
    public void setStatus(int status) {
62
        this.status = status;
63
    }
64
 
65
    public String getMessage() {
66
        return message;
67
    }
68
 
69
    public void setMessage(String message) {
70
        this.message = message;
71
    }
72
 
73
    public T getData() {
74
        return data;
75
    }
76
 
77
    public void setData(T data) {
78
        this.data = data;
79
    }
80
 
81
    public ErrorDetail getError() {
82
        return error;
83
    }
84
 
85
    public void setError(ErrorDetail error) {
86
        this.error = error;
87
    }
88
 
89
    public LocalDateTime getTimestamp() {
90
        return timestamp;
91
    }
92
 
93
    public void setTimestamp(LocalDateTime timestamp) {
94
        this.timestamp = timestamp;
95
    }
96
 
97
    public String getPath() {
98
        return path;
99
    }
100
 
101
    public void setPath(String path) {
102
        this.path = path;
103
    }
104
}