import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

import java.util.ArrayList;

abstract public class IMContainer {

    private ArrayList<Folder> subFolders;// = new ArrayList<>();
    private Gson templateGson = new Gson();
    private JsonParser parser = new JsonParser();
    private JsonArray foldersJsonArray;

    private String id;
    private String name;


    public JsonArray getFoldersJsonArray() {
        return foldersJsonArray;
    }

    public void setFoldersJsonArray(JsonArray foldersJsonArray) {
        this.foldersJsonArray = foldersJsonArray;
    }

    public abstract String getName();

    public abstract String getWsType();

    public abstract String getId();

    public abstract boolean hasSubfolders();

    public ArrayList<Folder> getSubFolders() {
        return subFolders;
    }

    public Folder addSubfolder(JsonObject folderProfile){
        Folder subfolder = new Folder(folderProfile);
        this.subFolders.add(subfolder);
        return subfolder;
    }
}
