Java Castor с использованием пользовательских обработчиков полей - PullRequest
3 голосов
/ 08 марта 2009

Я пытался написать обработчик настраиваемого поля, который возвращает хэш-код объекта java.awt.Image при записи в XML и извлекает изображение на основе этого хеш-кода при привязке XML к объекту. По какой-то причине я не могу заставить это работать; Кастор, насколько я могу судить, просто создает экземпляр обработчика поля и затем не вызывает ни один из его методов.

Можете ли вы дать мне быстрый пример того, как это сделать, потому что я, должно быть, упускаю что-то простое!

Приветствия

Пит

1 Ответ

1 голос
/ 17 октября 2011

Вставка вашего кода может быть хорошей идеей. В любом случае у меня нормально работает следующее

<m:class name="someClass">
        <m:map-to xml="class"/>
        <m:field name="lineColor" type="java.awt.Color"  handler="ColorFieldHandler">
            <m:bind-xml name="lineColor" node="attribute"/>
        </m:field>
    </m:class>

И сам обработчик

public class ColorFieldHandler extends GeneralizedFieldHandler {
    public Object convertUponGet(Object value) {
        if (value == null) {
            return null;
        }
        Integer colorHash = (Integer) value;
    ...

Надеюсь, что поможет

...