Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.87 KB | None | 0 0
  1. // A generic class that contains data and status about loading this data.
  2. public class Resource<T> {
  3.     @NonNull public final Status status;
  4.     @Nullable public final T data;
  5.     @Nullable public final String message;
  6.     private Resource(@NonNull Status status, @Nullable T data,
  7.             @Nullable String message) {
  8.         this.status = status;
  9.         this.data = data;
  10.         this.message = message;
  11.     }
  12.  
  13.     public static <T> Resource<T> success(@NonNull T data) {
  14.         return new Resource<>(Status.SUCCESS, data, null);
  15.     }
  16.  
  17.     public static <T> Resource<T> error(String msg, @Nullable T data) {
  18.         return new Resource<>(Status.ERROR, data, msg);
  19.     }
  20.  
  21.     public static <T> Resource<T> loading(@Nullable T data) {
  22.         return new Resource<>(Status.LOADING, data, null);
  23.     }
  24.  
  25.     public enum Status { SUCCESS, ERROR, LOADING }
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement