View Javadoc
1   package de.dlr.shepard.data.timeseries.model;
2   
3   import de.dlr.shepard.common.util.HasId;
4   import jakarta.validation.constraints.NotBlank;
5   import lombok.Data;
6   import lombok.EqualsAndHashCode;
7   import lombok.NoArgsConstructor;
8   import lombok.RequiredArgsConstructor;
9   import org.neo4j.ogm.annotation.GeneratedValue;
10  import org.neo4j.ogm.annotation.Id;
11  import org.neo4j.ogm.annotation.NodeEntity;
12  
13  @NodeEntity
14  @Data
15  @EqualsAndHashCode
16  @NoArgsConstructor(force = true)
17  @RequiredArgsConstructor
18  public class TimeseriesTuple implements HasId {
19  
20    @Id
21    @GeneratedValue
22    @EqualsAndHashCode.Exclude
23    private Long id;
24  
25    @NotBlank
26    private final String measurement;
27  
28    @NotBlank
29    private final String device;
30  
31    @NotBlank
32    private final String location;
33  
34    @NotBlank
35    private final String symbolicName;
36  
37    @NotBlank
38    private final String field;
39  
40    @Override
41    public String getUniqueId() {
42      return TimeseriesUniqueIdBuilder.buildUniqueId(measurement, device, location, symbolicName, field);
43    }
44  }