# Dumper

Artifact: [androidx.media3:media3-test-utils](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/test/utils/Dumper.java+class:androidx.media3.test.utils.Dumper)

*** ** * ** ***


```
@UnstableApi
class Dumper
```

<br />

*** ** * ** ***

Helper utility to dump field values.

## Summary

| ### Nested types |
|---|
| `interface https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper.Dumpable` Provides custom dump method. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#Dumper()()` |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#add(androidx.media3.test.utils.Dumper.Dumpable)(object: https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper.Dumpable!)` |
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#add(java.lang.String,java.lang.Object)(field: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!)` |
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#add(java.lang.String,byte[])(field: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte/index.html>!)` |
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#addIfNonDefault(java.lang.String,java.lang.Object,java.lang.Object)(field: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?, defaultValue: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` Calls `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#add(java.lang.String,java.lang.Object)` if `value` is not equal to `defaultValue`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html <T> https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#addIfNonDefault(java.lang.String,T,T,com.google.common.base.Function<T,java.lang.Object>)( field: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, value: T!, defaultValue: T!, valueTransformFunction: https://guava.dev/releases/snapshot-android/api/docs/com/google/common/base/Function.html<T!, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!>! )` Applies `valueTransformFunction` to `value` and `defaultValue` and passes the results to `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#addIfNonDefault(java.lang.String,java.lang.Object,java.lang.Object)`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#addTime(java.lang.String,long)(field: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, time: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` |
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#endBlock()()` |
| `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#startBlock(java.lang.String)(name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#toString()()` |

## Public constructors

### Dumper

```
Dumper()
```

## Public functions

### add

```
@CanIgnoreReturnValue
fun add(object: Dumper.Dumpable!): Dumper!
```

### add

```
@CanIgnoreReturnValue
fun add(field: String!, value: Any!): Dumper!
```

### add

```
@CanIgnoreReturnValue
fun add(field: String!, value: ByteArray<Byte>!): Dumper!
```

### addIfNonDefault

```
@CanIgnoreReturnValue
fun addIfNonDefault(field: String!, value: Any?, defaultValue: Any?): Dumper!
```

Calls `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#add(java.lang.String,java.lang.Object)` if `value` is not equal to `defaultValue`.

It is not permitted to pass a null value to `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#add(java.lang.String,java.lang.Object)`, so null is only permitted here as a default value. Passing `value == null && defaultValue != null` will result in a `https://developer.android.com/reference/java/lang/NullPointerException.html`.

### addIfNonDefault

```
@CanIgnoreReturnValue
fun <T> addIfNonDefault(
    field: String!,
    value: T!,
    defaultValue: T!,
    valueTransformFunction: Function<T!, Any!>!
): Dumper!
```

Applies `valueTransformFunction` to `value` and `defaultValue` and passes the results to `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#addIfNonDefault(java.lang.String,java.lang.Object,java.lang.Object)`.

See `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/Dumper#addIfNonDefault(java.lang.String,java.lang.Object,java.lang.Object)` for limitations around when null results from `valueTransformFunction` are permitted.

### addTime

```
@CanIgnoreReturnValue
fun addTime(field: String!, time: Long): Dumper!
```

### endBlock

```
@CanIgnoreReturnValue
fun endBlock(): Dumper!
```

### startBlock

```
@CanIgnoreReturnValue
fun startBlock(name: String!): Dumper!
```

### toString

```
fun toString(): String!
```