123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package me.yoqi.android.netauth.data;
- /**
- * A generic class that holds a result success w/ data or an error exception.
- */
- public class Result<T> {
- // hide the private constructor to limit subclass types (Success, Error)
- private Result() {
- }
- @Override
- public String toString() {
- if (this instanceof Result.Success) {
- Result.Success success = (Result.Success) this;
- return "Success[data=" + success.getData().toString() + "]";
- } else if (this instanceof Result.Error) {
- Result.Error error = (Result.Error) this;
- return "Error[exception=" + error.getError().toString() + "]";
- }
- return "";
- }
- // Success sub-class
- public final static class Success<T> extends Result {
- private T data;
- public Success(T data) {
- this.data = data;
- }
- public T getData() {
- return this.data;
- }
- }
- // Error sub-class
- public final static class Error extends Result {
- private Exception error;
- public Error(Exception error) {
- this.error = error;
- }
- public Exception getError() {
- return this.error;
- }
- }
- }
|