source: branches/2.2/jabberit_messenger/java_source/src/nu/fw/jeti/backend/roster/JIDStatusTree.java @ 3102

Revision 3102, 1.6 KB checked in by amuller, 14 years ago (diff)

Ticket #986 - Efetuado merge para o Branch 2.2( atualizacao do modulo)

  • Property svn:executable set to *
Line 
1package nu.fw.jeti.backend.roster;
2
3import java.util.ArrayList;
4import java.util.Collections;
5import java.util.List;
6
7/**
8 * Title:        im
9 * Description:
10 * Copyright:    Copyright (c) 2001
11 * Company:
12 * @author E.S. de Boer
13 * @version 1.0
14 */
15
16public class JIDStatusTree
17{
18        //synchronized because used in event thread & jabberinput thread
19       
20        private List root;
21
22        public JIDStatusTree()
23        {
24                root = new ArrayList(8);
25        }
26
27
28        //get group of maak als hij nog niet bestaat
29        /**
30         * Searches group and returns the found group
31         * or makes a new group if group does not exist
32         * @param group  Group to get
33         * @return JIDStatusGroup
34         */
35        public synchronized JIDStatusGroup getGroup(String group)
36        {
37                int index = root.indexOf(new JIDStatusGroup(group));
38                if(index == -1)
39                {
40                        JIDStatusGroup jidGroup = new JIDStatusGroup(group);
41                        root.add(jidGroup);
42                        Collections.sort(root);
43                        return jidGroup;
44                }
45                return (JIDStatusGroup)root.get(index);
46        }
47
48       
49        public synchronized boolean existGroup(String group)
50        {
51                return (root.indexOf(new JIDStatusGroup(group))!=-1) ;
52        }
53
54        public synchronized void removeGroup(JIDStatusGroup jidGroup)
55        {
56                root.remove(jidGroup);
57        }
58
59        public synchronized String[] getGroups()
60        {
61                String[] groups = new String[root.size()];
62                for(int tel =0; tel<root.size();tel++)
63                {
64                        groups[tel] =((JIDStatusGroup)root.get(tel)).getName();
65                }
66                return groups;
67        }
68
69        public synchronized int indexOfGroup(Object group)
70        {
71            return root.indexOf(group);
72        }
73
74        public synchronized int getSize(){return root.size();}
75
76        public synchronized Object get(int index){return root.get(index);}
77}
78/*
79 * Overrides for emacs
80 * Local variables:
81 * tab-width: 4
82 * End:
83 */
Note: See TracBrowser for help on using the repository browser.