# AppFunctionData

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

*** ** * ** ***


```
@RequiresApi(value = 33)
public final class AppFunctionData
```

<br />

*** ** * ** ***

A data class to contain information to be communicated between AppFunctions apps and agents.

This class can be logically viewed as a mapping from `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` keys to properties of various supported types, or arrays of supported types.

When trying to retrieve an associated value, `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` would validate the request against the predefined metadata specification provided from `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Builder`.

For example,

```
fun callCreateNoteFunction(
  metadata: AppFunctionMetadata,
  request: ExecuteAppFunctionRequest,
) {
  val response = appFunctionManager.executeAppFunction(request)

  if (metadata.response.valueType is AppFunctionObjectTypeMetadata) {
    val returnData = response.returnValue.getAppFunctionData(
      ExecuteAppFunctionResponse.Success.PROPERTY_RETURN_VALUE
    )
    val title = returnData.getString("title")
    // Throws an error if "owner" doesn't exist according to the metadata
    val owner = returnData.getString("owner")
    // Throws an error if "content" is String.
    val content = returnData.getInt("content")
  }
}
```

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Builder` |   |

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Builder` Builder for constructing `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` |

| ### Public fields |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#EMPTY()` Represents an empty `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData`. |

| ### Public methods |
|---|---|
| `final boolean` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#containsKey(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Checks if `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` has an associated value with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#containsKey(kotlin.String)`. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull T` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#deserialize(java.lang.Class)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> serializableClass)` Deserializes the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` to an `https://developer.android.com/reference/androidx/appfunctions/AppFunctionSerializable` instance. |
| `final https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getAppFunctionData(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves an `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getAppFunctionData(kotlin.String)`. |
| `final https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/AppFunctionData>` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getAppFunctionDataList(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html` of `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getAppFunctionDataList(kotlin.String)`. |
| `final boolean` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String)`. |
| `final boolean` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String,kotlin.Boolean)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, boolean defaultValue)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String,kotlin.Boolean)`, or returns `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String,kotlin.Boolean)` if the associated value is not found. |
| `final boolean[]` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBooleanArray(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBooleanArray(kotlin.String)`. |
| `final byte[]` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getByteArray(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getByteArray(kotlin.String)`. |
| `final double` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-double/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String)`. |
| `final double` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String,kotlin.Double)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, double defaultValue)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-double/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String,kotlin.Double)`, or returns `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String,kotlin.Double)` if the associated value is not found. |
| `final double[]` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDoubleArray(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-double-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDoubleArray(kotlin.String)`. |
| `final float` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String)`. |
| `final float` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String,kotlin.Float)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, float defaultValue)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String,kotlin.Float)`, or returns `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String,kotlin.Float)` if the associated value is not found. |
| `final float[]` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloatArray(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloatArray(kotlin.String)`. |
| `final int` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String)`. |
| `final int` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String,kotlin.Int)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, int defaultValue)` Retrieves an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String,kotlin.Int)`, or returns `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String,kotlin.Int)` if the associated value is not found. |
| `final int[]` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getIntArray(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getIntArray(kotlin.String)`. |
| `final long` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String)`. |
| `final long` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String,kotlin.Long)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, long defaultValue)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String,kotlin.Long)`, or returns `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String,kotlin.Long)` if the associated value is not found. |
| `final long[]` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLongArray(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLongArray(kotlin.String)`. |
| `final T` | `<T extends https://developer.android.com/reference/android/os/Parcelable.html> https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://developer.android.com/reference/android/os/Parcelable.html` value of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String)` associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String)`. |
| `final T` | `<T extends https://developer.android.com/reference/android/os/Parcelable.html> https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> clazz )` Retrieves a `https://developer.android.com/reference/android/os/Parcelable.html` value of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)` associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)`. |
| `final https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull T>` | `<T extends https://developer.android.com/reference/android/os/Parcelable.html> https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html` of `https://developer.android.com/reference/android/os/Parcelable.html` values of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String)` associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String)`. |
| `final https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull T>` | `<T extends https://developer.android.com/reference/android/os/Parcelable.html> https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String,java.lang.Class)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> clazz )` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html` of `https://developer.android.com/reference/android/os/Parcelable.html` values of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String,java.lang.Class)` associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String,java.lang.Class)`. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getQualifiedName()()` Qualified name of the underlying object |
| `final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getString(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getString(kotlin.String)`. |
| `final https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getStringList(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html` of `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getStringList(kotlin.String)`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionAllOfTypeMetadata metadata, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata componentMetadata, @https://developer.android.com/reference/androidx/annotation/NonNull T serializable )` Serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any)` to `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` representing an AllOf type object. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionObjectTypeMetadata metadata, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata componentMetadata, @https://developer.android.com/reference/androidx/annotation/NonNull T serializable )` Serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any)` to `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` representing an object. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionAllOfTypeMetadata metadata, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata componentMetadata, @https://developer.android.com/reference/androidx/annotation/NonNull T serializable, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> serializableClass )` Serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)` to `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` representing an AllOf type object. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionObjectTypeMetadata metadata, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata componentMetadata, @https://developer.android.com/reference/androidx/annotation/NonNull T serializable, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> serializableClass )` Serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)` to `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` representing an object. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#toString()()` |

