From 0e3e208d5f3e20be48aeb9625321d804e4e485b9 Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Sun, 3 Jun 2012 20:00:21 +0000 Subject: Converts a few public API methods from "weakly" to "strongly" typed. --- .../impl/protocol/icq/InfoRetreiver.java | 13 +++++++---- ...OperationSetServerStoredAccountInfoIcqImpl.java | 13 +++++++---- ...OperationSetServerStoredContactInfoIcqImpl.java | 27 ++++++++++++---------- .../impl/protocol/jabber/InfoRetreiver.java | 13 +++++++---- ...rationSetServerStoredAccountInfoJabberImpl.java | 4 ++-- ...rationSetServerStoredContactInfoJabberImpl.java | 13 +++++++---- ...OperationSetServerStoredAccountInfoMsnImpl.java | 11 +++++---- .../impl/protocol/sip/ContactGroupSipImpl.java | 2 +- ...OperationSetServerStoredAccountInfoSipImpl.java | 17 ++++++++++---- .../OperationSetServerStoredAccountInfo.java | 4 ++-- .../OperationSetServerStoredContactInfo.java | 4 ++-- .../service/protocol/ServerStoredDetails.java | 9 ++++++-- 12 files changed, 84 insertions(+), 46 deletions(-) diff --git a/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java b/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java index 8e25d29..f4da152 100644 --- a/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java +++ b/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java @@ -66,16 +66,21 @@ public class InfoRetreiver * @param detailClass Class * @return Iterator */ - public Iterator getDetailsAndDescendants( + public Iterator getDetailsAndDescendants( String uin, - Class detailClass) + Class detailClass) { List details = getContactDetails(uin); - List result = new LinkedList(); + List result = new LinkedList(); for (GenericDetail item : details) if (detailClass.isInstance(item)) - result.add(item); + { + @SuppressWarnings("unchecked") + T t = (T) item; + + result.add(t); + } return result.iterator(); } diff --git a/src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredAccountInfoIcqImpl.java b/src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredAccountInfoIcqImpl.java index 4fd387a..8391181 100644 --- a/src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredAccountInfoIcqImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredAccountInfoIcqImpl.java @@ -161,16 +161,21 @@ public class OperationSetServerStoredAccountInfoIcqImpl * @return a java.util.Iterator over all details that are instances or * descendants of the specified class. */ - public Iterator getDetailsAndDescendants( - Class detailClass) + public Iterator getDetailsAndDescendants( + Class detailClass) { assertConnected(); if(ImageDetail.class.isAssignableFrom(detailClass)) { - List res = new Vector(); + List res = new Vector(); + res.add(getImage()); - return res.iterator(); + + @SuppressWarnings("unchecked") + Iterator tIt = (Iterator) res.iterator(); + + return tIt; } return infoRetreiver.getDetailsAndDescendants(uin, detailClass); diff --git a/src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredContactInfoIcqImpl.java b/src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredContactInfoIcqImpl.java index 987a9b9..5525508 100644 --- a/src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredContactInfoIcqImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredContactInfoIcqImpl.java @@ -55,25 +55,28 @@ public class OperationSetServerStoredContactInfoIcqImpl * @param detailClass Class * @return Iterator */ - public Iterator getDetailsAndDescendants( + public Iterator getDetailsAndDescendants( Contact contact, - Class detailClass) + Class detailClass) { assertConnected(); - if(detailClass.equals(ServerStoredDetails.ImageDetail.class) && - contact.getImage() != null) + if(detailClass.equals(ImageDetail.class) + && (contact.getImage() != null)) { - List res = new Vector(); - res.add( - new ServerStoredDetails.ImageDetail( - "Image", - contact.getImage())); - return res.iterator(); + List res = new Vector(); + + res.add(new ImageDetail("Image", contact.getImage())); + + @SuppressWarnings("unchecked") + Iterator tIt = (Iterator) res.iterator(); + + return tIt; } return - infoRetreiver - .getDetailsAndDescendants(contact.getAddress(), detailClass); + infoRetreiver.getDetailsAndDescendants( + contact.getAddress(), + detailClass); } /** diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/InfoRetreiver.java b/src/net/java/sip/communicator/impl/protocol/jabber/InfoRetreiver.java index ad202ea..a5161bf 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/InfoRetreiver.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/InfoRetreiver.java @@ -72,16 +72,21 @@ public class InfoRetreiver * @param detailClass Class * @return Iterator */ - Iterator getDetailsAndDescendants( + Iterator getDetailsAndDescendants( String uin, - Class detailClass) + Class detailClass) { List details = getContactDetails(uin); - List result = new LinkedList(); + List result = new LinkedList(); for (GenericDetail item : details) if(detailClass.isInstance(item)) - result.add(item); + { + @SuppressWarnings("unchecked") + T t = (T) item; + + result.add(t); + } return result.iterator(); } diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetServerStoredAccountInfoJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetServerStoredAccountInfoJabberImpl.java index 8a5f91b..642e172 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetServerStoredAccountInfoJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetServerStoredAccountInfoJabberImpl.java @@ -60,8 +60,8 @@ public class OperationSetServerStoredAccountInfoJabberImpl * @return a java.util.Iterator over all details that are instances or * descendants of the specified class. */ - public Iterator getDetailsAndDescendants( - Class detailClass) + public Iterator getDetailsAndDescendants( + Class detailClass) { assertConnected(); diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetServerStoredContactInfoJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetServerStoredContactInfoJabberImpl.java index 8d7a556..8eac3b3 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetServerStoredContactInfoJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetServerStoredContactInfoJabberImpl.java @@ -50,20 +50,25 @@ public class OperationSetServerStoredContactInfoJabberImpl * @param detailClass Class * @return Iterator */ - public Iterator getDetailsAndDescendants( + public Iterator getDetailsAndDescendants( Contact contact, - Class detailClass) + Class detailClass) { List details = infoRetreiver.getContactDetails(contact.getAddress()); - List result = new LinkedList(); + List result = new LinkedList(); if(details == null) return result.iterator(); for (GenericDetail item : details) if(detailClass.isInstance(item)) - result.add(item); + { + @SuppressWarnings("unchecked") + T t = (T) item; + + result.add(t); + } return result.iterator(); } diff --git a/src/net/java/sip/communicator/impl/protocol/msn/OperationSetServerStoredAccountInfoMsnImpl.java b/src/net/java/sip/communicator/impl/protocol/msn/OperationSetServerStoredAccountInfoMsnImpl.java index 00729af..14f6608 100644 --- a/src/net/java/sip/communicator/impl/protocol/msn/OperationSetServerStoredAccountInfoMsnImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/msn/OperationSetServerStoredAccountInfoMsnImpl.java @@ -81,13 +81,13 @@ public class OperationSetServerStoredAccountInfoMsnImpl * @return a java.util.Iterator over all details that are instances or * descendants of the specified class. */ - public Iterator getDetailsAndDescendants( - Class detailClass) + public Iterator getDetailsAndDescendants( + Class detailClass) { assertConnected(); List details = getContactDetails(uin); - List result = new LinkedList(); + List result = new LinkedList(); Iterator iter = details.iterator(); while (iter.hasNext()) @@ -95,7 +95,10 @@ public class OperationSetServerStoredAccountInfoMsnImpl GenericDetail item = iter.next(); if (detailClass.isInstance(item)) { - result.add(item); + @SuppressWarnings("unchecked") + T t = (T) item; + + result.add(t); } } diff --git a/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java index 0ecbe39..b0fcced 100644 --- a/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java @@ -416,7 +416,7 @@ public class ContactGroupSipImpl return mContact; } - //if we didn't find it here, let's try in the subougroups + //if we didn't find it here, let's try in the subgroups Iterator groupsIter = subgroups(); while( groupsIter.hasNext() ) diff --git a/src/net/java/sip/communicator/impl/protocol/sip/OperationSetServerStoredAccountInfoSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/OperationSetServerStoredAccountInfoSipImpl.java index 46df6fd..d574c1e 100644 --- a/src/net/java/sip/communicator/impl/protocol/sip/OperationSetServerStoredAccountInfoSipImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/sip/OperationSetServerStoredAccountInfoSipImpl.java @@ -69,23 +69,30 @@ public class OperationSetServerStoredAccountInfoSipImpl * @return a java.util.Iterator over all details that are instances or * descendants of the specified class. */ - public Iterator getDetailsAndDescendants( - Class detailClass) + public Iterator getDetailsAndDescendants( + Class detailClass) { - List result = new Vector(); + List result = new Vector(); + if (ImageDetail.class.isAssignableFrom(detailClass) && isImageDetailSupported()) { ImageDetail imageDetail = getAccountImage(); if (imageDetail != null) { - result.add(getAccountImage()); + @SuppressWarnings("unchecked") + T t = (T) getAccountImage(); + + result.add(t); } } else if(DisplayNameDetail.class.isAssignableFrom(detailClass) && displayNameDetail != null) { - result.add(displayNameDetail); + @SuppressWarnings("unchecked") + T t = (T) displayNameDetail; + + result.add(t); } return result.iterator(); diff --git a/src/net/java/sip/communicator/service/protocol/OperationSetServerStoredAccountInfo.java b/src/net/java/sip/communicator/service/protocol/OperationSetServerStoredAccountInfo.java index 40b4755..73b9eed 100644 --- a/src/net/java/sip/communicator/service/protocol/OperationSetServerStoredAccountInfo.java +++ b/src/net/java/sip/communicator/service/protocol/OperationSetServerStoredAccountInfo.java @@ -60,8 +60,8 @@ public interface OperationSetServerStoredAccountInfo * @return a java.util.Iterator over all details that are instances or * descendants of the specified class. */ - public Iterator getDetailsAndDescendants( - Class detailClass); + public Iterator getDetailsAndDescendants( + Class detailClass); /** * Returns an iterator over all details that are instances of exactly the diff --git a/src/net/java/sip/communicator/service/protocol/OperationSetServerStoredContactInfo.java b/src/net/java/sip/communicator/service/protocol/OperationSetServerStoredContactInfo.java index d81d33c..f890e48 100644 --- a/src/net/java/sip/communicator/service/protocol/OperationSetServerStoredContactInfo.java +++ b/src/net/java/sip/communicator/service/protocol/OperationSetServerStoredContactInfo.java @@ -48,9 +48,9 @@ public interface OperationSetServerStoredContactInfo * @return a java.util.Iterator over all details that are instances or * descendants of the specified class. */ - public Iterator getDetailsAndDescendants( + public Iterator getDetailsAndDescendants( Contact contact, - Class detailClass); + Class detailClass); /** * Returns an iterator over all details that are instances of exactly the diff --git a/src/net/java/sip/communicator/service/protocol/ServerStoredDetails.java b/src/net/java/sip/communicator/service/protocol/ServerStoredDetails.java index 68f4899..3433923 100644 --- a/src/net/java/sip/communicator/service/protocol/ServerStoredDetails.java +++ b/src/net/java/sip/communicator/service/protocol/ServerStoredDetails.java @@ -640,7 +640,12 @@ public class ServerStoredDetails { public EmailAddressDetail(String value) { - super("e-mail", value); + this("e-mail", value); + } + + protected EmailAddressDetail(String detailDisplayName, String value) + { + super(detailDisplayName, value); } public String getEMailAddress() @@ -652,7 +657,7 @@ public class ServerStoredDetails /** * Represents a (personal) email address. */ - public static class WorkEmailAddressDetail extends StringDetail + public static class WorkEmailAddressDetail extends EmailAddressDetail { public WorkEmailAddressDetail(String value) { -- cgit v1.1