@@ -3,17 +3,16 @@ package com.fasterxml.jackson.module.kotlin
3
3
import com.fasterxml.jackson.core.JsonParser
4
4
import com.fasterxml.jackson.core.TreeNode
5
5
import com.fasterxml.jackson.core.type.TypeReference
6
- import com.fasterxml.jackson.databind.JsonMappingException
7
- import com.fasterxml.jackson.databind.MappingIterator
8
- import com.fasterxml.jackson.databind.ObjectMapper
9
- import com.fasterxml.jackson.databind.ObjectReader
10
- import com.fasterxml.jackson.databind.module.SimpleModule
11
- import com.fasterxml.jackson.databind.JsonDeserializer
12
- import com.fasterxml.jackson.databind.JsonSerializer
6
+ import com.fasterxml.jackson.databind.*
13
7
import com.fasterxml.jackson.databind.json.JsonMapper
8
+ import com.fasterxml.jackson.databind.module.SimpleModule
9
+ import com.fasterxml.jackson.databind.node.ArrayNode
10
+ import com.fasterxml.jackson.databind.node.ObjectNode
14
11
import java.io.File
15
12
import java.io.InputStream
16
13
import java.io.Reader
14
+ import java.math.BigDecimal
15
+ import java.math.BigInteger
17
16
import java.net.URL
18
17
import java.util.*
19
18
import kotlin.reflect.KClass
@@ -54,6 +53,41 @@ inline fun <reified T> ObjectReader.readValueTyped(jp: JsonParser): T = readValu
54
53
inline fun <reified T > ObjectReader.readValuesTyped (jp : JsonParser ): Iterator <T > = readValues(jp, jacksonTypeRef<T >())
55
54
inline fun <reified T > ObjectReader.treeToValue (n : TreeNode ): T ? = treeToValue(n, T ::class .java)
56
55
56
+ operator fun ArrayNode.plus (element : Boolean ) = Unit .apply { add(element) }
57
+ operator fun ArrayNode.plus (element : Short ) = Unit .apply { add(element) }
58
+ operator fun ArrayNode.plus (element : Int ) = Unit .apply { add(element) }
59
+ operator fun ArrayNode.plus (element : Long ) = Unit .apply { add(element) }
60
+ operator fun ArrayNode.plus (element : Float ) = Unit .apply { add(element) }
61
+ operator fun ArrayNode.plus (element : Double ) = Unit .apply { add(element) }
62
+ operator fun ArrayNode.plus (element : BigDecimal ) = Unit .apply { add(element) }
63
+ operator fun ArrayNode.plus (element : BigInteger ) = Unit .apply { add(element) }
64
+ operator fun ArrayNode.plus (element : String ) = Unit .apply { add(element) }
65
+ operator fun ArrayNode.plus (element : ByteArray ) = Unit .apply { add(element) }
66
+ operator fun ArrayNode.plus (element : JsonNode ) = Unit .apply { add(element) }
67
+ operator fun ArrayNode.plus (elements : ArrayNode ) = Unit .apply { addAll(elements) }
68
+ operator fun ArrayNode.plusAssign (element : Boolean ) = Unit .apply { add(element) }
69
+ operator fun ArrayNode.plusAssign (element : Short ) = Unit .apply { add(element) }
70
+ operator fun ArrayNode.plusAssign (element : Int ) = Unit .apply { add(element) }
71
+ operator fun ArrayNode.plusAssign (element : Long ) = Unit .apply { add(element) }
72
+ operator fun ArrayNode.plusAssign (element : Float ) = Unit .apply { add(element) }
73
+ operator fun ArrayNode.plusAssign (element : Double ) = Unit .apply { add(element) }
74
+ operator fun ArrayNode.plusAssign (element : BigDecimal ) = Unit .apply { add(element) }
75
+ operator fun ArrayNode.plusAssign (element : BigInteger ) = Unit .apply { add(element) }
76
+ operator fun ArrayNode.plusAssign (element : String ) = Unit .apply { add(element) }
77
+ operator fun ArrayNode.plusAssign (element : ByteArray ) = Unit .apply { add(element) }
78
+ operator fun ArrayNode.plusAssign (element : JsonNode ) = Unit .apply { add(element) }
79
+ operator fun ArrayNode.plusAssign (elements : ArrayNode ) = Unit .apply { addAll(elements) }
80
+ operator fun ArrayNode.minus (index : Int ) = Unit .apply { remove(index) }
81
+ operator fun ArrayNode.minusAssign (index : Int ) = Unit .apply { remove(index) }
82
+
83
+ operator fun ObjectNode.minus (field : String ) = Unit .apply { remove(field) }
84
+ operator fun ObjectNode.minus (fields : Collection <String >) = Unit .apply { remove(fields) }
85
+ operator fun ObjectNode.minusAssign (field : String ) = Unit .apply { remove(field) }
86
+ operator fun ObjectNode.minusAssign (fields : Collection <String >) = Unit .apply { remove(fields) }
87
+
88
+ operator fun JsonNode.contains (field : String ) = has(field)
89
+ operator fun JsonNode.contains (index : Int ) = has(index)
90
+
57
91
internal fun JsonMappingException.wrapWithPath (refFrom : Any? , refFieldName : String ) = JsonMappingException .wrapWithPath(this , refFrom, refFieldName)
58
92
internal fun JsonMappingException.wrapWithPath (refFrom : Any? , index : Int ) = JsonMappingException .wrapWithPath(this , refFrom, index)
59
93
0 commit comments