0
JAXBを使用してBeanに設定するString値があります。だから、私はRuntimeTypeInfoSetのインスタンスを持っており、RuntimePropertyInfoを取得し、getAccessorを呼び出してそのプロパティのアクセサを取得できます。問題は、アクセサーが値が既に正しいタイプであることを要求することです。どのように私はそれを変換するのですか?JAXBを使用した値の変換
JAXBを使用してBeanに設定するString値があります。だから、私はRuntimeTypeInfoSetのインスタンスを持っており、RuntimePropertyInfoを取得し、getAccessorを呼び出してそのプロパティのアクセサを取得できます。問題は、アクセサーが値が既に正しいタイプであることを要求することです。どのように私はそれを変換するのですか?JAXBを使用した値の変換
答えがトランスデューサインスタンスを使用することである。
switch (property.kind()) {
case VALUE:
case ATTRIBUTE:
transducer = ((RuntimeNonElementRef) property).getTransducer();
break;
case ELEMENT:
transducer = ((RuntimeElementPropertyInfo) property).getTypes().get(0).getTransducer();
break;
case REFERENCE:
case MAP:
default:
throw new UnsupportedOperationException("Don't know how to handle property kind " + property.kind() + " for " + property);
}
'RuntimeTypeInfoSet'はJAXB(JSR-222)参照実装に固有です。 JAXB実装を使用してアンマーシャリング操作の外にオブジェクトを移そうとしていますか? –