package id.iptek.utms.agent.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Jaka
 */
public class Profile implements Serializable {

    private String terminalSN;
    private String id;
    private String name;
    private int heartbeatInterval;
    private int diagnosticInterval;
    private boolean maskHomeButton;
    private boolean maskStatusButton;
    private boolean scheduleReboot;
    private Date scheduleRebootTime;
    private boolean isDefault;
    private boolean relocationAlert;
    private int movingThreshold;
    private String adminPassword;
    private String frontApp;
    private List<String> groupIds;
    private List<String> apps;

    /**
     * @return the terminalSN
     */
    public String getTerminalSN() {
        return terminalSN;
    }

    /**
     * @param terminalSN the terminalSN to set
     */
    public void setTerminalSN(String terminalSN) {
        this.terminalSN = terminalSN;
    }

    /**
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the heartbeatInterval
     */
    public int getHeartbeatInterval() {
        return heartbeatInterval;
    }

    /**
     * @param heartbeatInterval the heartbeatInterval to set
     */
    public void setHeartbeatInterval(int heartbeatInterval) {
        this.heartbeatInterval = heartbeatInterval;
    }

    /**
     * @return the diagnosticInterval
     */
    public int getDiagnosticInterval() {
        return diagnosticInterval;
    }

    /**
     * @param diagnosticInterval the diagnosticInterval to set
     */
    public void setDiagnosticInterval(int diagnosticInterval) {
        this.diagnosticInterval = diagnosticInterval;
    }

    /**
     * @return the maskHomeButton
     */
    public boolean isMaskHomeButton() {
        return maskHomeButton;
    }

    /**
     * @param maskHomeButton the maskHomeButton to set
     */
    public void setMaskHomeButton(boolean maskHomeButton) {
        this.maskHomeButton = maskHomeButton;
    }

    /**
     * @return the maskStatusButton
     */
    public boolean isMaskStatusButton() {
        return maskStatusButton;
    }

    /**
     * @param maskStatusButton the maskStatusButton to set
     */
    public void setMaskStatusButton(boolean maskStatusButton) {
        this.maskStatusButton = maskStatusButton;
    }

    /**
     * @return the scheduleReboot
     */
    public boolean isScheduleReboot() {
        return scheduleReboot;
    }

    /**
     * @param scheduleReboot the scheduleReboot to set
     */
    public void setScheduleReboot(boolean scheduleReboot) {
        this.scheduleReboot = scheduleReboot;
    }

    /**
     * @return the scheduleRebootTime
     */
    public Date getScheduleRebootTime() {
        return scheduleRebootTime;
    }

    /**
     * @param scheduleRebootTime the scheduleRebootTime to set
     */
    public void setScheduleRebootTime(Date scheduleRebootTime) {
        this.scheduleRebootTime = scheduleRebootTime;
    }

    /**
     * @return the isDefault
     */
    public boolean isDefault() {
        return isDefault;
    }

    /**
     * @param isDefault the isDefault to set
     */
    public void setDefault(boolean isDefault) {
        this.isDefault = isDefault;
    }

    /**
     * @return the relocationAlert
     */
    public boolean isRelocationAlert() {
        return relocationAlert;
    }

    /**
     * @param relocationAlert the relocationAlert to set
     */
    public void setRelocationAlert(boolean relocationAlert) {
        this.relocationAlert = relocationAlert;
    }

    /**
     * @return the movingThreshold
     */
    public int getMovingThreshold() {
        return movingThreshold;
    }

    /**
     * @param movingThreshold the movingThreshold to set
     */
    public void setMovingThreshold(int movingThreshold) {
        this.movingThreshold = movingThreshold;
    }

    /**
     * @return the adminPassword
     */
    public String getAdminPassword() {
        return adminPassword;
    }

    /**
     * @param adminPassword the adminPassword to set
     */
    public void setAdminPassword(String adminPassword) {
        this.adminPassword = adminPassword;
    }

    /**
     * @return the frontApp
     */
    public String getFrontApp() {
        return frontApp;
    }

    /**
     * @param frontApp the frontApp to set
     */
    public void setFrontApp(String frontApp) {
        this.frontApp = frontApp;
    }

    /**
     * @return the apps
     */
    public List<String> getApps() {
        if(apps == null) {
            apps = new ArrayList<>();
        }
        return apps;
    }

    /**
     * @param apps the apps to set
     */
    public void setApps(List<String> apps) {
        this.apps = apps;
    }

    /**
     * @return the groupIds
     */
    public List<String> getGroupIds() {
        return groupIds;
    }

    /**
     * @param groupIds the groupIds to set
     */
    public void setGroupIds(List<String> groupIds) {
        this.groupIds = groupIds;
    }
}
