1 package com.atlassian.seraph.service.rememberme;
2
3
4
5
6
7
8 public class DefaultRememberMeToken implements RememberMeToken
9 {
10 private final Long id;
11 private final String randomString;
12 private final String userName;
13 private final long expiryTime;
14 private final long createdTime;
15
16
17 private DefaultRememberMeToken(final Long id, final String randomString, final String userName, final long expiryTime, final long createdTime)
18 {
19 this.id = id;
20 this.randomString = randomString;
21 this.userName = userName;
22 this.expiryTime = expiryTime;
23 this.createdTime = createdTime;
24 }
25
26 public Long getId()
27 {
28 return id;
29 }
30
31 public String getRandomString()
32 {
33 return randomString;
34 }
35
36 public String getUserName()
37 {
38 return userName;
39 }
40
41 public long getExpiryTime()
42 {
43 return expiryTime;
44 }
45
46 public long getCreatedTime()
47 {
48 return createdTime;
49 }
50
51 public static Builder builder(final Long id, final String randomString)
52 {
53 return new Builder(id, randomString);
54 }
55
56 public static Builder builder(final String randomString)
57 {
58 return new Builder(randomString);
59 }
60
61 public static Builder builder(final RememberMeToken token)
62 {
63 return new Builder(token);
64 }
65
66 public static class Builder
67 {
68
69 private Long id;
70 private String randomString;
71 private String userName;
72 private long expiryTime;
73 private long createdTime;
74
75 public Builder(final RememberMeToken token)
76 {
77 this.id = token.getId();
78 this.randomString = token.getRandomString();
79 this.userName = token.getUserName();
80 this.expiryTime = token.getExpiryTime();
81 this.createdTime = token.getCreatedTime();
82
83 }
84
85 public Builder(final Long id, final String randomString)
86 {
87 this.id = id;
88 this.randomString = randomString;
89 }
90
91 public Builder(final String randomString)
92 {
93 this.randomString = randomString;
94 }
95
96 public Builder setId(Long id)
97 {
98 this.id = id;
99 return this;
100 }
101
102 public Builder setUserName(String userName)
103 {
104 this.userName = userName;
105 return this;
106 }
107
108 public Builder setRandomString(String randomString)
109 {
110 this.randomString = randomString;
111 return this;
112 }
113
114 public Builder setExpiryTime(long expiryTime)
115 {
116 this.expiryTime = expiryTime;
117 return this;
118 }
119
120 public Builder setCreatedTime(long createdTime)
121 {
122 this.createdTime = createdTime;
123 return this;
124 }
125
126 public RememberMeToken build()
127 {
128 return new DefaultRememberMeToken(id, randomString, userName, expiryTime, createdTime);
129 }
130 }
131 }