16
16
*/
17
17
package matter.controller.cluster.structs
18
18
19
- import java.util.Optional
20
19
import matter.controller.cluster.*
21
20
import matter.tlv.AnonymousTag
22
21
import matter.tlv.ContextSpecificTag
@@ -25,8 +24,8 @@ import matter.tlv.TlvReader
25
24
import matter.tlv.TlvWriter
26
25
27
26
class EnergyEvseClusterChargingTargetScheduleStruct (
28
- val dayOfWeekForSequence : Optional < UByte > ,
29
- val chargingTargets : Optional < List <EnergyEvseClusterChargingTargetStruct > >,
27
+ val dayOfWeekForSequence : UByte ,
28
+ val chargingTargets : List <EnergyEvseClusterChargingTargetStruct >,
30
29
) {
31
30
override fun toString (): String = buildString {
32
31
append(" EnergyEvseClusterChargingTargetScheduleStruct {\n " )
@@ -38,18 +37,12 @@ class EnergyEvseClusterChargingTargetScheduleStruct(
38
37
fun toTlv (tlvTag : Tag , tlvWriter : TlvWriter ) {
39
38
tlvWriter.apply {
40
39
startStructure(tlvTag)
41
- if (dayOfWeekForSequence.isPresent) {
42
- val optdayOfWeekForSequence = dayOfWeekForSequence.get()
43
- put(ContextSpecificTag (TAG_DAY_OF_WEEK_FOR_SEQUENCE ), optdayOfWeekForSequence)
44
- }
45
- if (chargingTargets.isPresent) {
46
- val optchargingTargets = chargingTargets.get()
47
- startArray(ContextSpecificTag (TAG_CHARGING_TARGETS ))
48
- for (item in optchargingTargets.iterator()) {
49
- item.toTlv(AnonymousTag , this )
50
- }
51
- endArray()
40
+ put(ContextSpecificTag (TAG_DAY_OF_WEEK_FOR_SEQUENCE ), dayOfWeekForSequence)
41
+ startArray(ContextSpecificTag (TAG_CHARGING_TARGETS ))
42
+ for (item in chargingTargets.iterator()) {
43
+ item.toTlv(AnonymousTag , this )
52
44
}
45
+ endArray()
53
46
endStructure()
54
47
}
55
48
}
@@ -61,24 +54,14 @@ class EnergyEvseClusterChargingTargetScheduleStruct(
61
54
fun fromTlv (tlvTag : Tag , tlvReader : TlvReader ): EnergyEvseClusterChargingTargetScheduleStruct {
62
55
tlvReader.enterStructure(tlvTag)
63
56
val dayOfWeekForSequence =
64
- if (tlvReader.isNextTag(ContextSpecificTag (TAG_DAY_OF_WEEK_FOR_SEQUENCE ))) {
65
- Optional .of(tlvReader.getUByte(ContextSpecificTag (TAG_DAY_OF_WEEK_FOR_SEQUENCE )))
66
- } else {
67
- Optional .empty()
68
- }
57
+ tlvReader.getUByte(ContextSpecificTag (TAG_DAY_OF_WEEK_FOR_SEQUENCE ))
69
58
val chargingTargets =
70
- if (tlvReader.isNextTag(ContextSpecificTag (TAG_CHARGING_TARGETS ))) {
71
- Optional .of(
72
- buildList<EnergyEvseClusterChargingTargetStruct > {
73
- tlvReader.enterArray(ContextSpecificTag (TAG_CHARGING_TARGETS ))
74
- while (! tlvReader.isEndOfContainer()) {
75
- add(EnergyEvseClusterChargingTargetStruct .fromTlv(AnonymousTag , tlvReader))
76
- }
77
- tlvReader.exitContainer()
78
- }
79
- )
80
- } else {
81
- Optional .empty()
59
+ buildList<EnergyEvseClusterChargingTargetStruct > {
60
+ tlvReader.enterArray(ContextSpecificTag (TAG_CHARGING_TARGETS ))
61
+ while (! tlvReader.isEndOfContainer()) {
62
+ add(EnergyEvseClusterChargingTargetStruct .fromTlv(AnonymousTag , tlvReader))
63
+ }
64
+ tlvReader.exitContainer()
82
65
}
83
66
84
67
tlvReader.exitContainer()
0 commit comments