intellij version of CashMachineBlueJ

ActionResult.java 741B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package rocks.zipcode.atm;
  2. /**
  3. * @author ZipCodeWilmington
  4. */
  5. public class ActionResult<T> {
  6. private T data;
  7. private String errorMessage;
  8. private ActionResult(T data) {
  9. this.data = data;
  10. }
  11. private ActionResult(String errorMessage) {
  12. this.errorMessage = errorMessage;
  13. }
  14. public T getData() {
  15. return data;
  16. }
  17. public String getErrorMessage() {
  18. return errorMessage;
  19. }
  20. public boolean isSuccess() {
  21. return data != null;
  22. }
  23. public static <E> ActionResult<E> success(E data) {
  24. return new ActionResult<E>(data);
  25. }
  26. public static <E> ActionResult<E> fail(String errorMessage) {
  27. return new ActionResult<E>(errorMessage);
  28. }
  29. }