package de.votian.services.dto;

import java.util.ArrayList;
import java.util.List;

public class GroupwareOptionsDto {

    private List<AppointmentCategoryOptionDto> statusOptions = new ArrayList<>();
    private List<AppointmentCategoryOptionDto> visibilityOptions = new ArrayList<>();
    private List<AppointmentCategoryOptionDto> typeOptions = new ArrayList<>();
    private List<AppointmentCategoryOptionDto> reminderOptions = new ArrayList<>();
    private List<AppointmentParticipantOptionDto> participants = new ArrayList<>();
    private List<AppointmentGroupOptionDto> groups = new ArrayList<>();
    private List<CustomerListItemDto> customers = new ArrayList<>();
    private Integer defaultTypeCategory;
    private Integer defaultReminderCategory;

    public List<AppointmentCategoryOptionDto> getStatusOptions() {
        return statusOptions;
    }

    public void setStatusOptions(List<AppointmentCategoryOptionDto> statusOptions) {
        this.statusOptions = statusOptions != null ? new ArrayList<>(statusOptions) : new ArrayList<>();
    }

    public List<AppointmentCategoryOptionDto> getVisibilityOptions() {
        return visibilityOptions;
    }

    public void setVisibilityOptions(List<AppointmentCategoryOptionDto> visibilityOptions) {
        this.visibilityOptions = visibilityOptions != null ? new ArrayList<>(visibilityOptions) : new ArrayList<>();
    }

    public List<AppointmentCategoryOptionDto> getTypeOptions() {
        return typeOptions;
    }

    public void setTypeOptions(List<AppointmentCategoryOptionDto> typeOptions) {
        this.typeOptions = typeOptions != null ? new ArrayList<>(typeOptions) : new ArrayList<>();
    }

    public List<AppointmentCategoryOptionDto> getReminderOptions() {
        return reminderOptions;
    }

    public void setReminderOptions(List<AppointmentCategoryOptionDto> reminderOptions) {
        this.reminderOptions = reminderOptions != null ? new ArrayList<>(reminderOptions) : new ArrayList<>();
    }

    public List<AppointmentParticipantOptionDto> getParticipants() {
        return participants;
    }

    public void setParticipants(List<AppointmentParticipantOptionDto> participants) {
        this.participants = participants != null ? new ArrayList<>(participants) : new ArrayList<>();
    }

    public List<AppointmentGroupOptionDto> getGroups() {
        return groups;
    }

    public void setGroups(List<AppointmentGroupOptionDto> groups) {
        this.groups = groups != null ? new ArrayList<>(groups) : new ArrayList<>();
    }

    public List<CustomerListItemDto> getCustomers() {
        return customers;
    }

    public void setCustomers(List<CustomerListItemDto> customers) {
        this.customers = customers != null ? new ArrayList<>(customers) : new ArrayList<>();
    }

    public Integer getDefaultTypeCategory() {
        return defaultTypeCategory;
    }

    public void setDefaultTypeCategory(Integer defaultTypeCategory) {
        this.defaultTypeCategory = defaultTypeCategory;
    }

    public Integer getDefaultReminderCategory() {
        return defaultReminderCategory;
    }

    public void setDefaultReminderCategory(Integer defaultReminderCategory) {
        this.defaultReminderCategory = defaultReminderCategory;
    }
}
