Xvcl And Dot Notation
CjOS Project @ cjos.sourceforge.net
Index
Bind Pages
Cjos Library
Cjos Pages
Cjos News Pages
Eric Pages
Introduction To Smart Api
Osgi Pages
Registry Api Pages
Smart Api Pages
Xvcl Pages
CjOS Project
Summary Page
Mailing List
Download
CVS
JOS Technical Edition
Support This Project
Xvcl Pages; [ Cjos Audience]

Example

Let's say we have a list of three items: name, city and state.

 <set-multi var="field-item" value="name,city,state"/>

How do we associate properties with each item? We prefer to use familiar dot notation.

Name

To add properties to name, use name.some-property as a variable name.

 <set var="name.type" value="String"/>
 <set var="name.minlength" value="1"/>
 <set var="name.maxlength" value="30"/>

City

To add properties to city, use city.some-property.

 <set var="city.type" value="String"/>
 <set var="city.minlength" value="1"/>
 <set var="city.maxlength" value="30"/>

State

To add properties to state, use state.some-property.

 <set var="state.type" value="String"/>
 <set var="state.minlength" value="2"/>
 <set var="state.maxlength" value="2"/>

Property reference

To evaluate a property, first define a property reference. A reference is the name of a variable, not its value.

 <set var="type-ref" value="?@field-item?.type"/>

To get the value, use two at (@) characters.

 <set var="type" value="?@@type-ref?"/>

Multi-value property

A property can also be a multi-value.

 <set-multi var="year.constraint" value="range"/>

<set var="year.range.minvalue" value="2001"/> <set var="year.range.maxvalue" value="2007"/>

<set var="constraint-ref" value="?@field-list?.contraint"/> <set-multi var="constraint" value="?@@constraint-ref?"/>

<set var="minvalue-ref" value="?@field-item?.?@constraint?.minvalue"/> <set var="minvalue" value="?@@minvalue-ref"/>

<set var="maxvalue-ref" value="?@field-item?.?@constraint?.maxvalue"/> <set var="maxvalue" value="?@@maxvalue-ref"/>

Non-example

The following illustrates how to associate properties without familiar dot notation.

 <set-multi var="field-item" value="name,city,state"/>

<set var="typeOfname" value="String"/> <set var="minlengthOfname" value="1"/> <set var="maxlengthOfname" value="30"/>

<set var="typeOfcity" value="String"/> <set var="minlengthOfcity" value="1"/> <set var="maxlengthOfcity" value="30"/>

<set var="typeOfstate" value="String"/> <set var="minlengthOfstate" value="2"/> <set var="maxlengthOfstate" value="2"/>

<set var="type" value="?@typeOf@field-item?"/> <set var="minlength" value="?@minlengthOf@field-item?"/> <set var="maxlength" value="?@maxlengthOf@field-item?"/>