Property :: property - Provide property handle
The function returns properties within a complex data type instance (e.g. direction.city, where city is a member of the embedded Address type of direction), as well as paths that include references (mother.father, where mother is a reference to a persons mother). You must not pass path properties or operation paths to the function, i.e. the path must not refer to operations, to selectors, or to iteration operators (mother(0).father is not a valid path).
When referring to transient references you have to take into account that the data source referenced by a transient reference may change during processing. This affects the type of referenced instances as well as the referenced collection or instance.
The handle returned refers to an internally opened system cursor, which might be shared with other handles in the application. In order to get a private copy of the returned property handle, one may call cursorCopy().
In order to create access handles for more complex access path definitions, one may use the open() function or the constructor, which also support operation paths. This allows opening property handles for queries of any complexity.
A property handle refers to a (usually) opened property. Invalid properties may cause an exception.
Implementation details
The function returns the property handle for the property path passed in vSimplePath.
When the property could not be found or when the current property handle is not valid, the function throws an exception. Otherwise it returns the subordinated property.
In order to avoid exceptions, one may check whether the property exists or not by calling TypeDefinition::propertyExist().
// fragment: Property person;
Property children;
if ( property.typeDefinition().propertyExist("children) {
children = person.property("children"); // use system shared cursor
children = cursorCopy(person.property("children")); // create cursor copy
}
// same as: children.open(person,"children");
- vSimplePath
- Simple property path
A simple property path may contain an extent or property name but also a sequence of property names separated by dot. A simple property path must not contain parenthesis or preceding dots.

