aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLyubomir Marinov <lyubomir.marinov@jitsi.org>2012-06-03 20:00:21 +0000
committerLyubomir Marinov <lyubomir.marinov@jitsi.org>2012-06-03 20:00:21 +0000
commit0e3e208d5f3e20be48aeb9625321d804e4e485b9 (patch)
treef2e686817bb543fbe5449641005ceb4a307a8bbc
parentc527dde0d4e4328a0decaf5363e3efa7035fdb83 (diff)
downloadjitsi-0e3e208d5f3e20be48aeb9625321d804e4e485b9.zip
jitsi-0e3e208d5f3e20be48aeb9625321d804e4e485b9.tar.gz
jitsi-0e3e208d5f3e20be48aeb9625321d804e4e485b9.tar.bz2
Converts a few public API methods from "weakly" to "strongly" typed.
-rw-r--r--src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java13
-rw-r--r--src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredAccountInfoIcqImpl.java13
-rw-r--r--src/net/java/sip/communicator/impl/protocol/icq/OperationSetServerStoredContactInfoIcqImpl.java27
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/InfoRetreiver.java13
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/OperationSetServerStoredAccountInfoJabberImpl.java4
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/OperationSetServerStoredContactInfoJabberImpl.java13
-rw-r--r--src/net/java/sip/communicator/impl/protocol/msn/OperationSetServerStoredAccountInfoMsnImpl.java11
-rw-r--r--src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java2
-rw-r--r--src/net/java/sip/communicator/impl/protocol/sip/OperationSetServerStoredAccountInfoSipImpl.java17
-rw-r--r--src/net/java/sip/communicator/service/protocol/OperationSetServerStoredAccountInfo.java4
-rw-r--r--src/net/java/sip/communicator/service/protocol/OperationSetServerStoredContactInfo.java4
-rw-r--r--src/net/java/sip/communicator/service/protocol/ServerStoredDetails.java9
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<GenericDetail> getDetailsAndDescendants(
+ public <T extends GenericDetail> Iterator<T> getDetailsAndDescendants(
String uin,
- Class<? extends GenericDetail> detailClass)
+ Class<T> detailClass)
{
List<GenericDetail> details = getContactDetails(uin);
- List<GenericDetail> result = new LinkedList<GenericDetail>();
+ List<T> result = new LinkedList<T>();
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<GenericDetail> getDetailsAndDescendants(
- Class<? extends GenericDetail> detailClass)
+ public <T extends GenericDetail> Iterator<T> getDetailsAndDescendants(
+ Class<T> detailClass)
{
assertConnected();
if(ImageDetail.class.isAssignableFrom(detailClass))
{
- List<GenericDetail> res = new Vector<GenericDetail>();
+ List<ImageDetail> res = new Vector<ImageDetail>();
+
res.add(getImage());
- return res.iterator();
+
+ @SuppressWarnings("unchecked")
+ Iterator<T> tIt = (Iterator<T>) 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<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);
}
/**
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<GenericDetail> getDetailsAndDescendants(
+ <T extends GenericDetail> Iterator<T> getDetailsAndDescendants(
String uin,
- Class<? extends GenericDetail> detailClass)
+ Class<T> detailClass)
{
List<GenericDetail> details = getContactDetails(uin);
- List<GenericDetail> result = new LinkedList<GenericDetail>();
+ List<T> result = new LinkedList<T>();
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<GenericDetail> getDetailsAndDescendants(
- Class<? extends GenericDetail> detailClass)
+ public <T extends GenericDetail> Iterator<T> getDetailsAndDescendants(
+ Class<T> 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<GenericDetail> getDetailsAndDescendants(
+ public <T extends GenericDetail> Iterator<T> getDetailsAndDescendants(
Contact contact,
- Class<? extends GenericDetail> detailClass)
+ Class<T> detailClass)
{
List<GenericDetail> details
= infoRetreiver.getContactDetails(contact.getAddress());
- List<GenericDetail> result = new LinkedList<GenericDetail>();
+ List<T> result = new LinkedList<T>();
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<GenericDetail> getDetailsAndDescendants(
- Class<? extends GenericDetail> detailClass)
+ public <T extends GenericDetail> Iterator<T> getDetailsAndDescendants(
+ Class<T> detailClass)
{
assertConnected();
List<GenericDetail> details = getContactDetails(uin);
- List<GenericDetail> result = new LinkedList<GenericDetail>();
+ List<T> result = new LinkedList<T>();
Iterator<GenericDetail> 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<ContactGroup> 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<GenericDetail> getDetailsAndDescendants(
- Class<? extends GenericDetail> detailClass)
+ public <T extends GenericDetail> Iterator<T> getDetailsAndDescendants(
+ Class<T> detailClass)
{
- List<GenericDetail> result = new Vector<GenericDetail>();
+ List<T> result = new Vector<T>();
+
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<GenericDetail> getDetailsAndDescendants(
- Class<? extends GenericDetail> detailClass);
+ public <T extends GenericDetail> Iterator<T> getDetailsAndDescendants(
+ Class<T> 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<GenericDetail> getDetailsAndDescendants(
+ public <T extends GenericDetail> Iterator<T> getDetailsAndDescendants(
Contact contact,
- Class<? extends GenericDetail> detailClass);
+ Class<T> 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)
{