View Javadoc
1   package de.dlr.shepard.common.neo4j.entities;
2   
3   import de.dlr.shepard.auth.permission.model.Permissions;
4   import de.dlr.shepard.common.util.Constants;
5   import de.dlr.shepard.common.util.HasId;
6   import lombok.Data;
7   import lombok.NoArgsConstructor;
8   import lombok.ToString;
9   import org.neo4j.ogm.annotation.Relationship;
10  
11  @Data
12  @ToString(callSuper = true)
13  @NoArgsConstructor
14  public class BasicContainer extends BasicEntity {
15  
16    @ToString.Exclude
17    @Relationship(type = Constants.HAS_PERMISSIONS)
18    private Permissions permissions;
19  
20    /**
21     * For testing purposes only
22     *
23     * @param id identifies the entity
24     */
25    public BasicContainer(long id) {
26      super(id);
27    }
28  
29    @Override
30    public int hashCode() {
31      final int prime = 31;
32      int result = super.hashCode();
33      result = prime * result + HasId.hashcodeHelper(permissions);
34      return result;
35    }
36  
37    @Override
38    public boolean equals(Object obj) {
39      if (this == obj) return true;
40      if (!super.equals(obj)) return false;
41      if (!(obj instanceof BasicContainer)) return false;
42      BasicContainer other = (BasicContainer) obj;
43      return HasId.equalsHelper(permissions, other.permissions);
44    }
45  }