1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.jira.rest.client.domain;
18
19 import com.google.common.base.Objects;
20 import org.joda.time.DateTime;
21
22 import javax.annotation.Nullable;
23
24
25
26
27
28
29 public class LoginInfo {
30 private final int failedLoginCount;
31 private final int loginCount;
32 @Nullable
33 private final DateTime lastFailedLoginDate;
34 @Nullable
35 private final DateTime previousLoginDate;
36
37 public LoginInfo(int failedLoginCount, int loginCount, @Nullable DateTime lastFailedLoginDate, @Nullable DateTime previousLoginDate) {
38 this.failedLoginCount = failedLoginCount;
39 this.loginCount = loginCount;
40 this.lastFailedLoginDate = lastFailedLoginDate;
41 this.previousLoginDate = previousLoginDate;
42 }
43
44
45 public int getFailedLoginCount() {
46 return failedLoginCount;
47 }
48
49 public int getLoginCount() {
50 return loginCount;
51 }
52
53 @Nullable
54 public DateTime getLastFailedLoginDate() {
55 return lastFailedLoginDate;
56 }
57
58 @Nullable
59 public DateTime getPreviousLoginDate() {
60 return previousLoginDate;
61 }
62
63
64 @Override
65 public String toString() {
66 return Objects.toStringHelper(this).
67 add("failedLoginCount", failedLoginCount).
68 add("loginCount", loginCount).
69 add("lastFailedLoginDate", lastFailedLoginDate).
70 add("previousLoginDate", previousLoginDate).
71 toString();
72 }
73
74 @Override
75 public boolean equals(Object obj) {
76 if (obj instanceof LoginInfo) {
77 LoginInfo that = (LoginInfo) obj;
78 return Objects.equal(this.failedLoginCount, that.failedLoginCount)
79 && Objects.equal(this.loginCount, that.loginCount)
80 && Objects.equal(this.lastFailedLoginDate, that.lastFailedLoginDate)
81 && Objects.equal(this.previousLoginDate, that.previousLoginDate);
82 }
83 return false;
84 }
85
86 @Override
87 public int hashCode() {
88 return Objects.hashCode(failedLoginCount, loginCount, lastFailedLoginDate, previousLoginDate);
89 }
90
91 }