# 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
public final class MutableEditsDraft extends EditsDraft
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.pdf.EditsDraft](https://developer.android.com/reference/androidx/pdf/EditsDraft) ||
|   | ↳ | [androidx.pdf.MutableEditsDraft](https://developer.android.com/reference/androidx/pdf/MutableEditsDraft) |

*** ** * ** ***

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

## Summary

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

| ### Public methods |
|---|---|
| `final void` | `https://developer.android.com/reference/androidx/pdf/MutableEditsDraft#insert(androidx.pdf.annotation.content.PdfAnnotation)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/annotation/content/PdfAnnotation annotation)` Enqueues a `insert` operation for a new `https://developer.android.com/reference/androidx/pdf/annotation/content/PdfAnnotation`. |
| `final void` | `https://developer.android.com/reference/androidx/pdf/MutableEditsDraft#remove(kotlin.String,kotlin.Int)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html annotationId, int pageNum)` Enqueues a 'remove' operation for an existing annotation. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/EditsDraft` | `https://developer.android.com/reference/androidx/pdf/MutableEditsDraft#toEditsDraft()()` Transforms the enqueued edits to an immutable request. |
| `final void` | `https://developer.android.com/reference/androidx/pdf/MutableEditsDraft#update(kotlin.String,androidx.pdf.annotation.content.PdfAnnotation)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html annotationId, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/annotation/content/PdfAnnotation annotation)` Enqueues an 'update' operation for an existing annotation. |

### Inherited methods

From [androidx.pdf.EditsDraft](https://developer.android.com/reference/androidx/pdf/EditsDraft) `boolean` `https://developer.android.com/reference/androidx/pdf/EditsDraft#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` `int` `https://developer.android.com/reference/androidx/pdf/EditsDraft#hashCode()()` `final @https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/EditsDraft, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/EditsDraft>` `https://developer.android.com/reference/androidx/pdf/EditsDraft#splitAt(kotlin.Int)(int index)`

Splits this `https://developer.android.com/reference/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)

```
public MutableEditsDraft()
```

## Public methods

### insert

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

```
public final void insert(@NonNull PdfAnnotation annotation)
```

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

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/annotation/content/PdfAnnotation annotation` | The `https://developer.android.com/reference/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)

```
public final void remove(@NonNull String annotationId, int pageNum)
```

Enqueues a 'remove' operation for an existing annotation.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html annotationId` | The id of the annotation to be removed. |
| `int pageNum` | 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)

```
public final @NonNull EditsDraft toEditsDraft()
```

Transforms the enqueued edits to an immutable request.

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/EditsDraft` | An `https://developer.android.com/reference/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)

```
public final void update(@NonNull String annotationId, @NonNull PdfAnnotation annotation)
```

Enqueues an 'update' operation for an existing annotation.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html annotationId` | The id of the annotation to be updated. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/annotation/content/PdfAnnotation annotation` | The new `https://developer.android.com/reference/androidx/pdf/annotation/content/PdfAnnotation` data for the update. |