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