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


Comment savoir si mon objet de données possède une balise ?

Vous pouvez déterminer facilement si des valeurs sont définies au sein d'un objet de données en vérifiant leurs propriétés pour voir si des propriétés ouvertes sont des attributs.

L'objet de données ne possède pas de mécanisme permettant de déterminer si un type d'objet de données comporte des balises. Les objets de données possèdent uniquement le concept "ouvert" qui s'applique à la balise any et à la balise anyAttribute, et qui permet d'ajouter librement des propriétés. Alors que la présence d'une balise implique qu'un objet de données a la valeur isOpen() = vrai et isSequenced() = vrai, il peut comporter uniquement une balise anyAttribute et une des raisons pour lesquelles il est mis en séquence décrite dans la rubrique Séquences. L'exemple suivant explique ces concepts :

	DataObject dobj = ...

	// Vérifiez si le type est "ouvert" ; dans le cas contraire, aucune valeur ne peut être
	// définie pour cet objet de données.
	boolean isOpen = dobj.getType().isOpen();

	si (!isOpen) renvoie la valeur faux ;  // Aucune valeur n'est définie pour cet objet de données

	// Les propriétés ouvertes sont ajoutées à la liste des propriétés de l'instance, mais pas
	// la liste des propriétés. Ainsi, comparer leurs tailles permet de déterminer facilement
	// si des données ouvertes sont définies
	int instancePropertyCount = dobj.getInstanceProperties().size();
	int definedPropertyCount = dobj.getType().getProperties().size();

	// Si elles sont égales, aucun contenu ouvert n'est défini
	si (instancePropertyCount == definedPropertyCount) renvoie la valeur faux ;

	// Vérifiez les propriétés du contenu ouvertes pour déterminer si certaines d'entre elles sont des éléments
	for (int i=definedPropertyCount; i < instancePropertyCount; i++)
	{
	    Property prop = (Property)dobj.getInstanceProperties().get(i);
	    si (boXsdHelper.isElement(prop))
	    {
	        renvoie la valeur vrai ;  // Une valeur any a été trouvée
	    }
	}

	renvoie la valeur faux ;  // Aucune valeur n'est définie

concept Rubrique concept

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/cbo_howdataobjtag.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).