JAXBでジャージーがどのように機能するのか理解し始めます。ジャージーマーシャルマップ<Date,List>
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class MyClass{
@XmlJavaTypeAdapter(MapAdapter.class)
private Map<Date,List<MyObject>> = new TreeMap<Date,List<MyObject>>(new DateCompareDesc());
}
ここでの目標は、エントリMyObjectに、その対応するリストと日付で地図マーシャルにある。しかし、今日、私はマーシャルに(日付、リスト)のエントリの地図をしたい特定のケースに直面していました。マップは降順でソートされます。
これはMap for Adapter(MapAdapter、@Blaise Doughanのチュートリアルhttp://blog.bdoughan.com/2010/07/xmladapter-jaxbs-secret-weapon.htmlに準拠)を実装したものです。問題はDateキーにあります。私はエラーがあります:java.util.Dateを整列することができません。ジャージーは私のTreeMapのキーとして日付をmarhsallことができるように、私は@XmlJavaTypeAdapter(DateAdapter.class)を追加することができます
public class DateAdapter extends XmlAdapter<String, Date> {
@Override
public Date unmarshal(String v) throws Exception {
//not implemented
}
@Override
public String marshal(Date v) throws Exception {
return v.toString();
}
}
:だから私は、この新しい日付のアダプタを試してみましたか?
ありがとうございました。
こんにちはBlaise、ご返信ありがとうございます。私の場合、私は地図を持っています。日付とリストは、適切な注釈を追加できる別のクラスからのものではありません。それで、その地図にAdapthに日付とリストを注釈することはできませんか? –
Lahniep
@Lahniep - マップのデフォルト表現を使用していますか?また、あなたの日付情報はどのようにフォーマットされていますか? –
はい、それはTreeMapであり、日付はSimpleDateFormat( "yyyy-MM-dd HH:mm:ss")で形式化されます – Lahniep