package seedu.doist.commons.core;

import java.util.Objects;
import java.util.logging.Level;

/**
 * Config values used by the app
 */
public class Config {

    public static final String DEFAULT_CONFIG_FILE = "config.json";

    // Config values customizable through config file
    private String appTitle = "Doist";
    private Level logLevel = Level.INFO;
    private String userPrefsFilePath = "preferences.json";
    private String todoListFilePath = "data/todolist.xml";
    private String todoListName = "MyTodoList";


    public String getAppTitle() {
        return appTitle;
    }

    public void setAppTitle(String appTitle) {
        this.appTitle = appTitle;
    }

    public Level getLogLevel() {
        return logLevel;
    }

    public void setLogLevel(Level logLevel) {
        this.logLevel = logLevel;
    }

    public String getUserPrefsFilePath() {
        return userPrefsFilePath;
    }

    public void setUserPrefsFilePath(String userPrefsFilePath) {
        this.userPrefsFilePath = userPrefsFilePath;
    }

    public String getTodoListFilePath() {
        return todoListFilePath;
    }

    public void setTodoListFilePath(String todoListFilePath) {
        this.todoListFilePath = todoListFilePath;
    }

    public String getTodoListName() {
        return todoListName;
    }

    public void setTodoListName(String todoListName) {
        this.todoListName = todoListName;
    }


    @Override
    public boolean equals(Object other) {
        if (other == this) {
            return true;
        }
        if (!(other instanceof Config)) { //this handles null as well.
            return false;
        }

        Config o = (Config) other;

        return Objects.equals(appTitle, o.appTitle)
                && Objects.equals(logLevel, o.logLevel)
                && Objects.equals(userPrefsFilePath, o.userPrefsFilePath)
                && Objects.equals(todoListFilePath, o.todoListFilePath)
                && Objects.equals(todoListName, o.todoListName);
    }

    @Override
    public int hashCode() {
        return Objects.hash(appTitle, logLevel, userPrefsFilePath, todoListFilePath, todoListName);
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("App title : " + appTitle);
        sb.append("\nCurrent log level : " + logLevel);
        sb.append("\nPreference file Location : " + userPrefsFilePath);
        sb.append("\nLocal data file location : " + todoListFilePath);
        sb.append("\nTodoList name : " + todoListName);
        return sb.toString();
    }

}

@@ -472,16 +472,83 @@
 t.xml%22;%0A
+    private String aliasListMapFilePath = %22data/aliaslistmap.xml%22;%0A
     priv
@@ -1297,32 +1297,258 @@
 ilePath;%0A    %7D%0A%0A
+    public String getAliasListMapFilePath() %7B%0A        return aliasListMapFilePath;%0A    %7D%0A%0A    public void setAliasListMapFilePath(String aliasListMapFilePath) %7B%0A        this.aliasListMapFilePath = aliasListMapFilePath;%0A    %7D%0A%0A
     public Strin

Modify config to also have alias list map file path