# MapProperty

@ManagedType
@SupportsKotlinAssignmentOverloading
interface MapProperty<K, V> : Provider<T> , HasConfigurableValue, SupportsConvention

Represents a property whose type is a Map of keys of type K and values of type V. Retains iteration order.

Instances of this interface are not thread-safe for reading and writing. It is not safe to share the same MapProperty instance between different projects.

Note: This interface is not intended for implementation by build script or plugin authors.

#### Since

5.1

#### Parameters

<K>

the type of keys.

<V>

the type of values.

#### See also

ManagedType

Create an instance of this as a managed property (preferred).

ObjectFactory

Create an instance of this manually.

## Functions

assign
Link copied to clipboard
fun <K : Any, V : Any> MapProperty<K, V>.assign(entries: Map<out K, V>?)

Sets the value of this property to the entries of the given Map, and replaces any existing value

fun <K : Any, V : Any> MapProperty<K, V>.assign(provider: Provider<out Map<out K, V>>)

Sets the property to have the same value of the given provider, and replaces any existing value

convention
Link copied to clipboard
abstract fun convention(@Nullable value: @Nullable Map<out K, out V>): MapProperty<K, V>
Specifies the value to use as the convention for this property.
abstract fun convention(valueProvider: Provider<out Map<out K, out V>>): MapProperty<K, V>
Specifies the provider of the value to use as the convention for this property.
disallowChanges
Link copied to clipboard
abstract fun disallowChanges()
disallowUnsafeRead
Link copied to clipboard
abstract fun disallowUnsafeRead()
empty
Link copied to clipboard
abstract fun empty(): MapProperty<K, V>
Sets the value of this property to an empty map, and replaces any existing value.
filter
Link copied to clipboard
abstract fun filter(spec: Spec<in T>): Provider<T>
finalizeValue
Link copied to clipboard
abstract fun finalizeValue()
Disallows further changes to the value of this property.
finalizeValueOnRead
Link copied to clipboard
abstract fun finalizeValueOnRead()
flatMap
Link copied to clipboard
abstract fun <S> flatMap(transformer: Transformer<out @Nullable Provider<out S>, in T>): Provider<S>
get
Link copied to clipboard
abstract fun get(): T
getOrElse
Link copied to clipboard
abstract fun getOrElse(defaultValue: T): T
getOrNull
Link copied to clipboard
abstract fun getOrNull(): @Nullable T
getting
Link copied to clipboard
abstract fun getting(key: K): Provider<V>
Returns a provider that resolves to the value of the mapping of the given key.
isPresent
Link copied to clipboard
abstract fun isPresent(): Boolean
keySet
Link copied to clipboard
abstract fun keySet(): Provider<Set<K>>
Returns a Provider that returns the set of keys for the map that is the property value.
map
Link copied to clipboard
abstract fun <S> map(transformer: Transformer<out @Nullable S, in T>): Provider<S>
orElse
Link copied to clipboard
abstract fun orElse(value: T): Provider<T>
put
Link copied to clipboard
abstract fun put(key: K, value: V)
abstract fun put(key: K, providerOfValue: Provider<out V>)
Adds a map entry to the property value.
putAll
Link copied to clipboard
abstract fun putAll(entries: Map<out K, out V>)
abstract fun putAll(provider: Provider<out Map<out K, out V>>)
Adds all entries from another Map to the property value.
set
Link copied to clipboard
abstract fun set(@Nullable entries: @Nullable Map<out K, out V>)
Sets the value of this property to the entries of the given Map, and replaces any existing value.
abstract fun set(provider: Provider<out Map<out K, out V>>)
Sets the property to have the same value of the given provider, and replaces any existing value.
unset
Link copied to clipboard
@Incubating
abstract fun unset(): MapProperty<K, V>
This is similar to calling value with a `null` argument.
unsetConvention
Link copied to clipboard
@Incubating
abstract fun unsetConvention(): MapProperty<K, V>
This is similar to calling convention with a `null` argument.
value
Link copied to clipboard
abstract fun value(@Nullable entries: @Nullable Map<out K, out V>): MapProperty<K, V>
Sets the value of this property to the entries of the given Map, and replaces any existing value.
abstract fun value(provider: Provider<out Map<out K, out V>>): MapProperty<K, V>
Sets the property to have the same value of the given provider, and replaces any existing value.
zip
Link copied to clipboard
abstract fun <U, R> zip(right: Provider<U>, combiner: BiFunction<in T, in U, out @Nullable R>): Provider<R>