# ActionParameters

Artifact: [androidx.glance:glance](https://developer.android.com/jetpack/androidx/releases/glance) [View Source](https://cs.android.com/search?q=file:androidx/glance/action/ActionParameters.kt+class:androidx.glance.action.ActionParameters) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/glance#1.0.0)


```
abstract class ActionParameters
```

<br />

Known direct subclasses [MutableActionParameters](https://developer.android.com/reference/kotlin/androidx/glance/action/MutableActionParameters)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/glance/action/MutableActionParameters` | Mutable version of `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters`. |

*** ** * ** ***

Action parameters, used to pass information to an `https://developer.android.com/reference/kotlin/androidx/glance/action/Action`.

Construct action parameters using `https://developer.android.com/reference/kotlin/androidx/glance/action/package-summary#actionParametersOf(kotlin.Array)` or `https://developer.android.com/reference/kotlin/androidx/glance/action/package-summary#mutableActionParametersOf(kotlin.Array)`, with typed key-value pairs. The `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Key` class enforces typing of the values inserted.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Key<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` Key for `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters` values. |
| `class https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Pair<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` Key Value pairs for Parameters. |

| ### Public functions |
|---|---|
| `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Key<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters#asMap()()` Retrieves a map of all key value pairs. |
| `abstract operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters#contains(androidx.glance.action.ActionParameters.Key)(key: https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Key<T>)` Returns true if the Parameters set contains the given Key. |
| `abstract operator T?` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters#get(androidx.glance.action.ActionParameters.Key)(key: https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Key<T>)` Get a parameter with a key. |
| `abstract T` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters#getOrDefault(androidx.glance.action.ActionParameters.Key,kotlin.Any)(key: https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Key<T>, defaultValue: T)` Get a parameter with a key. |
| `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters#isEmpty()()` Returns whether there are any keys stored in the parameters. |

| ### Extension functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/glance/action/MutableActionParameters` | `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters#(androidx.glance.action.ActionParameters).toMutableParameters()()` Gets a mutable copy of Parameters, containing all key value pairs. |
| `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters` | `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters#(androidx.glance.action.ActionParameters).toParameters()()` Gets a read-only copy of Parameters, containing all key value pairs. |

## Public functions

### asMap

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/glance#1.0.0)

```
abstract fun asMap(): Map<ActionParameters.Key<Any>, Any>
```

Retrieves a map of all key value pairs. The map is unmodifiable, and attempts to mutate it will throw runtime exceptions.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Key<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | a map of all parameters in this Parameters |

### contains

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/glance#1.0.0)

```
abstract operator fun <T : Any> contains(key: ActionParameters.Key<T>): Boolean
```

Returns true if the Parameters set contains the given Key.

| Parameters |
|---|---|
| `key: https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Key<T>` | the key to check for |

### get

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/glance#1.0.0)

```
abstract operator fun <T : Any> get(key: ActionParameters.Key<T>): T?
```

Get a parameter with a key. If the key is not set, returns null.

| Parameters |
|---|---|
| `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | the type of the parameter |
| `key: https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Key<T>` | the key for the parameter |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-class-cast-exception/index.html` | if there is something stored with the same name as `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters#get(androidx.glance.action.ActionParameters.Key)` but it cannot be cast to T |

### getOrDefault

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/glance#1.0.0)

```
abstract fun <T : Any> getOrDefault(key: ActionParameters.Key<T>, defaultValue: T): T
```

Get a parameter with a key. If the key is not set, returns the provided default value.

| Parameters |
|---|---|
| `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | the type of the parameter |
| `key: https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters.Key<T>` | the key for the parameter |
| `defaultValue: T` | the default value to return if key is missing |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-class-cast-exception/index.html` | if there is something stored with the same name as `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters#getOrDefault(androidx.glance.action.ActionParameters.Key,kotlin.Any)` but it cannot be cast to T |

### isEmpty

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/glance#1.0.0)

```
abstract fun isEmpty(): Boolean
```

Returns whether there are any keys stored in the parameters.

## Extension functions

### ActionParameters.toMutableParameters

Artifact: [androidx.glance:glance](https://developer.android.com/jetpack/androidx/releases/glance) [View Source](https://cs.android.com/search?q=file:androidx/glance/action/ActionParameters.kt+function:toMutableParameters)

```
fun ActionParameters.toMutableParameters(): MutableActionParameters
```

Gets a mutable copy of Parameters, containing all key value pairs. This can be used to edit the parameter data without creating a new object.

This is similar to `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/index.html`.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/glance/action/MutableActionParameters` | a MutableParameters with all the same parameters as this Parameters |

### ActionParameters.toParameters

Artifact: [androidx.glance:glance](https://developer.android.com/jetpack/androidx/releases/glance) [View Source](https://cs.android.com/search?q=file:androidx/glance/action/ActionParameters.kt+function:toParameters)

```
fun ActionParameters.toParameters(): ActionParameters
```

Gets a read-only copy of Parameters, containing all key value pairs.

This is similar to `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/index.html`.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/glance/action/ActionParameters` | a copy of this Parameters |