@@ -16,35 +16,28 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize
16
16
*/
17
17
@JsonDeserialize(using = ContextDeserializer ::class )
18
18
@JsonSerialize(using = ContextSerializer ::class )
19
- // @Serializable(with = ContextSerializer::class)
20
- data class Context (private val urls : MutableMap <String ?, String > = HashMap ()) {
19
+ data class Context (val defaultUrls : MutableList <String > = mutableListOf(), private val prefixeUrls : MutableMap <String , String > = HashMap ()) {
21
20
22
21
constructor (url: String ) : this () {
23
22
addContext(url)
24
23
}
25
24
26
- constructor (prefix: String? , url: String ) : this () {
25
+ constructor (prefix: String , url: String ) : this () {
27
26
addContext(prefix, url)
28
27
}
29
28
30
29
fun addContext (url : String ): Context {
31
- return addContext(null , url)
32
- }
33
-
34
- fun getUrl (prefix : String? ): String? {
35
- return urls[prefix]
30
+ defaultUrls.add(url)
31
+ return this
36
32
}
37
33
38
- fun addContext (prefix : String? , url : String ): Context {
39
- urls [prefix] = url
34
+ fun addContext (prefix : String , url : String ): Context {
35
+ prefixeUrls [prefix] = url
40
36
return this
41
37
}
42
38
43
- val defaultUrl: String?
44
- get() = urls[null ] // Directly accessing the map
45
-
46
39
val prefixedUrls: Map <String , String >
47
- get() = urls .entries
40
+ get() = prefixeUrls .entries
48
41
.filter { (key, _) -> key != null }
49
42
.associate { (key, value) -> key!! to value }
50
43
}
0 commit comments