@@ -36,22 +36,22 @@ fun ObjectMapper.registerKotlinModule(): ObjectMapper = this.registerModule(kotl
36
36
37
37
inline fun <reified T > jacksonTypeRef (): TypeReference <T > = object : TypeReference <T >() {}
38
38
39
- inline fun <reified T > ObjectMapper.readValue (jp : JsonParser ): T = readValue(jp, jacksonTypeRef<T >())
40
- inline fun <reified T > ObjectMapper.readValues (jp : JsonParser ): MappingIterator <T > = readValues(jp, jacksonTypeRef<T >())
39
+ inline fun <reified T > ObjectMapper.readValue (jp : JsonParser ): T = readValue(jp, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
40
+ inline fun <reified T > ObjectMapper.readValues (jp : JsonParser ): MappingIterator <T > = readValues(jp, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
41
41
42
- inline fun <reified T > ObjectMapper.readValue (src : File ): T = readValue(src, jacksonTypeRef<T >())
43
- inline fun <reified T > ObjectMapper.readValue (src : URL ): T = readValue(src, jacksonTypeRef<T >())
44
- inline fun <reified T > ObjectMapper.readValue (content : String ): T = readValue(content, jacksonTypeRef<T >())
45
- inline fun <reified T > ObjectMapper.readValue (src : Reader ): T = readValue(src, jacksonTypeRef<T >())
46
- inline fun <reified T > ObjectMapper.readValue (src : InputStream ): T = readValue(src, jacksonTypeRef<T >())
47
- inline fun <reified T > ObjectMapper.readValue (src : ByteArray ): T = readValue(src, jacksonTypeRef<T >())
42
+ inline fun <reified T > ObjectMapper.readValue (src : File ): T = readValue(src, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
43
+ inline fun <reified T > ObjectMapper.readValue (src : URL ): T = readValue(src, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
44
+ inline fun <reified T > ObjectMapper.readValue (content : String ): T = readValue(content, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
45
+ inline fun <reified T > ObjectMapper.readValue (src : Reader ): T = readValue(src, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
46
+ inline fun <reified T > ObjectMapper.readValue (src : InputStream ): T = readValue(src, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
47
+ inline fun <reified T > ObjectMapper.readValue (src : ByteArray ): T = readValue(src, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
48
48
49
- inline fun <reified T > ObjectMapper.treeToValue (n : TreeNode ): T ? = treeToValue(n, T ::class .java)
50
- inline fun <reified T > ObjectMapper.convertValue (from : Any ): T = convertValue(from, jacksonTypeRef<T >())
49
+ inline fun <reified T > ObjectMapper.treeToValue (n : TreeNode ): T ? = treeToValue(n, T ::class .java).throwIfNullableTypeIsNull()
50
+ inline fun <reified T > ObjectMapper.convertValue (from : Any ): T = convertValue(from, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
51
51
52
- inline fun <reified T > ObjectReader.readValueTyped (jp : JsonParser ): T = readValue(jp, jacksonTypeRef<T >())
53
- inline fun <reified T > ObjectReader.readValuesTyped (jp : JsonParser ): Iterator <T > = readValues(jp, jacksonTypeRef<T >())
54
- inline fun <reified T > ObjectReader.treeToValue (n : TreeNode ): T ? = treeToValue(n, T ::class .java)
52
+ inline fun <reified T > ObjectReader.readValueTyped (jp : JsonParser ): T = readValue(jp, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
53
+ inline fun <reified T > ObjectReader.readValuesTyped (jp : JsonParser ): Iterator <T > = readValues(jp, jacksonTypeRef<T >()).throwIfNullableTypeIsNull()
54
+ inline fun <reified T > ObjectReader.treeToValue (n : TreeNode ): T ? = treeToValue(n, T ::class .java).throwIfNullableTypeIsNull()
55
55
56
56
internal fun JsonMappingException.wrapWithPath (refFrom : Any? , refFieldName : String ) = JsonMappingException .wrapWithPath(this , refFrom, refFieldName)
57
57
internal fun JsonMappingException.wrapWithPath (refFrom : Any? , index : Int ) = JsonMappingException .wrapWithPath(this , refFrom, index)
@@ -64,4 +64,11 @@ inline fun <reified T : Any> SimpleModule.addSerializer(kClass: KClass<T>, seria
64
64
inline fun <reified T : Any > SimpleModule.addDeserializer (kClass : KClass <T >, deserializer : JsonDeserializer <T >) = this .apply {
65
65
addDeserializer(kClass.java, deserializer)
66
66
addDeserializer(kClass.javaObjectType, deserializer)
67
+ }
68
+
69
+ inline fun <reified T > T.throwIfNullableTypeIsNull (): T {
70
+ if (null !is T && this == null ) {
71
+ throw Exception ()
72
+ }
73
+ return this
67
74
}
0 commit comments