# PodcastEpisodeEntity

# PodcastEpisodeEntity

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity "View this page in Kotlin")\|Java  

<br />

```
public final class PodcastEpisodeEntity extends Entity
```

<br />

|---|---|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html)                                                                                              |||
| ↳ | [com.google.android.engage.common.datamodel.Entity](https://developer.android.com/reference/com/google/android/engage/common/datamodel/Entity)                              ||
|   | ↳ | [com.google.android.engage.audio.datamodel.PodcastEpisodeEntity](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity) |

*** ** * ** ***

An object representing a podcast episode.

## Summary

|                                                                                                                                                   ### Nested types                                                                                                                                                   |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `public final class `[PodcastEpisodeEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder) Builder class for[PodcastEpisodeEntity](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity). |

|                                ### Public fields                                |
|---------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| `final long`                                                                    | [durationMillis](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#durationMillis())                 |
| `final `[Uri](https://developer.android.com/reference/android/net/Uri.html)     | [playBackUri](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#playBackUri())                       |
| `final `[String](https://developer.android.com/reference/java/lang/String.html) | [podcastSeriesTitle](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#podcastSeriesTitle())         |
| `final long`                                                                    | [publishDateEpochMillis](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#publishDateEpochMillis()) |

|                                                                             ### Public methods                                                                             |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Optional](https://guava.dev/releases/21.0/api/docs/com/google/common/base/Optional.html)`<`[String](https://developer.android.com/reference/java/lang/String.html)`>`     | [getDescription](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getDescription())`()` Returns the description of the audio entity, if available                                                                                                   |
| `long`                                                                                                                                                                     | [getDurationMillis](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getDurationMillis())`()` Returns the duration of the podcast episode                                                                                                           |
| [Optional](https://guava.dev/releases/21.0/api/docs/com/google/common/base/Optional.html)`<`[String](https://developer.android.com/reference/java/lang/String.html)`>`     | [getEntityId](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getEntityId())`()` Returns the id of the entity.                                                                                                                                     |
| [Optional](https://guava.dev/releases/21.0/api/docs/com/google/common/base/Optional.html)`<`[Integer](https://developer.android.com/reference/java/lang/Integer.html)`>`   | [getEpisodeIndex](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getEpisodeIndex())`()` Returns the index of the episode in the podcast series                                                                                                    |
| [List](https://developer.android.com/reference/java/util/List.html)`<`[String](https://developer.android.com/reference/java/lang/String.html)`>`                           | [getGenres](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getGenres())`()` Returns the list of genres of the podcast episode                                                                                                                     |
| [List](https://developer.android.com/reference/java/util/List.html)`<`[String](https://developer.android.com/reference/java/lang/String.html)`>`                           | [getHosts](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getHosts())`()` Returns the list of hosts of the podcast episode                                                                                                                        |
| [Optional](https://guava.dev/releases/21.0/api/docs/com/google/common/base/Optional.html)`<`[Uri](https://developer.android.com/reference/android/net/Uri.html)`>`         | [getInfoPageUri](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getInfoPageUri())`()` Returns the info page uri of the podcast episode, if available                                                                                              |
| [Optional](https://guava.dev/releases/21.0/api/docs/com/google/common/base/Optional.html)`<`[Long](https://developer.android.com/reference/java/lang/Long.html)`>`         | [getLastEngagementTimeMillis](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getLastEngagementTimeMillis())`()` Returns the last engagement time in milliseconds.                                                                                 |
| [Optional](https://guava.dev/releases/21.0/api/docs/com/google/common/base/Optional.html)`<`[Integer](https://developer.android.com/reference/java/lang/Integer.html)`>`   | [getListenNextType](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getListenNextType())`()` Returns the[ListenNextType](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/ListenNextType)for the podcast episode. |
| [String](https://developer.android.com/reference/java/lang/String.html)                                                                                                    | [getName](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getName())`()` Returns the name of the entity.                                                                                                                                           |
| [Uri](https://developer.android.com/reference/android/net/Uri.html)                                                                                                        | [getPlayBackUri](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getPlayBackUri())`()` Returns the play back uri of the podcast episode                                                                                                            |
| [String](https://developer.android.com/reference/java/lang/String.html)                                                                                                    | [getPodcastSeriesTitle](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getPodcastSeriesTitle())`()` Returns the title of the podcast series to which the episode belongs to                                                                       |
| [List](https://developer.android.com/reference/java/util/List.html)`<`[Image](https://developer.android.com/reference/com/google/android/engage/common/datamodel/Image)`>` | [getPosterImages](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getPosterImages())`()` Returns the poster image of the entity.                                                                                                                   |
| [Optional](https://guava.dev/releases/21.0/api/docs/com/google/common/base/Optional.html)`<`[String](https://developer.android.com/reference/java/lang/String.html)`>`     | [getProductionName](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getProductionName())`()` Returns the name of the production of the podcast episode                                                                                             |
| [Optional](https://guava.dev/releases/21.0/api/docs/com/google/common/base/Optional.html)`<`[Integer](https://developer.android.com/reference/java/lang/Integer.html)`>`   | [getProgressPercentComplete](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getProgressPercentComplete())`()` Returns the percentage progress completed.                                                                                          |
| `long`                                                                                                                                                                     | [getPublishDateEpochMillis](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#getPublishDateEpochMillis())`()` Returns the publish date of the podcast episode                                                                                       |
| `boolean`                                                                                                                                                                  | [isDownloadedOnDevice](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#isDownloadedOnDevice())`()` Returns whether podcast episode is downloaded on device or not                                                                                  |
| `boolean`                                                                                                                                                                  | [isExplicitContent](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#isExplicitContent())`()` Returns whether the podcast episode has explicit content or not                                                                                       |
| `boolean`                                                                                                                                                                  | [isVideoPodcast](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity#isVideoPodcast())`()` Returns whether the podcast episode has video content or not                                                                                                |

|                                                                                                                                                                                                          ### Inherited methods                                                                                                                                                                                                           |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From[com.google.android.engage.common.datamodel.Entity](https://developer.android.com/reference/com/google/android/engage/common/datamodel/Entity) |-------|--------------------------------------------------------------------------------------------------------------------------------| | `int` | [getEntityType](https://developer.android.com/reference/com/google/android/engage/common/datamodel/Entity#getEntityType())`()` | |

## Public fields

### durationMillis

```
public final long durationMillis
```  

### playBackUri

```
public final Uri playBackUri
```  

### podcastSeriesTitle

```
public final String podcastSeriesTitle
```  

### publishDateEpochMillis

```
public final long publishDateEpochMillis
```  

## Public methods

### getDescription

```
public Optional<String> getDescription()
```

Returns the description of the audio entity, if available  

### getDurationMillis

```
public long getDurationMillis()
```

Returns the duration of the podcast episode  

### getEntityId

```
public Optional<String> getEntityId()
```

Returns the id of the entity.  

### getEpisodeIndex

```
public Optional<Integer> getEpisodeIndex()
```

Returns the index of the episode in the podcast series  

### getGenres

```
public List<String> getGenres()
```

Returns the list of genres of the podcast episode  

### getHosts

```
public List<String> getHosts()
```

Returns the list of hosts of the podcast episode  

### getInfoPageUri

```
public Optional<Uri> getInfoPageUri()
```

Returns the info page uri of the podcast episode, if available  

### getLastEngagementTimeMillis

```
public Optional<Long> getLastEngagementTimeMillis()
```

Returns the last engagement time in milliseconds.  

### getListenNextType

```
public Optional<Integer> getListenNextType()
```

Returns the[ListenNextType](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/ListenNextType)for the podcast episode.  

### getName

```
public String getName()
```

Returns the name of the entity.  

### getPlayBackUri

```
public Uri getPlayBackUri()
```

Returns the play back uri of the podcast episode  

### getPodcastSeriesTitle

```
public String getPodcastSeriesTitle()
```

Returns the title of the podcast series to which the episode belongs to  

### getPosterImages

```
public List<Image> getPosterImages()
```

Returns the poster image of the entity.  

### getProductionName

```
public Optional<String> getProductionName()
```

Returns the name of the production of the podcast episode  

### getProgressPercentComplete

```
public Optional<Integer> getProgressPercentComplete()
```

Returns the percentage progress completed.  

### getPublishDateEpochMillis

```
public long getPublishDateEpochMillis()
```

Returns the publish date of the podcast episode  

### isDownloadedOnDevice

```
public boolean isDownloadedOnDevice()
```

Returns whether podcast episode is downloaded on device or not  

### isExplicitContent

```
public boolean isExplicitContent()
```

Returns whether the podcast episode has explicit content or not  

### isVideoPodcast

```
public boolean isVideoPodcast()
```

Returns whether the podcast episode has video content or not