# A2uiCoreCatalog

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/A2uiCoreCatalog.kt+class:androidx.a2ui.engine.catalog.A2uiCoreCatalog) Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui#1.0.0-alpha02)

*** ** * ** ***


```
interface A2uiCoreCatalog
```

<br />

*** ** * ** ***

A registry of UI components and functions that a client surface can render.

## Summary

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreComponentDefinitionCollection` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog#componentDefinitions()` The collection of component definitions available in this catalog. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog#description()` The description of this catalog. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunctionCollection` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog#functions()` The collection of functions available in this catalog. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog#id()` A unique identifier for this catalog. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog#isInline()` Indicates whether this catalog's full JSON Schema should be serialized inline as part of the capabilities advertisement. |
| `open https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema?` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog#themeSchema()` The schema this catalog uses to define the theme the is applied over the components. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog#title()` The title of this catalog. |

| ### Extension functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog.https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog#(androidx.a2ui.engine.catalog.A2uiCoreCatalog).obtainSerializer()()` Creates an `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer` for this catalog. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiInlineCatalog` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog.https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog#(androidx.a2ui.engine.catalog.A2uiCoreCatalog).toInlineCatalog()()` Adapts this `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog` into an `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiInlineCatalog` for use in client capabilities advertisement. |

## Public properties

### componentDefinitions

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

```
val componentDefinitions: A2uiCoreComponentDefinitionCollection
```

The collection of component definitions available in this catalog.

### description

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

```
open val description: String?
```

The description of this catalog.

### functions

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

```
val functions: A2uiFunctionCollection
```

The collection of functions available in this catalog.

### id

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

```
val id: String
```

A unique identifier for this catalog. Ideally, this is a URI including a version number. Full guidelines regarding catalog id convention can be found in: https://a2ui.org/concepts/catalogs/#catalog-naming-versioning

### isInline

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

```
open val isInline: Boolean
```

Indicates whether this catalog's full JSON Schema should be serialized inline as part of the capabilities advertisement.

### themeSchema

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

```
open val themeSchema: A2uiSchema?
```

The schema this catalog uses to define the theme the is applied over the components.

### title

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

```
open val title: String?
```

The title of this catalog.

## Extension functions

### A2uiCoreCatalog.obtainSerializer

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/A2uiCoreCatalog.kt+function:obtainSerializer)

```
fun A2uiCoreCatalog.obtainSerializer(): A2uiCoreCatalogSerializer
```

Creates an `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer` for this catalog.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalogSerializer` | a new serializer instance configured for this catalog |

### A2uiCoreCatalog.toInlineCatalog

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/A2uiCoreCatalog.kt+function:toInlineCatalog)

```
fun A2uiCoreCatalog.toInlineCatalog(): A2uiInlineCatalog
```

Adapts this `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog` into an `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiInlineCatalog` for use in client capabilities advertisement.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` | If `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog#isInline()` is false. |