# DefaultContentMetadata

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

*** ** * ** ***


```
@UnstableApi
public final class DefaultContentMetadata implements ContentMetadata
```

<br />

*** ** * ** ***

Default implementation of `https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata`. Values are stored as byte arrays.

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata` | `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#EMPTY()` An empty DefaultContentMetadata. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#DefaultContentMetadata()()` |
| `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#DefaultContentMetadata(java.util.Map<java.lang.String,byte[]>)(https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, byte[]> metadata)` |

| ### Public methods |
|---|---|
| `final boolean` | `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#contains(java.lang.String)(https://developer.android.com/reference/java/lang/String.html key)` Returns whether the metadata is available. |
| `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata` | `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#copyWithMutationsApplied(androidx.media3.datasource.cache.ContentMetadataMutations)(https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadataMutations mutations)` Returns a copy `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata` with `mutations` applied. |
| `https://developer.android.com/reference/java/util/Set.html<https://developer.android.com/reference/java/util/Map.Entry.html<https://developer.android.com/reference/java/lang/String.html, byte[]>>` | `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#entrySet()()` Returns the set of metadata entries in their raw byte array form. |
| `boolean` | `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#equals(java.lang.Object)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html o)` |
| `final @https://developer.android.com/reference/androidx/annotation/Nullable byte[]` | `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#get(java.lang.String,byte[])(https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/Nullable byte[] defaultValue)` Returns a metadata value. |
| `final long` | `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#get(java.lang.String,long)(https://developer.android.com/reference/java/lang/String.html key, long defaultValue)` Returns a metadata value. |
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#get(java.lang.String,java.lang.String)(https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html defaultValue)` Returns a metadata value. |
| `int` | `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata#hashCode()()` |

| ### Inherited Constants |
|---|
| From [androidx.media3.datasource.cache.ContentMetadata](https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata) |---|---| | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata#KEY_CONTENT_LENGTH() = "exo_len"` Key for content length in bytes (type: long). | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata#KEY_CUSTOM_PREFIX() = "custom_"` Prefix for custom metadata keys. | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata#KEY_REDIRECTED_URI() = "exo_redir"` Key for redirected uri (type: String). | |

| ### Inherited methods |
|---|
| From [androidx.media3.datasource.cache.ContentMetadata](https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata) |---|---| | `static long` | `https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata#getContentLength(androidx.media3.datasource.cache.ContentMetadata)(https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata contentMetadata)` Returns the value stored under `https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata#KEY_CONTENT_LENGTH()`, or `https://developer.android.com/reference/androidx/media3/common/C#LENGTH_UNSET()` if not set. | | `static @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/net/Uri.html` | `https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata#getRedirectedUri(androidx.media3.datasource.cache.ContentMetadata)(https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata contentMetadata)` Returns the value stored under `https://developer.android.com/reference/androidx/media3/datasource/cache/ContentMetadata#KEY_REDIRECTED_URI()` as a `https://developer.android.com/reference/android/net/Uri.html`, or {code null} if not set. | |

## Constants

### EMPTY

```
public static final DefaultContentMetadata EMPTY
```

An empty DefaultContentMetadata.

## Public constructors

### DefaultContentMetadata

```
public DefaultContentMetadata()
```

### DefaultContentMetadata

```
public DefaultContentMetadata(Map<String, byte[]> metadata)
```

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, byte[]> metadata` | The metadata entries in their raw byte array form. |

## Public methods

### contains

```
public final boolean contains(String key)
```

Returns whether the metadata is available.

### copyWithMutationsApplied

```
public DefaultContentMetadata copyWithMutationsApplied(ContentMetadataMutations mutations)
```

Returns a copy `https://developer.android.com/reference/androidx/media3/datasource/cache/DefaultContentMetadata` with `mutations` applied. If `
mutations` don't change anything, returns this instance.

### entrySet

```
public Set<Map.Entry<String, byte[]>> entrySet()
```

Returns the set of metadata entries in their raw byte array form.

### equals

```
public boolean equals(@Nullable Object o)
```

### get

```
public final @Nullable byte[] get(String key, @Nullable byte[] defaultValue)
```

Returns a metadata value.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html key` | Key of the metadata to be returned. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable byte[] defaultValue` | Value to return if the metadata doesn't exist. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable byte[]` | The metadata value. |

### get

```
public final long get(String key, long defaultValue)
```

Returns a metadata value.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html key` | Key of the metadata to be returned. |
| `long defaultValue` | Value to return if the metadata doesn't exist. |

| Returns |
|---|---|
| `long` | The metadata value. |

### get

```
public final @Nullable String get(String key, @Nullable String defaultValue)
```

Returns a metadata value.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html key` | Key of the metadata to be returned. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html defaultValue` | Value to return if the metadata doesn't exist. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | The metadata value. |

### hashCode

```
public int hashCode()
```