// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/download/Downloadable.java
// public interface Downloadable {}
// 
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/tags/general/OpeningTag.java
// @HLSTag(name="EXTM3U")
// public class OpeningTag implements Tag {
//     public OpeningTag(String paramString) {}
//     
//     @Override
//     public String getName() {
//         return "EXTM3U";
//     }
// 
//     @Override
//     public TagType getType() {
//         return TagType.PLAYLIST;
//     }
// 
//     @Override
//     public int minVersion() {
//         return 0;
//     }
// 
//     @Override
//     public boolean isOneTime() {
//         return false;
//     }
// 
//     @Override
//     public boolean shouldBeFollowedByURI() {
//         return false;
//     }
// 
//     @Override
//     public boolean shouldBeUnique() {
//         return true;
//     }
// }
// 
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/tags/Tag.java
// public interface Tag {
//     public String getName();
//     public TagType getType();
//     public int minVersion();
//     public boolean isOneTime();
//     public boolean shouldBeFollowedByURI();
//     public boolean shouldBeUnique();
// }


import org.fbk.cit.hlt.parsers.hls.download.Downloadable;
import org.fbk.cit.hlt.parsers.hls.tags.general.OpeningTag;
import org.fbk.cit.hlt.parsers.hls.exceptions.*;
import org.fbk.cit.hlt.parsers.hls.tags.Tag;
import java.util.ArrayList;
package org.fbk.cit.hlt.parsers.hls;



/**
 * Generic playlist entity
 */
public abstract class Playlist implements Downloadable {
    protected int version;
    protected ArrayList<Tag> tags;
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/download/Downloadable.java
// public interface Downloadable {}
// 
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/tags/general/OpeningTag.java
// @HLSTag(name="EXTM3U")
// public class OpeningTag implements Tag {
//     public OpeningTag(String paramString) {}
//     
//     @Override
//     public String getName() {
//         return "EXTM3U";
//     }
// 
//     @Override
//     public TagType getType() {
//         return TagType.PLAYLIST;
//     }
// 
//     @Override
//     public int minVersion() {
//         return 0;
//     }
// 
//     @Override
//     public boolean isOneTime() {
//         return false;
//     }
// 
//     @Override
//     public boolean shouldBeFollowedByURI() {
//         return false;
//     }
// 
//     @Override
//     public boolean shouldBeUnique() {
//         return true;
//     }
// }
// 
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/tags/Tag.java
// public interface Tag {
//     public String getName();
//     public TagType getType();
//     public int minVersion();
//     public boolean isOneTime();
//     public boolean shouldBeFollowedByURI();
//     public boolean shouldBeUnique();
// }


// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/Playlist.java
import org.fbk.cit.hlt.parsers.hls.download.Downloadable;
import org.fbk.cit.hlt.parsers.hls.tags.general.OpeningTag;
import org.fbk.cit.hlt.parsers.hls.exceptions.*;
import org.fbk.cit.hlt.parsers.hls.tags.Tag;
import java.util.ArrayList;

package org.fbk.cit.hlt.parsers.hls;



/**
 * Generic playlist entity
 */
public abstract class Playlist implements Downloadable {
    protected int version;
    protected ArrayList<Tag> tags;
    protected boolean awaitingURI;