![JAR search and dependency download from the Maven repository](/logo.png)
com.iheartradio.m3u8.data.MediaPlaylist Maven / Gradle / Ivy
package com.iheartradio.m3u8.data;
import java.util.List;
import java.util.Objects;
public class MediaPlaylist {
private final List mTracks;
private final List mUnknownTags;
private final int mTargetDuration;
private final int mMediaSequenceNumber;
private final boolean mIsIframesOnly;
private final PlaylistType mPlaylistType;
private final StartData mStartData;
private MediaPlaylist(List tracks, List unknownTags, int targetDuration, StartData startData, int mediaSequenceNumber, boolean isIframesOnly, PlaylistType playlistType) {
mTracks = DataUtil.emptyOrUnmodifiable(tracks);
mUnknownTags = DataUtil.emptyOrUnmodifiable(unknownTags);
mTargetDuration = targetDuration;
mMediaSequenceNumber = mediaSequenceNumber;
mIsIframesOnly = isIframesOnly;
mStartData = startData;
mPlaylistType = playlistType;
}
public boolean hasTracks() {
return !mTracks.isEmpty();
}
public List getTracks() {
return mTracks;
}
public int getTargetDuration() {
return mTargetDuration;
}
public int getMediaSequenceNumber() {
return mMediaSequenceNumber;
}
public boolean isIframesOnly() {
return mIsIframesOnly;
}
public boolean hasUnknownTags() {
return !mUnknownTags.isEmpty();
}
public List getUnknownTags() {
return mUnknownTags;
}
public StartData getStartData() {
return mStartData;
}
public boolean hasStartData() {
return mStartData != null;
}
public PlaylistType getPlaylistType() {
return mPlaylistType;
}
public boolean hasPlaylistType() {
return mPlaylistType != null;
}
public Builder buildUpon() {
return new Builder(mTracks, mUnknownTags, mTargetDuration, mMediaSequenceNumber, mIsIframesOnly, mPlaylistType, mStartData);
}
@Override
public int hashCode() {
return Objects.hash(mIsIframesOnly, mMediaSequenceNumber, mPlaylistType,
mStartData, mTargetDuration, mTracks, mUnknownTags);
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MediaPlaylist)) {
return false;
}
MediaPlaylist other = (MediaPlaylist) o;
return Objects.equals(mTracks, other.mTracks) &&
Objects.equals(mUnknownTags, other.mUnknownTags) &&
mTargetDuration == other.mTargetDuration &&
mMediaSequenceNumber == other.mMediaSequenceNumber &&
mIsIframesOnly == other.mIsIframesOnly &&
Objects.equals(mPlaylistType, other.mPlaylistType) &&
Objects.equals(mStartData, other.mStartData);
}
@Override
public String toString() {
return new StringBuilder()
.append("(MediaPlaylist")
.append(" mTracks=").append(mTracks)
.append(" mUnknownTags=").append(mUnknownTags)
.append(" mTargetDuration=").append(mTargetDuration)
.append(" mMediaSequenceNumber=").append(mMediaSequenceNumber)
.append(" mIsIframesOnly=").append(mIsIframesOnly)
.append(" mPlaylistType=").append(mPlaylistType)
.append(" mStartData=").append(mStartData)
.append(")")
.toString();
}
public static class Builder {
private List mTracks;
private List mUnknownTags;
private int mTargetDuration;
private int mMediaSequenceNumber;
private boolean mIsIframesOnly;
private PlaylistType mPlaylistType;
private StartData mStartData;
public Builder() {
}
private Builder(List tracks, List unknownTags, int targetDuration, int mediaSequenceNumber, boolean isIframesOnly, PlaylistType playlistType, StartData startData) {
mTracks = tracks;
mUnknownTags = unknownTags;
mTargetDuration = targetDuration;
mMediaSequenceNumber = mediaSequenceNumber;
mIsIframesOnly = isIframesOnly;
mPlaylistType = playlistType;
mStartData = startData;
}
public Builder withTracks(List tracks) {
mTracks = tracks;
return this;
}
public Builder withUnknownTags(List unknownTags) {
mUnknownTags = unknownTags;
return this;
}
public Builder withTargetDuration(int targetDuration) {
mTargetDuration = targetDuration;
return this;
}
public Builder withStartData(StartData startData) {
mStartData = startData;
return this;
}
public Builder withMediaSequenceNumber(int mediaSequenceNumber) {
mMediaSequenceNumber = mediaSequenceNumber;
return this;
}
public Builder withIsIframesOnly(boolean isIframesOnly) {
mIsIframesOnly = isIframesOnly;
return this;
}
public Builder withPlaylistType(PlaylistType playlistType) {
mPlaylistType = playlistType;
return this;
}
public MediaPlaylist build() {
return new MediaPlaylist(mTracks, mUnknownTags, mTargetDuration, mStartData, mMediaSequenceNumber, mIsIframesOnly, mPlaylistType);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy