# MutableEditsDraft

Artifact: [androidx.pdf:pdf-core](https://developer.android.com/jetpack/androidx/releases/pdf) [View Source](https://cs.android.com/search?q=file:androidx/pdf/MutableEditsDraft.kt+class:androidx.pdf.MutableEditsDraft) Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

*** ** * ** ***


```
@ExperimentalPdfApi
class MutableEditsDraft : EditsDraft
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.pdf.EditsDraft](https://developer.android.com/reference/kotlin/androidx/pdf/EditsDraft) ||
|   | ↳ | [androidx.pdf.MutableEditsDraft](https://developer.android.com/reference/kotlin/androidx/pdf/MutableEditsDraft) |

*** ** * ** ***

A mutable builder for creating a sequence of draft edit operations.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/pdf/MutableEditsDraft#MutableEditsDraft()()` |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/pdf/MutableEditsDraft#insert(androidx.pdf.annotation.content.PdfAnnotation)(annotation: https://developer.android.com/reference/kotlin/androidx/pdf/annotation/content/PdfAnnotation)` Enqueues a `insert` operation for a new `https://developer.android.com/reference/kotlin/androidx/pdf/annotation/content/PdfAnnotation`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/pdf/MutableEditsDraft#remove(kotlin.String,kotlin.Int)(annotationId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, pageNum: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Enqueues a 'remove' operation for an existing annotation. |
| `https://developer.android.com/reference/kotlin/androidx/pdf/EditsDraft` | `https://developer.android.com/reference/kotlin/androidx/pdf/MutableEditsDraft#toEditsDraft()()` Transforms the enqueued edits to an immutable request. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/pdf/MutableEditsDraft#update(kotlin.String,androidx.pdf.annotation.content.PdfAnnotation)(annotationId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, annotation: https://developer.android.com/reference/kotlin/androidx/pdf/annotation/content/PdfAnnotation)` Enqueues an 'update' operation for an existing annotation. |

### Inherited functions

From [androidx.pdf.EditsDraft](https://developer.android.com/reference/kotlin/androidx/pdf/EditsDraft) `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/pdf/EditsDraft#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/pdf/EditsDraft#hashCode()()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html<https://developer.android.com/reference/kotlin/androidx/pdf/EditsDraft, https://developer.android.com/reference/kotlin/androidx/pdf/EditsDraft>` `https://developer.android.com/reference/kotlin/androidx/pdf/EditsDraft#splitAt(kotlin.Int)(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Splits this `https://developer.android.com/reference/kotlin/androidx/pdf/EditsDraft` into two separate drafts at the specified index with bounds \[0, index) and \[index, n).

## Public constructors

### MutableEditsDraft

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

```
MutableEditsDraft()
```

## Public functions

### insert

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

```
fun insert(annotation: PdfAnnotation): Unit
```

Enqueues a `insert` operation for a new `https://developer.android.com/reference/kotlin/androidx/pdf/annotation/content/PdfAnnotation`.

| Parameters |
|---|---|
| `annotation: https://developer.android.com/reference/kotlin/androidx/pdf/annotation/content/PdfAnnotation` | The `https://developer.android.com/reference/kotlin/androidx/pdf/annotation/content/PdfAnnotation` to be created. |

### remove

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

```
fun remove(annotationId: String, pageNum: Int): Unit
```

Enqueues a 'remove' operation for an existing annotation.

| Parameters |
|---|---|
| `annotationId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The id of the annotation to be removed. |
| `pageNum: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The page number where the annotation is located. |

### toEditsDraft

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

```
fun toEditsDraft(): EditsDraft
```

Transforms the enqueued edits to an immutable request.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/pdf/EditsDraft` | An `https://developer.android.com/reference/kotlin/androidx/pdf/EditsDraft` containing the accumulated operations. |

### update

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

```
fun update(annotationId: String, annotation: PdfAnnotation): Unit
```

Enqueues an 'update' operation for an existing annotation.

| Parameters |
|---|---|
| `annotationId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The id of the annotation to be updated. |
| `annotation: https://developer.android.com/reference/kotlin/androidx/pdf/annotation/content/PdfAnnotation` | The new `https://developer.android.com/reference/kotlin/androidx/pdf/annotation/content/PdfAnnotation` data for the update. |