projects
/
rhynodge.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make wetter.com state JSON-serializable
[rhynodge.git]
/
src
/
main
/
kotlin
/
net
/
pterodactylus
/
rhynodge
/
webpages
/
weather
/
wettercom
/
WetterComState.kt
diff --git
a/src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComState.kt
b/src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComState.kt
index
59147eb
..
be18847
100644
(file)
--- a/
src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComState.kt
+++ b/
src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComState.kt
@@
-1,6
+1,10
@@
package net.pterodactylus.rhynodge.webpages.weather.wettercom
package net.pterodactylus.rhynodge.webpages.weather.wettercom
+import com.fasterxml.jackson.annotation.JsonGetter
+import com.fasterxml.jackson.annotation.JsonProperty
import net.pterodactylus.rhynodge.states.AbstractState
import net.pterodactylus.rhynodge.states.AbstractState
+import java.time.Instant
+import java.time.ZoneId
import java.time.ZonedDateTime
/**
import java.time.ZonedDateTime
/**
@@
-10,8
+14,16
@@
import java.time.ZonedDateTime
*/
class WetterComState(val dateTime: ZonedDateTime) : AbstractState(true), Iterable<HourState> {
*/
class WetterComState(val dateTime: ZonedDateTime) : AbstractState(true), Iterable<HourState> {
+ constructor(@JsonProperty("dateTime") time: Long) :
+ this(Instant.ofEpochMilli(time).atZone(ZoneId.of("Europe/Berlin")))
+
+ @JsonProperty("hours")
val hours: List<HourState> = mutableListOf()
val hours: List<HourState> = mutableListOf()
+ val timeMillis: Long
+ @JsonGetter("dateTime")
+ get() = dateTime.toInstant().toEpochMilli()
+
fun addHour(hourState: HourState) {
(hours as MutableList<HourState>).add(hourState)
}
fun addHour(hourState: HourState) {
(hours as MutableList<HourState>).add(hourState)
}