[#BloombergLP-balxml-Decoder_NillableContext]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balxml.adoc[balxml]::Decoder&lowbar;NillableContext
:relfileprefix: ../../
:mrdocs:

COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;

== Synopsis

Declared in `&lt;balxml&lowbar;decoder&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class Decoder&lowbar;NillableContext
    : public xref:BloombergLP/balxml/Decoder_ElementContext.adoc[Decoder&lowbar;ElementContext]
----

== Description

Context for elements that have `bdlat&lowbar;FormattingMode&colon;&colon;e&lowbar;NILLABLE`&period; It acts as a proxy and forwards all callbacks to the held `d&lowbar;elementContext&lowbar;p`&period; If `endElement` is called directly after `startElement`, then the `isNil()` accessor will return true&period;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/balxml/Decoder_ElementContext.adoc[Decoder&lowbar;ElementContext]`
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
|===

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balxml/Decoder_NillableContext/2constructor.adoc[`Decoder&lowbar;NillableContext`]         [.small]#[constructor]#
| Create a nillable&hyphen;element parsing context&period;
| xref:BloombergLP/balxml/Decoder_NillableContext/2destructor.adoc[`&#126;Decoder&lowbar;NillableContext`] [.small]#[destructor]# [.small]#[virtual]#
| Destroy this object&period;
| xref:BloombergLP/balxml/Decoder_NillableContext/addCharacters.adoc[`addCharacters`]  [.small]#[virtual]#
| Process the specified character data while decoding&period;
| xref:BloombergLP/balxml/Decoder_ElementContext/beginParse.adoc[`beginParse`] 
| Invoked when the decoder begins parsing&period;
| xref:BloombergLP/balxml/Decoder_NillableContext/endElement.adoc[`endElement`]  [.small]#[virtual]#
| Invoked when the decoder finishes parsing an element&period;
| xref:BloombergLP/balxml/Decoder_NillableContext/isNil.adoc[`isNil`] 
| Return `true` if the element is nil&period;
| xref:BloombergLP/balxml/Decoder_NillableContext/parseAttribute.adoc[`parseAttribute`]  [.small]#[virtual]#
| Invoked when the decoder encounters an attribute&period;
| xref:BloombergLP/balxml/Decoder_NillableContext/parseSubElement.adoc[`parseSubElement`]  [.small]#[virtual]#
| Invoked when the decoder encounters a sub&hyphen;element&period;
| xref:BloombergLP/balxml/Decoder_NillableContext/setElementContext.adoc[`setElementContext`] 
| Set the element context to the specified `elementContext`&period;
| xref:BloombergLP/balxml/Decoder_NillableContext/startElement.adoc[`startElement`]  [.small]#[virtual]#
| Invoked when the decoder begins parsing an element&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
