Freie ICQ Implementierungen gibt es mittlerweile einige, jedoch kaum welche in Java. Ein Vertreter ist jClaim, neben einer Bibliothek zum Erstellen einer eigenen Anwendung bietet jClaim auch einen fertigen Client, der direkt über Webstart gestartet werden kann. Ein simpler Client ist schnell realisiert:
01 package messaging;
02
03 import com.itbs.aimcer.commune.joscar.ICQConnection;
04 import com.itbs.util.GeneralUtils;
05 import controller.MessengerGroupFactory;
06 import controller.MessengerContactFactory;
07 import controller.LogEventHandler;
08
09 public class JavaICQ {
10
11 public static void main(String[] args) throws Exception {
12 try {
13 ICQConnection conn = new ICQConnection();
14 conn.assignGroupFactory(new MessengerGroupFactory());
15 conn.assignContactFactory(new MessengerContactFactory());
16 conn.setUserName("icqnumber");
17 conn.setPassword("icqpass");
18 conn.addEventListener(new LogEventHandler());
19 conn.connect();
20 while (true) {
21 GeneralUtils.sleep(60 * 60 * 1000);
22 }
23 } catch (Exception e) {
24 throw new RuntimeException(e);
25 }
26 }
27
28 }
Statt des LogEventHandlers kann auch der BotEventHandler, der standardmäßig in der Bilbliothek enthalten ist, verwendet werden.
Bei der Einfachheit dieser Implementierung bleibt es aber auch, so ist es z.B. mit der Bibliothek derzeit nur möglich vom Online Status auf den Away Status zu schalten. Die umfangreichen Funktionen, die der offizielle ICQ Client bietet, sind mit jClaim leider nicht zugänglich.