WebSphere Enterprise Service Bus, Version 6.2.0 Systèmes d'exploitation: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


Instance unique d'un objet métier imbriqué

La fonction setWithCreate permet de créer une instance unique d'un objet métier imbriqué.

Avant de commencer

L'exemple suivant montre comment vous devriez normalement créer du code pour un objet intermédiaire (enfant) à partir d'un objet de niveau plus élevé (parent) afin de créer un objet de troisième niveau (grand-enfant). Le fichier XSD aurait la forme suivante :
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <xsd:complexType name="Parent">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string"/>
      <xsd:element name="child" type="Child"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Child">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string"/>
      <xsd:element name="grandChild" type="GrandChild"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="GrandChild">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  
</xsd:schema>

Pourquoi et quand exécuter cette tâche

Si vous utilisiez la méthode traditionnelle "descendante" pour définir les données d'objet métier, il vous faudrait traiter le code suivant précisant les objets enfant et grand-enfant avant de définir les données dans l'objet grand-enfant :
DataObject parent = ...
DataObject child = parent.createDataObject("child");
DataObject grandchild = child.createDataObject("grandChild");
grandchild.setString("name", "Bob");
Il existe une méthode plus efficace qui consiste à utiliser la fonction setWithCreate. Celle-ci permet en effet de définir simultanément l'objet grand-enfant et ses données, sans avoir à préciser l'objet enfant intermédiaire. L'exemple de code suivant indique comment accomplir cette tâche :
DataObject parent = ...
parent.setString("child/grandchild/name", "Bob");

Résultats

L'objet métier de niveau inférieur est définir sans avoir à définir l'objet métier de niveau intermédiaire. Une exception est émise toutefois si le chemin est incorrect.


task Rubrique relative à une tâche

Conditions d'utilisation | Commentaires en retour


Icône d'horodatage Dernière mise à jour: 07 juillet 2010


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/doc/cpro_singleinstance.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
Ce centre d'information est mis en service par la technologie Eclipse (http://www.eclipse.org).