Revision 3030,
1.7 KB
checked in by amuller, 14 years ago
(diff) |
Ticket #1135 - Aplicando alteracoes para o modulo jabberit_messenger.
|
-
Property svn:executable set to
*
|
Rev | Line | |
---|
[3030] | 1 | package nu.fw.jeti.jabber.elements; |
---|
| 2 | |
---|
| 3 | import java.util.Iterator; |
---|
| 4 | import java.util.LinkedList; |
---|
| 5 | import java.util.NoSuchElementException; |
---|
| 6 | |
---|
| 7 | import nu.fw.jeti.events.CompleteRosterListener; |
---|
| 8 | import nu.fw.jeti.jabber.Backend; |
---|
| 9 | |
---|
| 10 | |
---|
| 11 | |
---|
| 12 | /** |
---|
| 13 | * <p>Title: im</p> |
---|
| 14 | * <p>Description: </p> |
---|
| 15 | * <p>Copyright: Copyright (c) 2001</p> |
---|
| 16 | * <p>Company: </p> |
---|
| 17 | * @author E.S. de Boer |
---|
| 18 | * @version 1.0 |
---|
| 19 | */ |
---|
| 20 | |
---|
| 21 | public class IQXRoster extends Extension implements IQExtension, XExtension |
---|
| 22 | {//iq + x roster |
---|
| 23 | private LinkedList items; |
---|
| 24 | |
---|
| 25 | public IQXRoster(){}//extension tag for get |
---|
| 26 | |
---|
| 27 | public IQXRoster(RosterItem item) |
---|
| 28 | { |
---|
| 29 | items = new LinkedList(); |
---|
| 30 | items.add(item); |
---|
| 31 | } |
---|
| 32 | |
---|
| 33 | public IQXRoster(RosterBuilder rb) |
---|
| 34 | { |
---|
| 35 | items=rb.getItems(); |
---|
| 36 | } |
---|
| 37 | |
---|
| 38 | public Iterator getItems() |
---|
| 39 | { |
---|
| 40 | if (items==null) |
---|
| 41 | { |
---|
| 42 | return new Iterator() |
---|
| 43 | {//empty iterator |
---|
| 44 | public Object next() |
---|
| 45 | { |
---|
| 46 | throw new NoSuchElementException(); |
---|
| 47 | } |
---|
| 48 | public boolean hasNext() |
---|
| 49 | { |
---|
| 50 | return false; |
---|
| 51 | } |
---|
| 52 | public void remove() |
---|
| 53 | { |
---|
| 54 | throw new UnsupportedOperationException(); |
---|
| 55 | } |
---|
| 56 | }; |
---|
| 57 | } |
---|
| 58 | return items.iterator(); |
---|
| 59 | } |
---|
| 60 | |
---|
| 61 | public void execute(InfoQuery iq,Backend backend) |
---|
| 62 | { |
---|
| 63 | for (Iterator j = backend.getListeners(CompleteRosterListener.class); j.hasNext();) |
---|
| 64 | { |
---|
| 65 | ((CompleteRosterListener) j.next()).rosterReceived(iq,this); |
---|
| 66 | } |
---|
| 67 | } |
---|
| 68 | |
---|
| 69 | |
---|
| 70 | public void appendToXML(StringBuffer xml) |
---|
| 71 | {/** @todo x */ |
---|
| 72 | xml.append("<query xmlns=\"jabber:iq:roster\""); |
---|
| 73 | if(items ==null) |
---|
| 74 | { //short cut |
---|
| 75 | xml.append("/>"); |
---|
| 76 | return; |
---|
| 77 | } |
---|
| 78 | xml.append('>'); |
---|
| 79 | for(Iterator i = items.iterator();i.hasNext();) |
---|
| 80 | { |
---|
| 81 | ((RosterItem)i.next()).appendToXML(xml); |
---|
| 82 | } |
---|
| 83 | xml.append("</query>"); |
---|
| 84 | } |
---|
| 85 | } |
---|
| 86 | |
---|
| 87 | |
---|
| 88 | /* |
---|
| 89 | * Overrides for emacs |
---|
| 90 | * Local variables: |
---|
| 91 | * tab-width: 4 |
---|
| 92 | * End: |
---|
| 93 | */ |
---|
Note: See
TracBrowser
for help on using the repository browser.