Orbeon Form Model
Last updated
Last updated
UML Class Model
Each instance of OrbeonApplication holds a Dictionary where each key is a "form-name" and each value is an aFormDefinitionRegistry. Each FormDefinitionRegistry has three collections holding [currentVersions] (the latest), [old versions] overwrote definitions and saved definitions (some not published yet).
The following diagram depicts how high performance is achieved. Each FormDefinition has a Dictionary where the key is the "field-name" and each value is anIdexableCollection (RcIdentityBag). Each collection hold all instance values of an individual field.
See:
OrbeonFormInstance>>generateFormFieldValueSet
OrbeonPublishedFormDefinition>>updateFieldInstancesFrom:
The following diagram depicts FormFieldValues inside a FormInstance.
See: AppFieldValueHolder>>processFieldValueCollection: withFieldClass:in: