1 package net.sumaris.core.vo.data;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import lombok.Data;
26 import lombok.EqualsAndHashCode;
27 import lombok.experimental.FieldNameConstants;
28 import net.sumaris.core.model.data.IWithObserversEntity;
29 import net.sumaris.core.model.data.IWithVesselSnapshotEntity;
30 import net.sumaris.core.vo.administration.programStrategy.ProgramVO;
31 import net.sumaris.core.vo.administration.user.DepartmentVO;
32 import net.sumaris.core.vo.referential.LocationVO;
33 import net.sumaris.core.vo.administration.user.PersonVO;
34 import org.apache.commons.lang3.builder.ToStringBuilder;
35 import org.apache.commons.lang3.builder.ToStringStyle;
36
37 import java.util.Date;
38 import java.util.List;
39 import java.util.Map;
40 import java.util.Set;
41
42 @Data
43 @FieldNameConstants
44 @EqualsAndHashCode
45 public class TripVO implements IRootDataVO<Integer>,
46 IWithObserversEntity<Integer, PersonVO>,
47 IWithVesselSnapshotEntity<Integer, VesselSnapshotVO> {
48
49 @EqualsAndHashCode.Exclude
50 private Integer id;
51 private String comments;
52 private Date creationDate;
53 private Date updateDate;
54 private Date controlDate;
55 private Date validationDate;
56 private Date qualificationDate;
57 private String qualificationComments;
58 private Integer qualityFlagId;
59 private DepartmentVO recorderDepartment;
60 private PersonVO recorderPerson;
61
62 private VesselSnapshotVO vesselSnapshot;
63
64 private Date departureDateTime;
65 private Date returnDateTime;
66 private LocationVO departureLocation;
67 private LocationVO returnLocation;
68 private ProgramVO program;
69 private Set<PersonVO> observers;
70 private List<PhysicalGearVO> gears;
71
72 @EqualsAndHashCode.Exclude
73 private List<SaleVO> sales;
74 @EqualsAndHashCode.Exclude
75 private SaleVO sale;
76
77 @EqualsAndHashCode.Exclude
78 private List<OperationVO> operations;
79
80 @EqualsAndHashCode.Exclude
81 private List<MeasurementVO> measurements;
82 private Map<Integer, String> measurementValues;
83
84
85 public String toString() {
86 return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
87 }
88
89 @Override
90 public Date getVesselDateTime() {
91 return departureDateTime;
92 }
93
94 }