ConversationList.java

 1package de.gultsch.chat;
 2
 3import java.util.ArrayList;
 4import java.util.Collections;
 5import java.util.Comparator;
 6
 7public class ConversationList extends ArrayList<Conversation> {
 8	
 9	private static final long serialVersionUID = 3661496589984289968L;
10	
11	private int selectedConversationPosition = -1;
12	
13	private ConversationCursor cursor = new ConversationCursor(this);
14
15	public ConversationCursor getCursor() {
16		return this.cursor;
17	}
18
19	public Conversation getSelectedConversation() {
20		return this.get(this.selectedConversationPosition);
21	}
22
23	public void setSelectedConversationPosition(int selectedConversation) {
24		this.selectedConversationPosition = selectedConversation;
25	}
26	
27	public void sort() {
28		Conversation selectedConversation = this.get(selectedConversationPosition);
29		//sort this
30		Collections.sort(this, new Comparator<Conversation>() {
31
32			@Override
33			public int compare(Conversation lhs, Conversation rhs) {
34				// TODO Auto-generated method stub
35				return 0;
36			}
37		});
38		
39		this.selectedConversationPosition = this.indexOf(selectedConversation);
40	}
41	
42	public synchronized int addAndReturnPosition(Conversation conversation) {
43		this.add(conversation);
44		return size() - 1;
45	}
46}