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 createdTime;
14
15
16 private DefaultRememberMeToken(final Long id, final String randomString, final String userName, final long createdTime)
17 {
18 this.id = id;
19 this.randomString = randomString;
20 this.userName = userName;
21 this.createdTime = createdTime;
22 }
23
24 public Long getId()
25 {
26 return id;
27 }
28
29 public String getRandomString()
30 {
31 return randomString;
32 }
33
34 public String getUserName()
35 {
36 return userName;
37 }
38
39 public long getCreatedTime()
40 {
41 return createdTime;
42 }
43
44 public static Builder builder(final Long id, final String randomString)
45 {
46 return new Builder(id, randomString);
47 }
48
49 public static Builder builder(final String randomString)
50 {
51 return new Builder(randomString);
52 }
53
54 public static Builder builder(final RememberMeToken token)
55 {
56 return new Builder(token);
57 }
58
59 public static class Builder
60 {
61
62 private Long id;
63 private String randomString;
64 private String userName;
65 private long createdTime;
66
67 public Builder(final RememberMeToken token)
68 {
69 this.id = token.getId();
70 this.randomString = token.getRandomString();
71 this.userName = token.getUserName();
72 this.createdTime = token.getCreatedTime();
73
74 }
75
76 public Builder(final Long id, final String randomString)
77 {
78 this.id = id;
79 this.randomString = randomString;
80 }
81
82 public Builder(final String randomString)
83 {
84 this.randomString = randomString;
85 }
86
87 public Builder setId(Long id)
88 {
89 this.id = id;
90 return this;
91 }
92
93 public Builder setUserName(String userName)
94 {
95 this.userName = userName;
96 return this;
97 }
98
99 public Builder setRandomString(String randomString)
100 {
101 this.randomString = randomString;
102 return this;
103 }
104
105 public Builder setCreatedTime(long createdTime)
106 {
107 this.createdTime = createdTime;
108 return this;
109 }
110
111 public RememberMeToken build()
112 {
113 return new DefaultRememberMeToken(id, randomString, userName, createdTime);
114 }
115 }
116 }