Line data Source code
1 : // Copyright (C) 2014 The Android Open Source Project 2 : // 3 : // Licensed under the Apache License, Version 2.0 (the "License"); 4 : // you may not use this file except in compliance with the License. 5 : // You may obtain a copy of the License at 6 : // 7 : // http://www.apache.org/licenses/LICENSE-2.0 8 : // 9 : // Unless required by applicable law or agreed to in writing, software 10 : // distributed under the License is distributed on an "AS IS" BASIS, 11 : // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 : // See the License for the specific language governing permissions and 13 : // limitations under the License. 14 : 15 : package com.google.gerrit.extensions.common; 16 : 17 : import java.util.Objects; 18 : 19 3 : public class ProblemInfo { 20 9 : public enum Status { 21 9 : FIXED, 22 9 : FIX_FAILED 23 : } 24 : 25 : public String message; 26 : public Status status; 27 : public String outcome; 28 : 29 : @Override 30 : public int hashCode() { 31 0 : return Objects.hash(message, status, outcome); 32 : } 33 : 34 : @Override 35 : public boolean equals(Object o) { 36 1 : if (!(o instanceof ProblemInfo)) { 37 0 : return false; 38 : } 39 1 : ProblemInfo p = (ProblemInfo) o; 40 1 : return Objects.equals(message, p.message) 41 1 : && Objects.equals(status, p.status) 42 1 : && Objects.equals(outcome, p.outcome); 43 : } 44 : 45 : @Override 46 : public String toString() { 47 0 : StringBuilder sb = new StringBuilder(getClass().getSimpleName()).append('[').append(message); 48 0 : if (status != null || outcome != null) { 49 0 : sb.append(" (").append(status).append(": ").append(outcome).append(')'); 50 : } 51 0 : return sb.append(']').toString(); 52 : } 53 : }