package server.logic.ws_protocol.JSON.handlers.connections.entyties;

import server.logic.ws_protocol.JSON.entyties.Net_Response;

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

public class Net_GetUserConnectionsGraph_Response extends Net_Response {
    private String login;
    private List<String> outFriends = new ArrayList<>();
    private List<String> inFriends = new ArrayList<>();
    private List<String> outContacts = new ArrayList<>();
    private List<String> inContacts = new ArrayList<>();
    private List<String> outFollows = new ArrayList<>();
    private List<String> inFollows = new ArrayList<>();
    private List<String> outSpouses = new ArrayList<>();
    private List<String> inSpouses = new ArrayList<>();
    private List<String> outParents = new ArrayList<>();
    private List<String> inParents = new ArrayList<>();
    private List<String> outChildren = new ArrayList<>();
    private List<String> inChildren = new ArrayList<>();
    private List<String> outSiblings = new ArrayList<>();
    private List<String> inSiblings = new ArrayList<>();
    private List<String> outKnownPersons = new ArrayList<>();
    private List<String> inKnownPersons = new ArrayList<>();
    private List<String> outShineConfirmed = new ArrayList<>();
    private List<String> inShineConfirmed = new ArrayList<>();
    private List<String> outShineSeen = new ArrayList<>();
    private List<String> inShineSeen = new ArrayList<>();
    private List<RelativeItem> parents = new ArrayList<>();
    private List<RelativeItem> children = new ArrayList<>();
    private List<RelativeItem> siblings = new ArrayList<>();
    private List<RelativeItem> spouses = new ArrayList<>();
    private List<UserMarkItem> allUsers = new ArrayList<>();

    public static class AvatarItem {
        private String ar;

        public String getAr() { return ar; }
        public void setAr(String ar) { this.ar = ar; }
    }

    public static class RelativeItem {
        private String login;
        private String gender;
        private String genderLabel;
        private AvatarItem avatar;

        public String getLogin() { return login; }
        public void setLogin(String login) { this.login = login; }
        public String getGender() { return gender; }
        public void setGender(String gender) { this.gender = gender; }
        public String getGenderLabel() { return genderLabel; }
        public void setGenderLabel(String genderLabel) { this.genderLabel = genderLabel; }
        public AvatarItem getAvatar() { return avatar; }
        public void setAvatar(AvatarItem avatar) { this.avatar = avatar; }
    }

    public static class UserMarkItem {
        private String login;
        private boolean official;
        private boolean shine;
        private String officialLabel;
        private String shineLabel;
        private AvatarItem avatar;

        public String getLogin() { return login; }
        public void setLogin(String login) { this.login = login; }
        public boolean isOfficial() { return official; }
        public void setOfficial(boolean official) { this.official = official; }
        public boolean isShine() { return shine; }
        public void setShine(boolean shine) { this.shine = shine; }
        public String getOfficialLabel() { return officialLabel; }
        public void setOfficialLabel(String officialLabel) { this.officialLabel = officialLabel; }
        public String getShineLabel() { return shineLabel; }
        public void setShineLabel(String shineLabel) { this.shineLabel = shineLabel; }
        public AvatarItem getAvatar() { return avatar; }
        public void setAvatar(AvatarItem avatar) { this.avatar = avatar; }
    }

    public String getLogin() { return login; }
    public void setLogin(String login) { this.login = login; }
    public List<String> getOutFriends() { return outFriends; }
    public void setOutFriends(List<String> outFriends) { this.outFriends = outFriends; }
    public List<String> getInFriends() { return inFriends; }
    public void setInFriends(List<String> inFriends) { this.inFriends = inFriends; }
    public List<String> getOutContacts() { return outContacts; }
    public void setOutContacts(List<String> outContacts) { this.outContacts = outContacts; }
    public List<String> getInContacts() { return inContacts; }
    public void setInContacts(List<String> inContacts) { this.inContacts = inContacts; }
    public List<String> getOutFollows() { return outFollows; }
    public void setOutFollows(List<String> outFollows) { this.outFollows = outFollows; }
    public List<String> getInFollows() { return inFollows; }
    public void setInFollows(List<String> inFollows) { this.inFollows = inFollows; }
    public List<String> getOutSpouses() { return outSpouses; }
    public void setOutSpouses(List<String> outSpouses) { this.outSpouses = outSpouses; }
    public List<String> getInSpouses() { return inSpouses; }
    public void setInSpouses(List<String> inSpouses) { this.inSpouses = inSpouses; }
    public List<String> getOutParents() { return outParents; }
    public void setOutParents(List<String> outParents) { this.outParents = outParents; }
    public List<String> getInParents() { return inParents; }
    public void setInParents(List<String> inParents) { this.inParents = inParents; }
    public List<String> getOutChildren() { return outChildren; }
    public void setOutChildren(List<String> outChildren) { this.outChildren = outChildren; }
    public List<String> getInChildren() { return inChildren; }
    public void setInChildren(List<String> inChildren) { this.inChildren = inChildren; }
    public List<String> getOutSiblings() { return outSiblings; }
    public void setOutSiblings(List<String> outSiblings) { this.outSiblings = outSiblings; }
    public List<String> getInSiblings() { return inSiblings; }
    public void setInSiblings(List<String> inSiblings) { this.inSiblings = inSiblings; }
    public List<String> getOutKnownPersons() { return outKnownPersons; }
    public void setOutKnownPersons(List<String> outKnownPersons) { this.outKnownPersons = outKnownPersons; }
    public List<String> getInKnownPersons() { return inKnownPersons; }
    public void setInKnownPersons(List<String> inKnownPersons) { this.inKnownPersons = inKnownPersons; }
    public List<String> getOutShineConfirmed() { return outShineConfirmed; }
    public void setOutShineConfirmed(List<String> outShineConfirmed) { this.outShineConfirmed = outShineConfirmed; }
    public List<String> getInShineConfirmed() { return inShineConfirmed; }
    public void setInShineConfirmed(List<String> inShineConfirmed) { this.inShineConfirmed = inShineConfirmed; }
    public List<String> getOutShineSeen() { return outShineSeen; }
    public void setOutShineSeen(List<String> outShineSeen) { this.outShineSeen = outShineSeen; }
    public List<String> getInShineSeen() { return inShineSeen; }
    public void setInShineSeen(List<String> inShineSeen) { this.inShineSeen = inShineSeen; }
    public List<RelativeItem> getParents() { return parents; }
    public void setParents(List<RelativeItem> parents) { this.parents = parents; }
    public List<RelativeItem> getChildren() { return children; }
    public void setChildren(List<RelativeItem> children) { this.children = children; }
    public List<RelativeItem> getSiblings() { return siblings; }
    public void setSiblings(List<RelativeItem> siblings) { this.siblings = siblings; }
    public List<RelativeItem> getSpouses() { return spouses; }
    public void setSpouses(List<RelativeItem> spouses) { this.spouses = spouses; }
    public List<UserMarkItem> getAllUsers() { return allUsers; }
    public void setAllUsers(List<UserMarkItem> allUsers) { this.allUsers = allUsers; }
}