## Public fields

### EMPTY

```
public static final @NonNull AppFunctionData EMPTY
```

Represents an empty `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData`.

## Public methods

### containsKey

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

```
public final boolean containsKey(@NonNull String key)
```

Checks if `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` has an associated value with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#containsKey(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to checks for. |

| Returns |
|---|---|
| `boolean` | True if there is an associated value. Otherwise, false. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If there is no metadata related to `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#containsKey(kotlin.String)`. |

### deserialize

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

```
public final @NonNull T <T extends Object> deserialize(@NonNull Class<@NonNull T> serializableClass)
```

Deserializes the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` to an `https://developer.android.com/reference/androidx/appfunctions/AppFunctionSerializable` instance.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> serializableClass` | The AppFunctionSerializable class. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull T` | The instance of `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#deserialize(java.lang.Class)`. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If unable to deserialize the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` to an instance of `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#deserialize(java.lang.Class)`. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/appfunctions/AppFunctionSerializable` |   |

### getAppFunctionData

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

```
public final AppFunctionData getAppFunctionData(@NonNull String key)
```

Retrieves an `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getAppFunctionData(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getAppFunctionData(kotlin.String)`, or null if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getAppFunctionData(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getAppFunctionDataList

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

```
public final List<@NonNull AppFunctionData> getAppFunctionDataList(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html` of `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getAppFunctionDataList(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/AppFunctionData>` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getAppFunctionDataList(kotlin.String)`. Or null if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getAppFunctionDataList(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getBoolean

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

```
public final boolean getBoolean(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `boolean` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String)`. It would return a default value false if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getBoolean

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

```
public final boolean getBoolean(@NonNull String key, boolean defaultValue)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String,kotlin.Boolean)`, or returns `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String,kotlin.Boolean)` if the associated value is not found.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |
| `boolean defaultValue` | The default value if the associated value is not found. |

| Returns |
|---|---|
| `boolean` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String,kotlin.Boolean)`, or the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String,kotlin.Boolean)` if the associated value is not required and it is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBoolean(kotlin.String,kotlin.Boolean)` is not allowed or the value type is incorrect according to the metadata specification. |

### getBooleanArray

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

```
public final boolean[] getBooleanArray(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBooleanArray(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `boolean[]` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBooleanArray(kotlin.String)`. Or null if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getBooleanArray(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getByteArray

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

```
public final byte[] getByteArray(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getByteArray(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `byte[]` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getByteArray(kotlin.String)`. Or null if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getByteArray(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getDouble

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

```
public final double getDouble(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-double/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `double` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String)`. It would return a default value 0.0 if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getDouble

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

```
public final double getDouble(@NonNull String key, double defaultValue)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-double/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String,kotlin.Double)`, or returns `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String,kotlin.Double)` if the associated value is not found.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |
| `double defaultValue` | The default value if the associated value is not found. |

| Returns |
|---|---|
| `double` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String,kotlin.Double)`, or the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String,kotlin.Double)` if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDouble(kotlin.String,kotlin.Double)` is not allowed or the value type is incorrect according to the metadata specification. |

### getDoubleArray

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

```
public final double[] getDoubleArray(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-double-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDoubleArray(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `double[]` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDoubleArray(kotlin.String)`. Or null if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getDoubleArray(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getFloat

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

```
public final float getFloat(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `float` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String)`. It would return a default value 0.0 if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getFloat

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

```
public final float getFloat(@NonNull String key, float defaultValue)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String,kotlin.Float)`, or returns `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String,kotlin.Float)` if the associated value is not found.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |
| `float defaultValue` | The default value if the associated value is not found. |

| Returns |
|---|---|
| `float` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String,kotlin.Float)`, or the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String,kotlin.Float)` if the associated is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloat(kotlin.String,kotlin.Float)` is not allowed or the value type is incorrect according to the metadata specification. |

### getFloatArray

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

