Express (Distributed operating systems), v8.0 > Secure applications and their environment > Authenticate users > Select a registry or repository > Manage realms in a federated repository > Virtual member manager > Reference > Program model
Context DataObject
Context DataObject is used for storing contextual information.
The virtual member manager client application might need to communicate contextual information with virtual member manager. For example, when creating a Person, the client application may need to specify the realm to create the person under. The realm itself is not part of the person data. Another example is that virtual member manager might need the client application to pass in HTTPServletRequest object to determine the IP address. Context DataObject is used for storing this contextual information.
Because the client application might pass arbitrary data to virtual member manager using keys unknown to virtual member manager, the Context data object supports arbitrary key to object mappings.
The following shows the basic structure of the Context Data Object:
key
is used for specifying the name of a context, for example Realm or APP.HTTPServletRequest.
value
is used for specifying the value of a context. Because value can be a string (like realm) or any arbitrary object (like HTTPServletRequest), the type of the property value is anySimpleType. This property can either be a single value or multi-valued.
XML schema definition
The following is the XML Schema definition for Context DataObject. It contains two properties, key and value.
<xsd:complexType name="Context"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="key" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="1" name="value" type="xsd:anySimpleType"/> </xsd:sequence> </xsd:complexType>
Sample data object
Following is a sample Context DataObject:
<wim:contexts> <wim:key>Realm </wim:key> <wim:value>realmA </wim:value> </wim:contexts>
Parent topic: Program model