11package org .openhab .binding .haywardomnilogiclocal .internal .config ;
22
3+ import java .util .ArrayList ;
4+ import java .util .List ;
5+
36import org .eclipse .jdt .annotation .NonNullByDefault ;
47import org .eclipse .jdt .annotation .Nullable ;
58
69import com .thoughtworks .xstream .annotations .XStreamAlias ;
710import com .thoughtworks .xstream .annotations .XStreamAsAttribute ;
11+ import com .thoughtworks .xstream .annotations .XStreamImplicit ;
812
913/**
1014 * Representation of a BodyOfWater element.
@@ -16,8 +20,232 @@ public class BodyOfWaterConfig {
1620 @ XStreamAlias ("systemId" )
1721 private @ Nullable String systemId ;
1822
23+ @ XStreamAlias ("System-Id" )
24+ private @ Nullable String systemIdElement ;
25+
26+ @ XStreamAsAttribute
27+ private @ Nullable String name ;
28+
29+ @ XStreamAlias ("Name" )
30+ private @ Nullable String nameElement ;
31+
32+ @ XStreamAsAttribute
33+ private @ Nullable String type ;
34+
35+ @ XStreamAlias ("Type" )
36+ private @ Nullable String typeElement ;
37+
38+ @ XStreamAsAttribute
39+ @ XStreamAlias ("sharedType" )
40+ private @ Nullable String sharedTypeAttribute ;
41+
42+ @ XStreamAlias ("Shared-Type" )
43+ private @ Nullable String sharedTypeElement ;
44+
45+ @ XStreamAsAttribute
46+ @ XStreamAlias ("sharedPriority" )
47+ private @ Nullable String sharedPriorityAttribute ;
48+
49+ @ XStreamAlias ("Shared-Priority" )
50+ private @ Nullable String sharedPriorityElement ;
51+
52+ @ XStreamAsAttribute
53+ @ XStreamAlias ("sharedEquipmentSystemId" )
54+ private @ Nullable String sharedEquipmentSystemIdAttribute ;
55+
56+ @ XStreamAlias ("Shared-Equipment-System-ID" )
57+ private @ Nullable String sharedEquipmentSystemIdElement ;
58+
59+ @ XStreamAsAttribute
60+ @ XStreamAlias ("supportsSpillover" )
61+ private @ Nullable String supportsSpilloverAttribute ;
62+
63+ @ XStreamAlias ("Supports-Spillover" )
64+ private @ Nullable String supportsSpilloverElement ;
65+
66+ @ XStreamAsAttribute
67+ @ XStreamAlias ("useSpilloverForFilterOperations" )
68+ private @ Nullable String useSpilloverForFilterOperationsAttribute ;
69+
70+ @ XStreamAlias ("Use-Spillover-For-Filter-Operations" )
71+ private @ Nullable String useSpilloverForFilterOperationsElement ;
72+
73+ @ XStreamAsAttribute
74+ @ XStreamAlias ("spilloverMode" )
75+ private @ Nullable String spilloverModeAttribute ;
76+
77+ @ XStreamAlias ("Spillover-Mode" )
78+ private @ Nullable String spilloverModeElement ;
79+
80+ @ XStreamAsAttribute
81+ @ XStreamAlias ("spilloverManualTimeout" )
82+ private @ Nullable String spilloverManualTimeoutAttribute ;
83+
84+ @ XStreamAlias ("Spillover-Manual-Timeout" )
85+ private @ Nullable String spilloverManualTimeoutElement ;
86+
87+ @ XStreamAsAttribute
88+ @ XStreamAlias ("spilloverTimedPercent" )
89+ private @ Nullable String spilloverTimedPercentAttribute ;
90+
91+ @ XStreamAlias ("Spillover-Timed-Percent" )
92+ private @ Nullable String spilloverTimedPercentElement ;
93+
94+ @ XStreamAsAttribute
95+ @ XStreamAlias ("spilloverTimedTimeout" )
96+ private @ Nullable String spilloverTimedTimeoutAttribute ;
97+
98+ @ XStreamAlias ("Spillover-Timed-Timeout" )
99+ private @ Nullable String spilloverTimedTimeoutElement ;
100+
101+ @ XStreamAsAttribute
102+ @ XStreamAlias ("freezeProtectEnabled" )
103+ private @ Nullable String freezeProtectEnabledAttribute ;
104+
105+ @ XStreamAlias ("Freeze-Protect-Enabled" )
106+ private @ Nullable String freezeProtectEnabledElement ;
107+
108+ @ XStreamAsAttribute
109+ @ XStreamAlias ("freezeProtectOverride" )
110+ private @ Nullable String freezeProtectOverrideAttribute ;
111+
112+ @ XStreamAlias ("Freeze-Protect-Override" )
113+ private @ Nullable String freezeProtectOverrideElement ;
114+
115+ @ XStreamAsAttribute
116+ @ XStreamAlias ("freezeProtectSetPoint" )
117+ private @ Nullable String freezeProtectSetPointAttribute ;
118+
119+ @ XStreamAlias ("Freeze-Protect-Set-Point" )
120+ private @ Nullable String freezeProtectSetPointElement ;
121+
122+ @ XStreamAsAttribute
123+ @ XStreamAlias ("sizeInGallons" )
124+ private @ Nullable String sizeInGallonsAttribute ;
125+
126+ @ XStreamAlias ("Size-In-Gallons" )
127+ private @ Nullable String sizeInGallonsElement ;
128+
129+ @ XStreamAsAttribute
130+ @ XStreamAlias ("sizeInLiters" )
131+ private @ Nullable String sizeInLitersAttribute ;
132+
133+ @ XStreamAlias ("Size-In-Liters" )
134+ private @ Nullable String sizeInLitersElement ;
135+
136+ @ XStreamImplicit (itemFieldName = "Filter" )
137+ private final List <FilterConfig > filters = new ArrayList <>();
138+
139+ @ XStreamImplicit (itemFieldName = "Heater" )
140+ private final List <HeaterConfig > heaters = new ArrayList <>();
141+
142+ @ XStreamImplicit (itemFieldName = "Relay" )
143+ private final List <RelayConfig > relays = new ArrayList <>();
144+
145+ @ XStreamImplicit (itemFieldName = "ColorLogic-Light" )
146+ private final List <ColorLogicLightConfig > colorLogicLights = new ArrayList <>();
147+
148+ @ XStreamImplicit (itemFieldName = "Sensor" )
149+ private final List <SensorConfig > sensors = new ArrayList <>();
150+
151+ @ XStreamImplicit (itemFieldName = "Chlorinator" )
152+ private final List <ChlorinatorConfig > chlorinators = new ArrayList <>();
153+
19154 public @ Nullable String getSystemId () {
20- return systemId ;
155+ return systemId != null ? systemId : systemIdElement ;
156+ }
157+
158+ public @ Nullable String getName () {
159+ return name != null ? name : nameElement ;
160+ }
161+
162+ public @ Nullable String getType () {
163+ return type != null ? type : typeElement ;
164+ }
165+
166+ public @ Nullable String getSharedType () {
167+ return sharedTypeAttribute != null ? sharedTypeAttribute : sharedTypeElement ;
168+ }
169+
170+ public @ Nullable String getSharedPriority () {
171+ return sharedPriorityAttribute != null ? sharedPriorityAttribute : sharedPriorityElement ;
172+ }
173+
174+ public @ Nullable String getSharedEquipmentSystemId () {
175+ return sharedEquipmentSystemIdAttribute != null ? sharedEquipmentSystemIdAttribute
176+ : sharedEquipmentSystemIdElement ;
177+ }
178+
179+ public @ Nullable String getSupportsSpillover () {
180+ return supportsSpilloverAttribute != null ? supportsSpilloverAttribute : supportsSpilloverElement ;
181+ }
182+
183+ public @ Nullable String getUseSpilloverForFilterOperations () {
184+ return useSpilloverForFilterOperationsAttribute != null ? useSpilloverForFilterOperationsAttribute
185+ : useSpilloverForFilterOperationsElement ;
186+ }
187+
188+ public @ Nullable String getSpilloverMode () {
189+ return spilloverModeAttribute != null ? spilloverModeAttribute : spilloverModeElement ;
190+ }
191+
192+ public @ Nullable String getSpilloverManualTimeout () {
193+ return spilloverManualTimeoutAttribute != null ? spilloverManualTimeoutAttribute
194+ : spilloverManualTimeoutElement ;
195+ }
196+
197+ public @ Nullable String getSpilloverTimedPercent () {
198+ return spilloverTimedPercentAttribute != null ? spilloverTimedPercentAttribute
199+ : spilloverTimedPercentElement ;
200+ }
201+
202+ public @ Nullable String getSpilloverTimedTimeout () {
203+ return spilloverTimedTimeoutAttribute != null ? spilloverTimedTimeoutAttribute
204+ : spilloverTimedTimeoutElement ;
205+ }
206+
207+ public @ Nullable String getFreezeProtectEnabled () {
208+ return freezeProtectEnabledAttribute != null ? freezeProtectEnabledAttribute : freezeProtectEnabledElement ;
209+ }
210+
211+ public @ Nullable String getFreezeProtectOverride () {
212+ return freezeProtectOverrideAttribute != null ? freezeProtectOverrideAttribute : freezeProtectOverrideElement ;
213+ }
214+
215+ public @ Nullable String getFreezeProtectSetPoint () {
216+ return freezeProtectSetPointAttribute != null ? freezeProtectSetPointAttribute : freezeProtectSetPointElement ;
217+ }
218+
219+ public @ Nullable String getSizeInGallons () {
220+ return sizeInGallonsAttribute != null ? sizeInGallonsAttribute : sizeInGallonsElement ;
221+ }
222+
223+ public @ Nullable String getSizeInLiters () {
224+ return sizeInLitersAttribute != null ? sizeInLitersAttribute : sizeInLitersElement ;
225+ }
226+
227+ public List <FilterConfig > getFilters () {
228+ return filters ;
229+ }
230+
231+ public List <HeaterConfig > getHeaters () {
232+ return heaters ;
233+ }
234+
235+ public List <RelayConfig > getRelays () {
236+ return relays ;
237+ }
238+
239+ public List <ColorLogicLightConfig > getColorLogicLights () {
240+ return colorLogicLights ;
241+ }
242+
243+ public List <SensorConfig > getSensors () {
244+ return sensors ;
245+ }
246+
247+ public List <ChlorinatorConfig > getChlorinators () {
248+ return chlorinators ;
21249 }
22250}
23251
0 commit comments