# A2uiClientDataModel

Artifact: [androidx.a2ui:a2ui-model](https://developer.android.com/jetpack/androidx/releases/a2ui) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/model/protocol/A2uiClientDataModel.kt+class:androidx.a2ui.model.protocol.A2uiClientDataModel) Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui#1.0.0-alpha02)

*** ** * ** ***


```
public final class A2uiClientDataModel
```

<br />

*** ** * ** ***

Represents the client data model synchronization payload sent to the agent.

This payload captures the current state of the data tree for active surfaces with `sendDataModel = true` and is automatically attached to outbound client event messages.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiClientDataModel#A2uiClientDataModel(kotlin.collections.Map)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/Object.html> surfaces)` |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiClientDataModel#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/Object.html>` | `https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiClientDataModel#getSurfaces()()` A map where keys are surface IDs and values are the complete, current data model root for that surface. |
| `int` | `https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiClientDataModel#hashCode()()` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/Object.html>>` | `https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiClientDataModel#toPayloadMap()()` Converts this data model object to the A2UI JSON-compatible Map structure. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiClientDataModel#toString()()` |

## Public constructors

### A2uiClientDataModel

```
public A2uiClientDataModel(@NonNull Map<@NonNull String, Object> surfaces)
```

## Public methods

### equals

```
public boolean equals(Object other)
```

### getSurfaces

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

```
public final @NonNull Map<@NonNull String, Object> getSurfaces()
```

A map where keys are surface IDs and values are the complete, current data model root for that surface.

### hashCode

```
public int hashCode()
```

### toPayloadMap

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

```
public final @NonNull Map<@NonNull String, @NonNull Map<@NonNull String, Object>> toPayloadMap()
```

Converts this data model object to the A2UI JSON-compatible Map structure.

### toString

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