src/main/java/de/uapcore/lightpit/entities/User.java

Thu, 14 May 2020 22:48:01 +0200

author
Mike Becker <universe@uap-core.de>
date
Thu, 14 May 2020 22:48:01 +0200
changeset 47
57cfb94ab99f
parent 37
fecda0f466e6
child 51
dd0a45ae25d7
permissions
-rw-r--r--

projects can now be added and updated

21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 /*
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
3 *
24
8137ec335416 updates copyright header
Mike Becker <universe@uap-core.de>
parents: 21
diff changeset
4 * Copyright 2018 Mike Becker. All rights reserved.
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
5 *
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6 * Redistribution and use in source and binary forms, with or without
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 * modification, are permitted provided that the following conditions are met:
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 *
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9 * 1. Redistributions of source code must retain the above copyright
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 * notice, this list of conditions and the following disclaimer.
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 *
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 * 2. Redistributions in binary form must reproduce the above copyright
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 * notice, this list of conditions and the following disclaimer in the
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 * documentation and/or other materials provided with the distribution.
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 *
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
26 * POSSIBILITY OF SUCH DAMAGE.
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
27 *
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
28 */
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
29 package de.uapcore.lightpit.entities;
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
30
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
31 import java.util.Objects;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
32
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
33 public final class User {
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
34
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
35 public static final int ANONYMOUS_USERID = -1;
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
36
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
37 private final int userID;
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
38 private String username;
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
39 private String mail;
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
40 private String givenname;
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
41 private String lastname;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
42
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
43 public User(int userID) {
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
44 this.userID = userID;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
45 }
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
46
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
47 public int getUserID() {
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
48 return userID;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
49 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
50
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
51 public String getUsername() {
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
52 return username;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
53 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
54
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
55 public void setUsername(String username) {
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
56 this.username = username;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
57 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
58
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
59 public String getMail() {
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
60 return mail;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
61 }
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
62
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
63 public void setMail(String mail) {
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
64 this.mail = mail;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
65 }
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
66
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
67 public String getGivenname() {
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
68 return givenname;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
69 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
70
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
71 public void setGivenname(String givenname) {
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
72 this.givenname = givenname;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
73 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
74
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
75 public String getLastname() {
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
76 return lastname;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
77 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
78
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
79 public void setLastname(String lastname) {
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
80 this.lastname = lastname;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
81 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
82
47
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
83 public String getDisplayname() {
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
84 StringBuilder dn = new StringBuilder();
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
85 dn.append(givenname);
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
86 dn.append(' ');
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
87 dn.append(lastname);
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
88 dn.append(' ');
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
89 if (mail != null && !mail.isBlank()) {
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
90 dn.append("<"+mail+">");
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
91 }
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
92 final var str = dn.toString().trim();
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
93 return str.isBlank() ? username : str;
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
94 }
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
95
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
96 @Override
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
97 public boolean equals(Object o) {
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
98 if (this == o) return true;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
99 if (o == null || getClass() != o.getClass()) return false;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
100 User user = (User) o;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
101 return userID == user.userID;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
102 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
103
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
104 @Override
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
105 public int hashCode() {
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
106 return Objects.hash(userID);
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
107 }
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
108 }

mercurial