diff options
Diffstat (limited to 'src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredContactInfoIcqImpl.java')
-rw-r--r-- | src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredContactInfoIcqImpl.java | 27 |
1 files changed, 15 insertions, 12 deletions
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<GenericDetail> getDetailsAndDescendants( + public <T extends GenericDetail> Iterator<T> getDetailsAndDescendants( Contact contact, - Class<? extends GenericDetail> detailClass) + Class<T> detailClass) { assertConnected(); - if(detailClass.equals(ServerStoredDetails.ImageDetail.class) && - contact.getImage() != null) + if(detailClass.equals(ImageDetail.class) + && (contact.getImage() != null)) { - List<GenericDetail> res = new Vector<GenericDetail>(); - res.add( - new ServerStoredDetails.ImageDetail( - "Image", - contact.getImage())); - return res.iterator(); + List<ImageDetail> res = new Vector<ImageDetail>(); + + res.add(new ImageDetail("Image", contact.getImage())); + + @SuppressWarnings("unchecked") + Iterator<T> tIt = (Iterator<T>) res.iterator(); + + return tIt; } return - infoRetreiver - .getDetailsAndDescendants(contact.getAddress(), detailClass); + infoRetreiver.getDetailsAndDescendants( + contact.getAddress(), + detailClass); } /** |