```
public final float[] getFloatArray(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloatArray(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `float[]` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloatArray(kotlin.String)`. Or null if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getFloatArray(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getInt

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

```
public final int getInt(@NonNull String key)
```

Retrieves an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `int` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String)`. It would return a default value 0L if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getInt

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

```
public final int getInt(@NonNull String key, int defaultValue)
```

Retrieves an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String,kotlin.Int)`, or returns `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String,kotlin.Int)` if the associated value is not found.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |
| `int defaultValue` | The default value if the associated value is not found. |

| Returns |
|---|---|
| `int` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String,kotlin.Int)`, or the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String,kotlin.Int)` if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getInt(kotlin.String,kotlin.Int)` is not allowed or the value type is incorrect according to the metadata specification. |

### getIntArray

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

```
public final int[] getIntArray(@NonNull String key)
```

Retrieves an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getIntArray(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `int[]` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getIntArray(kotlin.String)`. Or null if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getIntArray(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getLong

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

```
public final long getLong(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `long` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String)`. It would return a default value 0L if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getLong

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

```
public final long getLong(@NonNull String key, long defaultValue)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String,kotlin.Long)`, or returns `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String,kotlin.Long)` if the associated value is not found.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |
| `long defaultValue` | The default value if the associated value is not found. |

| Returns |
|---|---|
| `long` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String,kotlin.Long)`, or the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String,kotlin.Long)` if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLong(kotlin.String,kotlin.Long)` is not allowed or the value type is incorrect according to the metadata specification. |

### getLongArray

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

```
public final long[] getLongArray(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long-array/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLongArray(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `long[]` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLongArray(kotlin.String)`. Or null if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getLongArray(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getParcelable

```
public final T <T extends Parcelable> getParcelable(@NonNull String key)
```

Retrieves a `https://developer.android.com/reference/android/os/Parcelable.html` value of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String)` associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String)`.

Returns null or fails with an exception if:

- No value exists for the given `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String)`.

- The object is not of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String)`.

- The `https://developer.android.com/reference/android/os/Parcelable.html` of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String)` cannot be loaded by the app's `classLoader`.

For `Parcelable` types not defined by the Android platform (e.g., custom classes shared between agents and apps), forward and backward compatibility is **not guaranteed** by this library. Implementers are responsible for managing any compatibility and versioning concerns.

| Parameters |
|---|---|
| `<T extends https://developer.android.com/reference/android/os/Parcelable.html>` | The type of the `https://developer.android.com/reference/android/os/Parcelable.html` object to retrieve. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `T` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String)`, or null if the associated value is not found or is not of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String)`. |

### getParcelable

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

```
public final T <T extends Parcelable> getParcelable(
    @NonNull String key,
    @NonNull Class<@NonNull T> clazz
)
```

Retrieves a `https://developer.android.com/reference/android/os/Parcelable.html` value of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)` associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)`.

Returns null or fails with an exception if:

- No value exists for the given `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)`.

- The object is not of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)`.

- The `https://developer.android.com/reference/android/os/Parcelable.html` of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)` cannot be loaded by the app's `classLoader`.

For `Parcelable` types not defined by the Android platform (e.g., custom classes shared between agents and apps), forward and backward compatibility is **not guaranteed** by this library. Implementers are responsible for managing any compatibility and versioning concerns.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> clazz` | The `https://developer.android.com/reference/java/lang/Class.html` of the `https://developer.android.com/reference/android/os/Parcelable.html` object to retrieve, of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)`. |

| Returns |
|---|---|
| `T` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)`, or null if the associated value is not found or is not of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelable(kotlin.String,java.lang.Class)`. |

### getParcelableList

```
public final List<@NonNull T> <T extends Parcelable> getParcelableList(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html` of `https://developer.android.com/reference/android/os/Parcelable.html` values of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String)` associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String)`.

For `Parcelable` types not defined by the Android platform (e.g., custom classes shared between agents and apps), forward and backward compatibility is **not guaranteed** by this library. Implementers are responsible for managing any compatibility and versioning concerns.

| Parameters |
|---|---|
| `<T extends https://developer.android.com/reference/android/os/Parcelable.html>` | The type of the `https://developer.android.com/reference/android/os/Parcelable.html` object to retrieve. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the list for. |

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull T>` | The `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html` associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String)`, or null if the value is not found or if any list item is not of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String)`. |

### getParcelableList

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

```
public final List<@NonNull T> <T extends Parcelable> getParcelableList(
    @NonNull String key,
    @NonNull Class<@NonNull T> clazz
)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html` of `https://developer.android.com/reference/android/os/Parcelable.html` values of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String,java.lang.Class)` associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String,java.lang.Class)`.

