В JSF интерфейс Converter
разработан с единственной целью:
Конвертер - это интерфейс, описывающий класс Java, который может выполнять преобразования объектов в строки и строки в объекты между объектами данных модели и строковое представление тех объектов, которые подходят для рендеринга.
...
getAsObject
Преобразование указанного строкового значения, связанного с указанным UIComponent
, в объект данных модели, который подходит для хранения на этапе Применить значения запроса жизненного цикла обработки запроса .
getAsString
Преобразование указанного значения объекта модели, связанного с указанным UIComponent
, в строку, подходящую для включения в ответ, сгенерированный во время фазы Ответ визуализации запроса. жизненный цикл обработки.
Ни в Javadoc, ни в спецификации JSF не говорится о возможности преобразования в цепочку.
Лучше всего решить эту проблему на уровне реализации. Если вы хотите расширить существующий конвертер, вам следует просто сделать это и затем вызывать super
методы, когда это необходимо. Э.Г.
public class SomeExtendedConverter extends SomeBasicConverter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
Object basicConvertedValue = super.getAsObject(context, component, value);
// ... manipulate more ...
return extendedConvertedValue;
}
// ...
}