1 package de.dlr.shepard.neo4Core.entities;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import java.util.Objects;
6
7 import org.neo4j.ogm.annotation.NodeEntity;
8 import org.neo4j.ogm.annotation.Relationship;
9
10 import de.dlr.shepard.util.Constants;
11 import lombok.Data;
12 import lombok.NoArgsConstructor;
13 import lombok.ToString;
14
15 @NodeEntity
16 @Data
17 @ToString(callSuper = true)
18 @NoArgsConstructor
19 public class UserGroup extends BasicEntity {
20
21 @Relationship(type = Constants.IS_IN_GROUP, direction = Relationship.INCOMING)
22 private List<User> users = new ArrayList<>();
23
24 public UserGroup(long id) {
25 super(id);
26 }
27
28 @Override
29 public int hashCode() {
30 final int prime = 31;
31 int result = super.hashCode();
32 result = prime * result + Objects.hash(users);
33 return result;
34 }
35
36 @Override
37 public boolean equals(Object obj) {
38 if (this == obj)
39 return true;
40 if (!super.equals(obj))
41 return false;
42 if (!(obj instanceof UserGroup))
43 return false;
44 UserGroup other = (UserGroup) obj;
45 return Objects.equals(users, other.users);
46 }
47
48 }