public static <T> List<ViewContact> resolveContacts(AbstractA<T> contributor,
IFilteringContext filteringContext, IDetailsFilter detailsFilter) {
List<ViewContact> contacts = new LinkedList<ViewContact>();
for (YAttribute contact : contributor.getAttributes()) {
if (attributeHasOneOfKeys(contact, YConstants.AT_CONTACT_TYPE_EMAIL, YConstants.AT_CONTACT_EMAIL)) {
ViewContact viewContact = new ViewContact(
YConstants.AT_CONTACT_EMAIL, detailsFilter.filter(
contact.getValue(), InputType.RICH_TEXT,
filteringContext));
contacts.add(viewContact);
} else if (attributeHasOneOfKeys(contact, YConstants.AT_CONTACT_TYPE_WWW, YConstants.AT_CONTACT_URL)) {
ViewContact viewContact = new ViewContact(
YConstants.AT_CONTACT_URL, detailsFilter.filter(
contact.getValue(), InputType.RICH_TEXT,
filteringContext));
contacts.add(viewContact);
} else if (attributeHasOneOfKeys(contact, YConstants.AT_CONTACT_TYPE_PHONE, YConstants.AT_CONTACT_PHONE)) {
ViewContact viewContact = new ViewContact(
YConstants.AT_CONTACT_PHONE, detailsFilter.filter(
contact.getValue(), InputType.RICH_TEXT,
filteringContext));
contacts.add(viewContact);
}
}
return contacts;
}