Qu'est-ce que le ObjectFactory rôle au cours de JAXB-Unmarshalling?
Je suis en utilisant JAXB 2.2.2 pour analyser un simple XML RESTE de flux. C'est le morceau de code:
JAXBContext jc = JAXBContext.newInstance( "com.example.entities" );
Unmarshaller u = jc.createUnmarshaller();
r = (Response )u.unmarshal( inputStream );
ObjectFactory classe:
@XmlRegistry
public class ObjectFactory {
public Response createRsp() {
return new Response();
}
}
Classe de réponse:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="rsp")
@XmlType
public class Response { ... }
La "com".exemple.les entités" doit contenir le ObjectFactory de la classe ou de jaxb.index. Je voudrais utiliser le ObjectFactory classe afin de statuer sur certaines pojo l'initialisation, mais ces classe n'est jamais utilisé: la Réponse de la classe est toujours instancié par classe.newInstance() directement.
Est-il quelque chose de mal à cela?
OriginalL'auteur Marco | 2011-04-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez tirer parti de la
@XmlType
annotation pour contrôler la façon dont les objets sont créés:Pour Plus D'Informations
OriginalL'auteur bdoughan
La ObjectFactory classe générée par le XJC compilateur n'est pas utile à la factoryClass et factoryMethod @XmlType annotation, car la factoryMethod doit être statique non-arg méthode et la XJC générer des méthodes d'instance.
OriginalL'auteur mario