View Javadoc
1   package de.dlr.shepard.context.labjournal.entities;
2   
3   import de.dlr.shepard.common.neo4j.entities.AbstractEntity;
4   import de.dlr.shepard.common.util.HasId;
5   import de.dlr.shepard.common.util.Neo4jLabels;
6   import de.dlr.shepard.context.collection.entities.DataObject;
7   import java.util.Objects;
8   import lombok.Getter;
9   import lombok.NoArgsConstructor;
10  import lombok.Setter;
11  import lombok.ToString;
12  import org.neo4j.ogm.annotation.NodeEntity;
13  import org.neo4j.ogm.annotation.Relationship;
14  import org.neo4j.ogm.annotation.Relationship.Direction;
15  
16  @NodeEntity
17  @Getter
18  @Setter
19  @ToString
20  @NoArgsConstructor
21  public class LabJournalEntry extends AbstractEntity {
22  
23    private String content;
24  
25    @Relationship(type = Neo4jLabels.HAS_LABJOURNAL_ENTRY, direction = Direction.INCOMING)
26    private DataObject dataObject;
27  
28    @Override
29    public int hashCode() {
30      final int prime = 31;
31      int result = super.hashCode();
32      result = prime * result + Objects.hash(content);
33      result = prime * result + HasId.hashcodeHelper(dataObject);
34      return result;
35    }
36  
37    @Override
38    public boolean equals(Object obj) {
39      if (!(obj instanceof LabJournalEntry)) return false;
40      LabJournalEntry other = (LabJournalEntry) obj;
41      return (
42        super.equals(other) && Objects.equals(content, other.content) && HasId.equalsHelper(dataObject, other.dataObject)
43      );
44    }
45  }