StringValues

interface StringValues

Provides data structure for associating a String with a List of Strings

Properties

caseInsensitiveName

abstract val caseInsensitiveName: Boolean

Specifies if map has case-sensitive or case-insensitive names

Functions

contains

open operator fun contains(name: String): Boolean

Checks if the given name exists in the map

open fun contains(name: String, value: String): Boolean

Checks if the given name and value pair exists in the map

entries

abstract fun entries(): Set<Entry<String, List<String>>>

Gets all entries from the map

forEach

open fun forEach(body: (String, List<String>) -> Unit): Unit

Iterates over all entries in this map and calls body for each pair

get

open operator fun get(name: String): String?

Gets first value from the list of values associated with a name, or null if the name is not present

getAll

abstract fun getAll(name: String): List<String>?

Gets all values associated with the name, or null if the name is not present

isEmpty

abstract fun isEmpty(): Boolean

Checks if this map is empty

names

abstract fun names(): Set<String>

Gets all names from the map

Companion Object Properties

Empty

val Empty: StringValues

Empty StringValues instance

Companion Object Functions

build

fun build(
    caseInsensitiveName: Boolean = false,
    builder: StringValuesBuilder.() -> Unit
): StringValues

Builds a StringValues instance with the given builder function

Extension Functions

filter

fun StringValues.filter(
    keepEmpty: Boolean = false,
    predicate: (String, String) -> Boolean
): StringValues

Create a new instance of StringValues filtered by the specified predicate

flattenEntries

fun StringValues.flattenEntries(): List<Pair<String, String>>

Copy values to a list of pairs

flattenForEach

fun StringValues.flattenForEach(
    block: (String, String) -> Unit
): Unit

Invoke block function for every value pair

toMap

fun StringValues.toMap(): Map<String, List<String>>

Copy values to a new independent map

Inheritors

Headers

interface Headers : StringValues

Represents HTTP headers as a map from case-insensitive names to collection of String values

Parameters

interface Parameters : StringValues

Represents HTTP parameters as a map from case-insensitive names to collection of String values

StringValuesImpl

open class StringValuesImpl : StringValues

StringValuesSingleImpl

open class StringValuesSingleImpl : StringValues