com.fasterxml.jackson.module.kotlin.Exceptions.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jackson-module-kotlin Show documentation
Show all versions of jackson-module-kotlin Show documentation
Add-on module for Jackson (https://github.com/FasterXML/jackson/) to support
Kotlin language, specifically introspection of method/constructor parameter names,
without having to add explicit property name annotation.
package com.fasterxml.jackson.module.kotlin
import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.databind.JsonMappingException
import com.fasterxml.jackson.databind.exc.MismatchedInputException
import java.io.Closeable
import kotlin.reflect.KParameter
/**
* Specialized [JsonMappingException] sub-class used to indicate that a mandatory Kotlin constructor
* parameter was missing or null.
*/
@Deprecated(
"It is recommended that MismatchedInputException be referenced when possible," +
" as the change is discussed for 2.17 and later." +
" See #617 for details.",
ReplaceWith(
"MismatchedInputException",
"com.fasterxml.jackson.databind.exc.MismatchedInputException"
),
DeprecationLevel.WARNING
)
// When deserialized by the JDK, the parameter property will be null, ignoring nullability.
// This is a temporary workaround for #572 and we will eventually remove this class.
class MissingKotlinParameterException(
@property:Deprecated(
"KParameter is not serializable and will be removed in 2.17 or later. See #572 for details.",
level = DeprecationLevel.WARNING
)
@Transient
val parameter: KParameter,
processor: JsonParser? = null,
msg: String
) : MismatchedInputException(processor, msg) {
@Deprecated("Use main constructor", ReplaceWith("MissingKotlinParameterException(KParameter, JsonParser?, String)"))
constructor(
parameter: KParameter,
processor: Closeable? = null,
msg: String
) : this(parameter, processor as JsonParser, msg)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy