Special Treatment of Numeric and Boolean Null Values

If you enable null values to be output to XML (see Enabling Null Property Values to Appear When Serializing Concepts to XML), then you may also want to configure additional properties for defining how to treat null values for numeric types and Booleans, as explained in this section.

TIBCO BusinessEvents does not implicitly support null values for numeric types and Booleans. This can lead to interoperability issues when working with external sources, such as databases, which do permit blank (null) values.

To address such issues, you can enable special treatment of numeric null values at design time. At runtime, TIBCO BusinessEvents then uses a special numeric value for each numeric datatype, and (by default) Boolean:FALSE for Booleans, to represent a null value. Default special values are provided and you can override the defaults at runtime (see Properties for Null Property Handling).

The special numeric values that indicate null are used in TIBCO BusinessEvents when serializing and deserializing a concept to and from its XML representation, and when performing various operations on database concepts and the database tables to which they are linked.

The special values that indicate null appear only in TIBCO BusinessEvents. The appropriate null value is used in the XML or database representation of the concept property.

Conversely, when deserializing or importing a concept instance, TIBCO BusinessEvents represents null values in the source using these special values that indicate null in the concept instance.

To enable special treatment of numeric null values, set the following property in studio.tra:

tibco.be.schema.treat.null.values=true

At runtime you can override the default values that indicate null. See Setting Runtime Properties for Special Treatment of Null Values.

Summary

Set the following properties in BE_HOME/studio/eclipse/configuration/studio.tra as desired:

  • To enable null property values to appear when serializing concepts to XML, add the following property and set it to false:
    tibco.be.schema.exclude.null.props=false
  • To enable use of the nillable attribute in the concept XSD, add the following property and set it to true:
    tibco.be.schema.nil.attribs=true
  • To enable special handling of null properties, add the following property and set it to true:
       tibco.be.schema.treat.null.values=true