2012-04-11 12 views
0

JAXBを使用してBeanに設定するString値があります。だから、私はRuntimeTypeInfoSetのインスタンスを持っており、RuntimePropertyInfoを取得し、getAccessorを呼び出してそのプロパティのアクセサを取得できます。問題は、アクセサーが値が既に正しいタイプであることを要求することです。どのように私はそれを変換するのですか?JAXBを使用した値の変換

+0

'RuntimeTypeInfoSet'はJAXB(JSR-222)参照実装に固有です。 JAXB実装を使用してアンマーシャリング操作の外にオブジェクトを移そうとしていますか? –

答えて

1

答えがトランスデューサインスタンスを使用することである。

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); 
} 
関連する問題