среда, января 09, 2013

Как установить произвольный формат даты-времени при использовани JAXB

Аннотируем пакет, в котором размещаются отображаемые классы: создаём package-info.java с таким содержимым:


@XmlJavaTypeAdapter(value=DateFormatterAdapter.class,type=Date.class)
package messagesendapp.domain;

import java.util.Date;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

Создаём сам адаптер:


public class DateFormatterAdapter extends XmlAdapter {
    
    private SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss Z");

    @Override
    public Date unmarshal(String v) throws Exception {
        return sdf.parse(v);
    }

    @Override
    public String marshal(Date v) throws Exception {
        return sdf.format(v);
    }    
}

Готово.


Комментариев нет: