У меня есть следующий класс Java, и я поместил аннотацию XmlJavaAdapter в переменную payerPartyReference.Я хочу, чтобы адаптер PartyReferenceAdapter использовался для демаршалинга ТОЛЬКО этой переменной, а не любых других переменных, имеющих одинаковый тип PartyReference, будь то в этом классе или в каком-то другом классе.Как я могу это сделать?Спасибо за вашу помощь!
public class InitialPayment extends PaymentBase
{
// Want PartyReferenceAdapter to be used here
@XmlJavaTypeAdapter(PartyReferenceAdapter.class)
protected PartyReference payerPartyReference;
//
// Dont want PartyReferenceAdapter to be used here
protected PartyReference receiverPartyReference;
//
protected AccountReference receiverAccountReference;
@XmlSchemaType(name = "date")
protected XMLGregorianCalendar adjustablePaymentDate;
@XmlSchemaType(name = "date")
protected XMLGregorianCalendar adjustedPaymentDate;
protected Money paymentAmount;
}
Мой адаптер определяется следующим образом:
public class PartyReferenceAdapter
extends XmlAdapter < Object, PartyReference > {
public PartyReference unmarshal(Object obj) throws Exception {
Element element = null;
if (obj instanceof Element) {
element = (Element)obj;
String reference_id = element.getAttribute("href");
PartyReference pr = new PartyReference();
pr.setHref(reference_id);
return pr;
}
public Object marshal(PartyReference arg0) throws Exception {
return null;
}
}