Added validation for ``MediaFormat``s
This commit is contained in:
parent
cf77bf5974
commit
862ed8762d
|
@ -2,6 +2,8 @@ package org.schabi.newpipe.extractor.streamdata.format;
|
|||
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public abstract class AbstractMediaFormat implements MediaFormat {
|
||||
private final int id;
|
||||
private final String name;
|
||||
|
@ -10,14 +12,14 @@ public abstract class AbstractMediaFormat implements MediaFormat {
|
|||
|
||||
protected AbstractMediaFormat(
|
||||
final int id,
|
||||
final String name,
|
||||
final String suffix,
|
||||
final String mimeType
|
||||
@Nonnull final String name,
|
||||
@Nonnull final String suffix,
|
||||
@Nonnull final String mimeType
|
||||
) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.suffix = suffix;
|
||||
this.mimeType = mimeType;
|
||||
this.name = Objects.requireNonNull(name);
|
||||
this.suffix = Objects.requireNonNull(suffix);
|
||||
this.mimeType = Objects.requireNonNull(mimeType);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -25,16 +27,19 @@ public abstract class AbstractMediaFormat implements MediaFormat {
|
|||
return id;
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String suffix() {
|
||||
return suffix;
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String mimeType() {
|
||||
return mimeType;
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
package org.schabi.newpipe.extractor.streamdata.format;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class AudioMediaFormat extends AbstractMediaFormat {
|
||||
public AudioMediaFormat(
|
||||
final int id,
|
||||
final String name,
|
||||
final String suffix,
|
||||
final String mimeType
|
||||
@Nonnull final String name,
|
||||
@Nonnull final String suffix,
|
||||
@Nonnull final String mimeType
|
||||
) {
|
||||
super(id, name, suffix, mimeType);
|
||||
}
|
||||
|
|
|
@ -1,12 +1,17 @@
|
|||
package org.schabi.newpipe.extractor.streamdata.format;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public interface MediaFormat {
|
||||
|
||||
int id();
|
||||
|
||||
@Nonnull
|
||||
String name();
|
||||
|
||||
@Nonnull
|
||||
String suffix();
|
||||
|
||||
@Nonnull
|
||||
String mimeType();
|
||||
}
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
package org.schabi.newpipe.extractor.streamdata.format;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class SubtitleMediaFormat extends AbstractMediaFormat {
|
||||
public SubtitleMediaFormat(
|
||||
final int id,
|
||||
final String name,
|
||||
final String suffix,
|
||||
final String mimeType
|
||||
@Nonnull final String name,
|
||||
@Nonnull final String suffix,
|
||||
@Nonnull final String mimeType
|
||||
) {
|
||||
super(id, name, suffix, mimeType);
|
||||
}
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
package org.schabi.newpipe.extractor.streamdata.format;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class VideoAudioMediaFormat extends AbstractMediaFormat {
|
||||
public VideoAudioMediaFormat(
|
||||
final int id,
|
||||
final String name,
|
||||
final String suffix,
|
||||
final String mimeType
|
||||
@Nonnull final String name,
|
||||
@Nonnull final String suffix,
|
||||
@Nonnull final String mimeType
|
||||
) {
|
||||
super(id, name, suffix, mimeType);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue