diff --git a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/abgeleiteteformate/Datum.kt b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/abgeleiteteformate/Datum.kt index 6f117903..d95cafec 100644 --- a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/abgeleiteteformate/Datum.kt +++ b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/abgeleiteteformate/Datum.kt @@ -17,10 +17,21 @@ open class Datum(date: Int, existenzstatus: Existenzstatus) : NumerischesDatenel const val HbciDateFormatString = "yyyyMMdd" val HbciDateFormat = SimpleDateFormat(HbciDateFormatString) + + const val DateNotSet = Int.MIN_VALUE } constructor(date: Date?, existenzstatus: Existenzstatus) - : this(date?.let { HbciDateFormat.format(it).toInt() } ?: 0, existenzstatus) + : this(date?.let { HbciDateFormat.format(it).toInt() } ?: DateNotSet, existenzstatus) + + + override fun format(): String { + if (value == DateNotSet) { + return "" // optional element and value not set -> write nothing to output + } + + return super.format() + } } \ No newline at end of file diff --git a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/abgeleiteteformate/Uhrzeit.kt b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/abgeleiteteformate/Uhrzeit.kt index 27ee79cc..e6104b10 100644 --- a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/abgeleiteteformate/Uhrzeit.kt +++ b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/abgeleiteteformate/Uhrzeit.kt @@ -18,10 +18,21 @@ open class Uhrzeit(time: Int, existenzstatus: Existenzstatus) : ZiffernDatenelem const val HbciTimeFormatString = "HHmmss" val HbciTimeFormat = SimpleDateFormat(HbciTimeFormatString) + + const val TimeNotSet = Int.MIN_VALUE } constructor(time: Date?, existenzstatus: Existenzstatus) : this(time?.let { HbciTimeFormat.format(it).toInt() } ?: 0, existenzstatus) + + override fun format(): String { + if (value == TimeNotSet) { + return "" // optional element and value not set -> write nothing to output + } + + return super.format() + } + } \ No newline at end of file