This repository was archived by the owner on Aug 18, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +80
-0
lines changed
src/main/scala/org/codeoverflow/chatoverflow/requirement/parameter Expand file tree Collapse file tree 3 files changed +80
-0
lines changed Original file line number Diff line number Diff line change 1+ package org .codeoverflow .chatoverflow .requirement .parameter
2+
3+ import java .time .LocalDate
4+ import java .time .format .DateTimeFormatter
5+
6+ import org .codeoverflow .chatoverflow .api .io .parameter .DateParameter
7+
8+ /**
9+ * A parameter holding a LocalDate value.
10+ * Formatting is done in the ISO-8601 standard.
11+ * Example: `2011-12-30`
12+ */
13+ class DateParameterImpl extends DateParameter {
14+
15+ private val FORMATTER = DateTimeFormatter .ISO_LOCAL_DATE
16+ private var value : LocalDate = _
17+
18+ override def get (): LocalDate = value
19+
20+ override def getType : Class [LocalDate ] = classOf [LocalDate ]
21+
22+ override def serialize (): String = value.format(FORMATTER )
23+
24+ override def deserialize (value : String ): Unit = set(LocalDate .parse(value, FORMATTER ))
25+
26+ override def set (value : LocalDate ): Unit = this .value = value
27+ }
Original file line number Diff line number Diff line change 1+ package org .codeoverflow .chatoverflow .requirement .parameter
2+
3+ import java .time .{LocalDateTime , LocalTime }
4+ import java .time .format .DateTimeFormatter
5+
6+ import org .codeoverflow .chatoverflow .api .io .parameter .{DateTimeParameter , TimeParameter }
7+ /**
8+ * A parameter holding a LocalDateTime value.
9+ * Formatting is done in the ISO-8601 standard.
10+ * Example: `2011-12-30T10:15:30`
11+ */
12+ class DateTimeParameterImpl extends DateTimeParameter {
13+
14+ private val FORMATTER = DateTimeFormatter .ISO_LOCAL_DATE_TIME
15+ private var value : LocalDateTime = _
16+
17+ override def get (): LocalDateTime = value
18+
19+ override def getType : Class [LocalDateTime ] = classOf [LocalDateTime ]
20+
21+ override def serialize (): String = value.format(FORMATTER )
22+
23+ override def deserialize (value : String ): Unit = set(LocalDateTime .parse(value, FORMATTER ))
24+
25+ override def set (value : LocalDateTime ): Unit = this .value = value
26+ }
Original file line number Diff line number Diff line change 1+ package org .codeoverflow .chatoverflow .requirement .parameter
2+
3+ import java .time .LocalTime
4+ import java .time .format .DateTimeFormatter
5+
6+ import org .codeoverflow .chatoverflow .api .io .parameter .TimeParameter
7+
8+ /**
9+ * A parameter holding a LocalTime value.
10+ * Formatting is done in the ISO-8601 standard.
11+ * Example: `10:15:30`
12+ */
13+ class TimeParameterImpl extends TimeParameter {
14+
15+ private val FORMATTER = DateTimeFormatter .ISO_LOCAL_TIME
16+ private var value : LocalTime = _
17+
18+ override def get (): LocalTime = value
19+
20+ override def getType : Class [LocalTime ] = classOf [LocalTime ]
21+
22+ override def serialize (): String = value.format(FORMATTER )
23+
24+ override def deserialize (value : String ): Unit = set(LocalTime .parse(value, FORMATTER ))
25+
26+ override def set (value : LocalTime ): Unit = this .value = value
27+ }
You can’t perform that action at this time.
0 commit comments