Roster.java

 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}