# 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)

*** ** * ** ***


```
public sealed class A2uiSchema
```

<br />

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

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

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

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

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/a2ui/model/schema/A2uiSchema#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` |
| `abstract https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/a2ui/model/schema/A2uiSchema#getDescription()()` Semantic description of the schema. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/a2ui/model/schema/A2uiSchemaKeyword<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Object.html>>` | `https://developer.android.com/reference/androidx/a2ui/model/schema/A2uiSchema#getKeywords()()` List of JSON Schema keywords applied to this schema node. |
| `int` | `https://developer.android.com/reference/androidx/a2ui/model/schema/A2uiSchema#hashCode()()` |
| `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/model/schema/A2uiSchema#toJsonSchema()()` Serializes this schema to a JSON Schema string representation. |

## Protected constructors

### A2uiSchema

```
protected A2uiSchema()
```

## Public methods

### equals

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

### getDescription

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

```
public abstract String getDescription()
```

Semantic description of the schema.

### getKeywords

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

```
public @NonNull List<@NonNull A2uiSchemaKeyword<@NonNull Object>> getKeywords()
```

List of JSON Schema keywords applied to this schema node.

### hashCode

```
public int hashCode()
```

### toJsonSchema

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

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

Serializes this schema to a JSON Schema string representation.

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | the serialized JSON Schema string |