# A2uiCoreCatalogSerializer

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

*** ** * ** ***


```
public final class A2uiCoreCatalogSerializer
```

<br />

*** ** * ** ***

Serializes an `https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalog` into JSON Schema representations.

Traversal and JSON formatting are computed lazily and cached per serializer instance.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer#A2uiCoreCatalogSerializer(androidx.a2ui.engine.catalog.A2uiCoreCatalog)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalog catalog)` |

| ### Public methods |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalog` | `https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer#getCatalog()()` the catalog to serialize |
| `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/engine/catalog/A2uiCoreCatalogSerializer#getJsonSchemaMap()()` The serialized JSON Schema Map representation of `https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer#catalog()`. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer#getJsonSchemaString()()` The serialized JSON Schema string representation of `https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer#catalog()`. |

## Public constructors

### A2uiCoreCatalogSerializer

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

```
public A2uiCoreCatalogSerializer(@NonNull A2uiCoreCatalog catalog)
```

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalog catalog` | the catalog to serialize |

## Public methods

### getCatalog

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

```
public final @NonNull A2uiCoreCatalog getCatalog()
```

the catalog to serialize

### getJsonSchemaMap

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> getJsonSchemaMap()
```

The serialized JSON Schema Map representation of `https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer#catalog()`.

### getJsonSchemaString

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

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

The serialized JSON Schema string representation of `https://developer.android.com/reference/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer#catalog()`.