package crmdna.member; import crmdna.common.contact.ContactProp; import crmdna.group.IHasGroupIdsAndNames; import crmdna.list.ListProp; import crmdna.member.Member.AccountType; import crmdna.practice.IHasPracticeIdsAndNames; import java.util.*; public class MemberProp implements Comparable<MemberProp>, IHasGroupIdsAndNames, IHasPracticeIdsAndNames { public long memberId; public ContactProp contact; public String name; public Set<Long> groupIds = new HashSet<Long>(); public Set<Long> programIds = new HashSet<Long>(); public Set<Long> programTypeIds = new HashSet<Long>(); public Set<Long> practiceIds = new HashSet<Long>(); public Set<Long> subscribedListIds = new HashSet<>(); public Set<Long> unsubscribedListIds = new HashSet<>(); public Set<Long> listIds = new HashSet<>(); public Set<Long> subscribedGroupIds = new HashSet<>(); public Set<Long> unsubscribedGroupIds = new HashSet<>(); // dependents public Set<String> practices = new TreeSet<>(); public List<MemberProgramProp> memberProgramProps = new ArrayList<>(); public Set<String> groups = new HashSet<>(); public List<ListProp> listProps = new ArrayList<>(); public boolean hasAccount; public AccountType accountType; public boolean isEmailVerified; public boolean accountDisabled; public long accountCreatedMS; public int verificationCode; byte[] encryptedPwd; byte[] salt; @Override public int compareTo(MemberProp o) { return this.name.compareTo(o.name); } @Override public Set<Long> getGroupIds() { return groupIds; } @Override public void setGroupNames(Set<String> groupNames) { groups = groupNames; } @Override public Set<Long> getPracticeIds() { return practiceIds; } @Override public void setPracticeNames(Set<String> practiceNames) { practices = practiceNames; } public byte[] getSalt() { return salt; } public byte[] getEncryptedPwd() { return encryptedPwd; } }