1package eu.siacs.conversations.entities;
2
3import java.util.ArrayList;
4import java.util.HashMap;
5import java.util.List;
6
7public class Roster {
8 Account account;
9 HashMap<String, Contact> contacts = new HashMap<String, Contact>();
10 private String version = null;
11
12 public Roster(Account account) {
13 this.account = account;
14 }
15
16 public boolean hasContact(String jid) {
17 String cleanJid = jid.split("/")[0];
18 return contacts.containsKey(cleanJid);
19 }
20
21 public Contact getContact(String jid) {
22 String cleanJid = jid.split("/")[0];
23 if (contacts.containsKey(cleanJid)) {
24 return contacts.get(cleanJid);
25 } else {
26 Contact contact = new Contact(cleanJid);
27 contact.setAccount(account);
28 contacts.put(cleanJid, contact);
29 return contact;
30 }
31 }
32
33 public void clearPresences() {
34 // TODO Auto-generated method stub
35
36 }
37
38 public void markAllAsNotInRoster() {
39
40 }
41
42 public List<Contact> getContacts() {
43 return new ArrayList<Contact>(this.contacts.values());
44 }
45
46 public void initContact(Contact contact) {
47 contact.setAccount(account);
48 contact.setOption(Contact.Options.IN_ROSTER);
49 contacts.put(contact.getJid(),contact);
50 }
51
52 public void setVersion(String version) {
53 this.version = version;
54 }
55
56 public String getVersion() {
57 return this.version;
58 }
59
60 public Account getAccount() {
61 return this.account;
62 }
63}