jiangping
2025-02-06 0bb514f42de29164d6ec5f54806d98a881ae0c7f
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package org.yzh.protocol.commons.transform.parameter;
 
import io.github.yezhihao.protostar.Schema;
import io.netty.buffer.ByteBuf;
 
import java.time.LocalTime;
 
import static io.github.yezhihao.protostar.util.DateTool.BCD;
 
/**
 * @author yezhihao
 * https://gitee.com/yezhihao/jt808-server
 */
public class TimeRange {
 
    public static final Schema<TimeRange> SCHEMA = new TimeRangeSchema();
 
    private LocalTime startTime;
    private LocalTime endTime;
 
    public TimeRange() {
    }
 
    public TimeRange(LocalTime startTime, LocalTime endTime) {
        this.startTime = startTime;
        this.endTime = endTime;
    }
 
    public LocalTime getStartTime() {
        return startTime;
    }
 
    public void setStartTime(LocalTime startTime) {
        this.startTime = startTime;
    }
 
    public LocalTime getEndTime() {
        return endTime;
    }
 
    public void setEndTime(LocalTime endTime) {
        this.endTime = endTime;
    }
 
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder(32);
        sb.append('{');
        sb.append("startTime=").append(startTime);
        sb.append(", endTime=").append(endTime);
        sb.append('}');
        return sb.toString();
    }
 
    private static class TimeRangeSchema implements Schema<TimeRange> {
 
        private TimeRangeSchema() {
        }
 
        @Override
        public TimeRange readFrom(ByteBuf input) {
            TimeRange message = new TimeRange();
            message.startTime = BCD.readTime2(input);
            message.endTime = BCD.readTime2(input);
            return message;
        }
 
        @Override
        public void writeTo(ByteBuf output, TimeRange message) {
            BCD.writeTime2(output, message.startTime);
            BCD.writeTime2(output, message.endTime);
        }
    }
}