sabakka> Ситуация
А в чем проблема? Вызовы уродские, а так - нормально. У меня сплошь и рядом такое бывает:
code java
out.append(
StringUtils.toString(
table.joins(),
", ",
new TypeConvertor<JoinedField, String>(){
public String getValue
(JoinedField field
) {
return "index"+field.getKey();
}
},
new Filter<JoinedField>(){
public boolean include(JoinedField attr) {
return attr.isCached();
}
}
)
);
toString - это абстрактный итератор, продуцирующий строковое представление списка. Первый параметр - собственно массив, который будет напечатан в список, второе - класс для перевода элементов массива в String ( toString() не работает, потому, что нужны разные адаптеры для разных применений), третий - фильтр, определяет, какие элементы будут включены.
Это совершенно реальный код. Более того, в этом моем модуле (это генератор UI базирующийся на SQL описании таблицы) - такого сплошь и рядом, кучи целые.
Конечно, джавовские конструкции для таких дел не очень хороши, ну да чего поделаешь.