Estoy usando JAXB para el proceso de desmaterialización, para el cual la solicitud proviene de la interfaz de usuario para nuestra clase de servicio. El siguiente es el formato de solicitud XML.Confundido sobre cómo usar JAXB XML Adapter para mis requisitos
<SampleRequest user="testUser" account="testAccount" Specifier= "value1a,value1b,value1c : name2a,value2b,value2c"/>
Mi requisito es que, el atributo especificador tiene múltiples series de valores (: dos puntos separados) i necesidad de asignar cada serie de valores a mi clase Java personalizada
Probé esta manera
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class SampleRequest {
@XmlAttribute
private String user;
@XmlAttribute
private String account;
@XmlAttribute(name="Specifier")
private List<Specifier> specifier;
}
Specifier.java
@XmlJavaTypeAdapter(SpecifierAdapter.class)
public class Specifier {
}
SpecifierAdapter.java
public class SpecifierAdapter extends XmlAdapter{
@Override
public Object marshal(Object arg0) throws Exception {
// TODO Auto-generated method stub
return null;
}
@Override
public Object unmarshal(Object arg0) throws Exception {
// TODO Auto-generated method stub
return null;
}
}
parte Editado
el especificador de clase consta de 3 propiedades de tipo cadena.
class Specifier
{
String value1;
String value2;
String value3;
}
y necesito cada serie de Prescripción por ejemplo (value1a, value1b, value1c) debería correlacionarse con valor1, valor2, valor3 respectivamente
Editado Parte 3
Hola , Gracias por la respuesta, traté de deshacer este ejemplo, lo que encontré es que, estoy obteniendo nulo
Esta es la solicitud pasé
<sampleRequest user="user" account="account" Specifier="v1,v2,v3 : a1,a2,a3"/>
Sólo quiero para asegurarse de que, es mi clase Especificador es correcta o no ?? (Como no usamos ningún Anotaciones aquí)
package com;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
@XmlJavaTypeAdapter(SpecifierAdapter.class)
public class Specifier {
Specifier(String v1 , String v2 , String v3)
{
}
String value1;
public String getValue1() {
return value1;
}
public void setValue1(String value1) {
this.value1 = value1;
}
public String getValue2() {
return value2;
}
public void setValue2(String value2) {
this.value2 = value2;
}
public String getValue3() {
return value3;
}
public void setValue3(String value3) {
this.value3 = value3;
}
String value2;
String value3;
}
¿Cuáles son las propiedades de la clase que especifica y el cómo mapa al atributo Specifier xml? –
Gracias Pangea, he editado mi pregunta para responder a su consulta. por favor mira . – Pawan
He editado mi pregunta (estoy obteniendo un resultado nulo) cuando la desasignación podría dejarme saber si mi clase de especificador es correcta o no? – Pawan