-
Notifications
You must be signed in to change notification settings - Fork 9
/
TimeAttributeContent.java
51 lines (41 loc) · 1.6 KB
/
TimeAttributeContent.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.czertainly.api.model.common.attribute.v2.content;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalTime;
import java.util.Objects;
public class TimeAttributeContent extends BaseAttributeContent<LocalTime> {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm:ss")
@JsonDeserialize(using = LocalTimeDeserializer.class)
@JsonSerialize(using = LocalTimeSerializer.class)
@Schema(description = "Time attribute value in format HH:mm:ss", requiredMode = Schema.RequiredMode.REQUIRED, implementation = String.class)
private LocalTime data;
public TimeAttributeContent() {
}
public TimeAttributeContent(LocalTime data) {
this.data = data;
}
@Override
public LocalTime getData() {
return data;
}
@Override
public void setData(LocalTime data) {
this.data = data;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof TimeAttributeContent)) return false;
if (!super.equals(o)) return false;
TimeAttributeContent that = (TimeAttributeContent) o;
return Objects.equals(data, that.data);
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), data);
}
}