# A2uiSchema

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

*** ** * ** ***


```
sealed class A2uiSchema
```

<br />

Known direct subclasses [A2uiAnySchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiAnySchema), [A2uiArraySchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiArraySchema), [A2uiBooleanSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiBooleanSchema), [A2uiCompositeSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiCompositeSchema), [A2uiNumberSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiNumberSchema), [A2uiObjectSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiObjectSchema), [A2uiRefSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiRefSchema), [A2uiStringSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiStringSchema)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiAnySchema` | Schema representing an unstructured JSON payload or a keyword-only schema. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiArraySchema` | Schema representing an array where all items conform to a specific schema. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiBooleanSchema` | Schema representing a boolean literal. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiCompositeSchema` | Schema node that is defined by using other schema nodes. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiNumberSchema` | Schema representing a number literal. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiObjectSchema` | Schema representing an object with nested properties. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiRefSchema` | Schema representing a reference to another schema definition. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiStringSchema` | Schema representing a string literal. |

Known indirect subclasses [A2uiAccessibilityAttributesSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiAccessibilityAttributesSchema), [A2uiActionSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiActionSchema), [A2uiCheckRuleSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiCheckRuleSchema), [A2uiCheckableSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiCheckableSchema), [A2uiChildListSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiChildListSchema), [A2uiComponentCommonSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiComponentCommonSchema), [A2uiComponentIdSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiComponentIdSchema), [A2uiDataBindingSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDataBindingSchema), [A2uiDynamicBooleanSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDynamicBooleanSchema), [A2uiDynamicNumberSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDynamicNumberSchema), [A2uiDynamicStringListSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDynamicStringListSchema), [A2uiDynamicStringSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDynamicStringSchema), [A2uiDynamicValueSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDynamicValueSchema), [A2uiFunctionCallSchema](https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiFunctionCallSchema)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiAccessibilityAttributesSchema` | Holds accessibility properties for assistive technologies. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiActionSchema` | Standard interactions that dispatch events or call client functions. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiCheckRuleSchema` | Validates input components. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiCheckableSchema` | Enables client-side check validations. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiChildListSchema` | Specifies child component identifiers. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiComponentCommonSchema` | Defines shared attributes for all components. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiComponentIdSchema` | Represents unique identifiers for components within a surface. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDataBindingSchema` | Points to values within the data model. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDynamicBooleanSchema` | Represents boolean values from literals, data bindings, or function calls. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDynamicNumberSchema` | Represents number values from literals, data bindings, or function calls. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDynamicStringListSchema` | Represents string lists from literals, data bindings, or function calls. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDynamicStringSchema` | Represents string values from literals, data bindings, or function calls. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiDynamicValueSchema` | Represents values from literals, data bindings, or function calls. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/commontypes/A2uiFunctionCallSchema` | Configures client function invocations. |

*** ** * ** ***

Base node for all schema of A2UI based on JSON Schema.

## Summary

| ### Protected constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema#A2uiSchema()()` |

| ### Public functions |
|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema#hashCode()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema#toJsonSchema()()` Serializes this schema to a JSON Schema string representation. |

| ### Public properties |
|---|---|
| `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema#description()` Semantic description of the schema. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchemaKeyword<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema#keywords()` List of JSON Schema keywords applied to this schema node. |

## Protected constructors

### A2uiSchema

```
protected A2uiSchema()
```

## Public functions

### equals

```
open operator fun equals(other: Any?): Boolean
```

### hashCode

```
open fun hashCode(): Int
```

### toJsonSchema

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

```
fun toJsonSchema(): String
```

Serializes this schema to a JSON Schema string representation.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the serialized JSON Schema string |

## Public properties

### description

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

```
abstract val description: String?
```

Semantic description of the schema.

### keywords

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

```
open val keywords: List<A2uiSchemaKeyword<Any>>
```

List of JSON Schema keywords applied to this schema node.