public static String concatDesc( final EObject listOwner, final EList<Description> list, final String filterString, final String separationString) { if (filterString == null) { throw new NullPointerException("language must not be null"); // $NON-NLS-1$ } String retString = ""; // $NON-NLS-1$ for (final Description obj : list) { if (obj != null && passesFilter(filterString.length() == 0 ? null : filterString, obj)) { FeatureMap contents = obj.getAny(); Object object = getDescriptionValues(contents); if (object instanceof String) { retString += (String) object; } else if (object instanceof Collection) { Iterator<Object> it = ((Collection) object).iterator(); while (it.hasNext()) { Object next = it.next(); if (next instanceof String) { retString += (String) next; } } } } } return retString; }
private static boolean passesFilter(final String expectedLang, final Description langOwner) { final Object lang = langOwner.getLang(); return ((expectedLang == null && lang == null) || (expectedLang != null && expectedLang.equals(lang))); }