# ObserverSpec.Builder

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

*** ** * ** ***

<br />

```
class ObserverSpec.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec.Builder#Builder()()` |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec.Builder` | `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec.Builder#addFilterDocumentClasses(java.lang.Class<?>...)(documentClasses: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/java/lang/Class.html<*>!>)` Restricts an observer using this spec to triggering only for documents of one of the provided document classes. |
| `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec.Builder` | `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec.Builder#addFilterDocumentClasses(java.util.Collection<? extends java.lang.Class<?>>)( documentClasses: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-collection/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<https://developer.android.com/reference/java/lang/Class.html<*>!> )` Restricts an observer using this spec to triggering only for documents of one of the provided document classes. |
| `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec.Builder` | `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec.Builder#addFilterSchemas(java.lang.String...)(schemas: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>)` Restricts an observer using this spec to triggering only for documents of one of the provided schema types. |
| `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec.Builder` | `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec.Builder#addFilterSchemas(java.util.Collection<java.lang.String>)(schemas: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-collection/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>)` Restricts an observer using this spec to triggering only for documents of one of the provided schema types. |
| `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec` | `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec.Builder#build()()` Constructs a new `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec` from the contents of this builder. |

## Public constructors

### Builder

Added in 1.1.0

```
Builder()
```

## Public functions

### addFilterDocumentClasses

```
fun addFilterDocumentClasses(documentClasses: Array<Class<*>!>): ObserverSpec.Builder
```

Restricts an observer using this spec to triggering only for documents of one of the provided document classes.

If unset, the observer will match documents of all types.

Merged list available from `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec#getFilterSchemas()`.

| Parameters |
|---|---|
| `documentClasses: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/java/lang/Class.html<*>!>` | classes annotated with `https://developer.android.com/reference/kotlin/androidx/appsearch/annotation/Document`. |

| Throws |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/appsearch/exceptions/AppSearchException` |   |

### addFilterDocumentClasses

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

```
fun addFilterDocumentClasses(
    documentClasses: (Mutable)Collection<Class<*>!>
): ObserverSpec.Builder
```

Restricts an observer using this spec to triggering only for documents of one of the provided document classes.

If unset, the observer will match documents of all types.

Merged list available from `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec#getFilterSchemas()`.

| Parameters |
|---|---|
| `documentClasses: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-collection/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<https://developer.android.com/reference/java/lang/Class.html<*>!>` | classes annotated with `https://developer.android.com/reference/kotlin/androidx/appsearch/annotation/Document`. |

| Throws |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/appsearch/exceptions/AppSearchException` |   |

### addFilterSchemas

```
fun addFilterSchemas(schemas: Array<String!>): ObserverSpec.Builder
```

Restricts an observer using this spec to triggering only for documents of one of the provided schema types.

If unset, the observer will match documents of all types.

### addFilterSchemas

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

```
fun addFilterSchemas(schemas: (Mutable)Collection<String!>): ObserverSpec.Builder
```

Restricts an observer using this spec to triggering only for documents of one of the provided schema types.

If unset, the observer will match documents of all types.

### build

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

```
fun build(): ObserverSpec
```

Constructs a new `https://developer.android.com/reference/kotlin/androidx/appsearch/observer/ObserverSpec` from the contents of this builder.