# DocumentClassMappingContext

Artifact: [androidx.appsearch:appsearch](https://developer.android.com/jetpack/androidx/releases/appsearch) [View Source](https://cs.android.com/search?q=file:androidx/appsearch/app/DocumentClassMappingContext.java+class:androidx.appsearch.app.DocumentClassMappingContext) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

*** ** * ** ***


```
public class DocumentClassMappingContext
```

<br />

*** ** * ** ***

A context object that holds mapping information for document classes and their parent types.

This class encapsulates the `documentClassMap` and `parentTypeMap` used during the deserialization of `https://developer.android.com/reference/androidx/appsearch/app/GenericDocument` instances into specific document classes.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/appsearch/app/GenericDocument#toDocumentClass(java.lang.Class<T>,androidx.appsearch.app.DocumentClassMappingContext)` |   |

## Summary

| ### Public constructors |
|---|
| `@https://developer.android.com/reference/androidx/appsearch/app/ExperimentalAppSearchApi https://developer.android.com/reference/androidx/appsearch/app/DocumentClassMappingContext#DocumentClassMappingContext(java.util.Map<java.lang.String,java.util.List<java.lang.String>>,java.util.Map<java.lang.String,java.util.List<java.lang.String>>)( @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html>> documentClassMap, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html>> parentTypeMap )` Constructs a new `https://developer.android.com/reference/androidx/appsearch/app/DocumentClassMappingContext`. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html>>` | `@https://developer.android.com/reference/androidx/appsearch/app/ExperimentalAppSearchApi https://developer.android.com/reference/androidx/appsearch/app/DocumentClassMappingContext#getDocumentClassMap()()` Returns the document class map. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html>>` | `@https://developer.android.com/reference/androidx/appsearch/app/ExperimentalAppSearchApi https://developer.android.com/reference/androidx/appsearch/app/DocumentClassMappingContext#getParentTypeMap()()` Returns the parent type map. |

## Public constructors

### DocumentClassMappingContext

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
@ExperimentalAppSearchApi
public DocumentClassMappingContext(
    @Nullable Map<String, List<String>> documentClassMap,
    @Nullable Map<String, List<String>> parentTypeMap
)
```

Constructs a new `https://developer.android.com/reference/androidx/appsearch/app/DocumentClassMappingContext`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html>> documentClassMap` | A map from AppSearch's type name specified by `https://developer.android.com/reference/androidx/appsearch/annotation/Document#name()` to the list of the fully qualified names of the corresponding document classes. In most cases, passing the value returned by `https://developer.android.com/reference/androidx/appsearch/app/AppSearchDocumentClassMap#getGlobalMap()` will be sufficient. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html>> parentTypeMap` | A map from AppSearch's type name specified by `https://developer.android.com/reference/androidx/appsearch/annotation/Document#name()` to the list of its parent type names. In most cases, passing the value returned by `https://developer.android.com/reference/androidx/appsearch/app/SearchResult#getParentTypeMap()` will be sufficient. |

## Public methods

### getDocumentClassMap

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
@ExperimentalAppSearchApi
public @NonNull Map<String, List<String>> getDocumentClassMap()
```

Returns the document class map.

### getParentTypeMap

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
@ExperimentalAppSearchApi
public @NonNull Map<String, List<String>> getParentTypeMap()
```

Returns the parent type map.