For `Parcelable` types not defined by the Android platform (e.g., custom classes shared between agents and apps), forward and backward compatibility is **not guaranteed** by this library. Implementers are responsible for managing any compatibility and versioning concerns.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the list for. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> clazz` | The `https://developer.android.com/reference/java/lang/Class.html` of the `https://developer.android.com/reference/android/os/Parcelable.html` object to retrieve, of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String,java.lang.Class)`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull T>` | The `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html` associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String,java.lang.Class)`, or null if the value is not found or if any list item is not of type `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getParcelableList(kotlin.String,java.lang.Class)`. |

### getQualifiedName

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

```
public final @NonNull String getQualifiedName()
```

Qualified name of the underlying object

### getString

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

```
public final String getString(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getString(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getString(kotlin.String)`, or null if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getString(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### getStringList

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

```
public final List<@NonNull String> getStringList(@NonNull String key)
```

Retrieves a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html` of `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` value associated with the specified `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getStringList(kotlin.String)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key to retrieve the value for. |

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html>` | The value associated with the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getStringList(kotlin.String)`. Or null if the associated value is not found. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData#getStringList(kotlin.String)` is not allowed or the value type is incorrect according to the metadata specification. |

### serialize

```
public static final @NonNull AppFunctionData <T extends Object> serialize(
    @NonNull AppFunctionAllOfTypeMetadata metadata,
    @NonNull AppFunctionComponentsMetadata componentMetadata,
    @NonNull T serializable
)
```

Serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any)` to `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` representing an AllOf type object.

The caller can use this to construct the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` that conforms with the provided `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionAllOfTypeMetadata metadata` | `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionAllOfTypeMetadata` defining the AllOf type structure. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata componentMetadata` | `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata` that has the shared data types. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull T serializable` | The serializable that is annotated with `https://developer.android.com/reference/androidx/appfunctions/AppFunctionSerializable`. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if failed to serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any)`. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionAllOfTypeMetadata` |   |
| `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata` |   |

### serialize

```
public static final @NonNull AppFunctionData <T extends Object> serialize(
    @NonNull AppFunctionObjectTypeMetadata metadata,
    @NonNull AppFunctionComponentsMetadata componentMetadata,
    @NonNull T serializable
)
```

Serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any)` to `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` representing an object.

The caller can use this to construct the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` that conforms with the provided `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionObjectTypeMetadata metadata` | `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionObjectTypeMetadata` defining the object structure. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata componentMetadata` | `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata` that has the shared data types. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull T serializable` | The serializable that is annotated with `https://developer.android.com/reference/androidx/appfunctions/AppFunctionSerializable`. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if failed to serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any)`. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionObjectTypeMetadata` |   |
| `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata` |   |

### serialize

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

```
public static final @NonNull AppFunctionData <T extends Object> serialize(
    @NonNull AppFunctionAllOfTypeMetadata metadata,
    @NonNull AppFunctionComponentsMetadata componentMetadata,
    @NonNull T serializable,
    @NonNull Class<@NonNull T> serializableClass
)
```

Serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)` to `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` representing an AllOf type object.

The caller can use this to construct the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` that conforms with the provided `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionAllOfTypeMetadata metadata` | `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionAllOfTypeMetadata` defining the AllOf type structure. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata componentMetadata` | `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata` that has the shared data types. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull T serializable` | The serializable that is annotated with `https://developer.android.com/reference/androidx/appfunctions/AppFunctionSerializable`. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> serializableClass` | The class of `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)`. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if failed to serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionAllOfTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)`. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionAllOfTypeMetadata` |   |
| `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata` |   |

### serialize

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

```
public static final @NonNull AppFunctionData <T extends Object> serialize(
    @NonNull AppFunctionObjectTypeMetadata metadata,
    @NonNull AppFunctionComponentsMetadata componentMetadata,
    @NonNull T serializable,
    @NonNull Class<@NonNull T> serializableClass
)
```

Serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)` to `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` representing an object.

The caller can use this to construct the `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData` that conforms with the provided `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionObjectTypeMetadata metadata` | `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionObjectTypeMetadata` defining the object structure. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata componentMetadata` | `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata` that has the shared data types. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull T serializable` | The serializable that is annotated with `https://developer.android.com/reference/androidx/appfunctions/AppFunctionSerializable`. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> serializableClass` | The class of `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)`. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if failed to serialize `https://developer.android.com/reference/androidx/appfunctions/AppFunctionData.Companion#serialize(androidx.appfunctions.metadata.AppFunctionObjectTypeMetadata,androidx.appfunctions.metadata.AppFunctionComponentsMetadata,kotlin.Any,java.lang.Class)`. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionObjectTypeMetadata` |   |
| `https://developer.android.com/reference/androidx/appfunctions/metadata/AppFunctionComponentsMetadata` |   |

### toString

```
public @NonNull String toString()
```